Frage von perhp, 74

Javascript über mehrere verschiedene tabs benutzen?

Hallo, weiß nicht ob das überhaupt möglich ist, vielleicht hat ja jemand von euch eine Idee wie ich das machen könnte.

Ich möchte im Browser ein Lesezeichen machen, der mir beim Klick den Quellcode der aktuellen Seite ausliest, anschließend einen neuen tab öffnet mit einer anderen URL und den Quellcode von der anderen Seite dort einfügt bei einem Element.

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von tDoni, 45

Das klingt schwer nach einem Browser-AddOn.

Damit sind Seitenübergreifende Scripte möglich.

Kommentar von perhp ,

Hast du zufällig irgendwelche Links, wie ich sowas machen kann? Sobald ich mit Javascript ein neuen Tab geöffnet habe, muss ich irgendwie noch weiteren Javascript-Code ausführen können für diesen neuen Tab.

Kommentar von tDoni ,

Erkläre ersteinmal, was du genau vorhast und wieso du das machst.

Kommentar von perhp ,

Ich möchte quasi von einem XHR-Request den Quellcode auslesen (dieser ist dann meistens total falsch formatiert), den Inhalt dieses Quellcode soll er in einem JSON Online Formatter einfügen und mir das Ganze schön formatiert anzeigen

Kommentar von perhp ,

Danke für die Hilfe, ich schau mir das mal am Wochenende an. Ich brauch es eigentlich nur für Chrome, die anderen Browser sind mir egal.

Kommentar von perhp ,

Hallo habe jetzt mal dort drübergeschaut und hätte ein paar Fragen...

Ich erstelle ja mit chrome.tabs.create einen neuen Tab, wie kann ich dort aber nachher dann noch meinen JS-Code ausführen?

Ist es auch möglich von einer URL den Source-Code zu bekommen, ohne dass ich den Fehler cross-origin bekomme?

Kommentar von tDoni ,

Ist schon lange her, dass ich zuletzt ein Browser Plugin geschrieben habe.. Schau dir das mal an: https://developer.chrome.com/extensions/messaging

Ich würde 2 Scripte bauen. Eines welches den aktuellen Tab nimmt und dessen HTML ausliest und zwischenspeichert. Dann den neuen Tab öffnet.

Dort ein zweites einschleusen, welches (bei onload, onready o.ä.) das zwischengespeicherte HTML abholt und die Felder für dich ausfüllt. Evtl sogar abschickt.

Antwort
von Dory1, 25

https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage

Sollte theoretisch funktionieren. Der einzige Haken ist, dass du die Seite, an die du den Quellcode sendest selbst einrichten musst, damit die Nachricht aus dem anderen Fenster entgegengenommen werden kann. Sprich du müsstest ein Script schreiben, dass dort die Nachricht empfängt, den Code in das Element einfügt etc.

Kommentar von Dory1 ,

Wenn du den Code in eine "fremde" Website einfügen möchtest, müsstest du wohl auf Skripting-Software wie AutoIt zurückgreifen.

Antwort
von GoodRiddance, 41

Geht auch mit nativem JavaScript. Klingt für mich aber nach Script-Kiddy, daher keine weiteren Informationen dazu. Hinweis: Viele Browser verhindern dies inzwischen. 

Kommentar von perhp ,

Nein, ich bin kein Script-Kiddy. Ich möchte mir nur drei Schritte erleichtern durch einen Klick, da ich das ziemlich oft benötige.

Ich möchte quasi von einem XHR-Request den Quellcode auslesen (dieser ist dann meistens total falsch formatiert), den Inhalt dieses Quellcodes soll er in einem json online formatter übertragen und mir das Ganze dann richtig formatieren

Kommentar von Dory1 ,

Wenn's dir nur darum geht, verwendest du Chrome? Das Developer-Tool formatiert XHR-Responses automatisch: http://i.stack.imgur.com/Re81g.png

Kommentar von perhp ,

Eben ist das nicht bei allen XHR-Request der Fall, da bei manchen der mitgesendete Header falsch ist und zudem möchte ich eine schönere Formatierung.

Antwort
von T1Mde, 45

Mit Cookies

Kommentar von perhp ,

Hallo, danke für die Antwort. Damit könnte ich zwar die Informationen speichern, wie will ich dort aber nun in einem neuen geöffneten Tab den Javascript-Code ausführen?

Keine passende Antwort gefunden?

Fragen Sie die Community