JavaScript Tabübegreifend?

02/09/2013 13:35 Synatex#1
Hi,
ich hab standardmäßig eine Webseite offen in der ich ein Formular hab mit einem Webkit Speech Input. Dieses reagiert beim Input auf die Eingabe, setzt einen AJAX-Request ab welcher wiederrum bei nem Gateway aufschlägt das je nach Eingabe das dementsprechende Programm auf dem PC startet.

Ich habe nun etwas in Google gesucht ob es dementsprechende Brücken gibt. Das einzige was mir dabei jetzt in den Weg gelaufen ist, ist eine Google Chrome Extension.

Weiß einer zufällig ob es sonst noch eine Möglichkeit gibt sowas "Tabübergreifend" zu machen?
02/09/2013 15:50 Muddy Waters#2
Ich verstehe ehrlich gesagt noch nicht so ganz genau, was du bezwecken willst bzw. was genau denn nun per JS fensterübergreifend laufen soll.

Darum antworte ich mal ganz allgemein:
Generell sind fensterübergreifende Aktionen per JS nicht ganz einfach, sofern du keine Referenz zu dem window hast, mit dem du interagieren willst. Diese hast du aber eigentlich nur in dem Fall, dass du das Fenster per JS aus deinem ersten Fenster aus öffnest, also die Methode window.open() einsetzt.

Tust du das nicht, fiele mir pauschal nur eine Umsetzung per localStorage ein, genauer gesagt über das dazugehörige Storage Event. Dieses wird im Falle einer Änderung eines Wertes einer localStorage Variable abgefeuert und zwar in allen Fenstern, außer demjenigen, welches localStorage.setItem() aufgerufen hat und somit die Änderung des Wertes der Variablen ausgelöst hat. Da localStorage aber domaingebunden ist, ist diese Lösung auch nur eingeschränt geeignet.
02/09/2013 15:54 Synatex#3
Hi,

hier dann noch einmal die komplette Beschreibung:

Was habe ich bis jetzt?
-> Input-Feld mit Spracheingabe welcher, wenn etwas gesprochen wurde, einen AJAX Request sendet und das dementsprechende Programm durch PHP startet (über system()).
-> Wenn ich F9 drücke innerhalb des Fensters, wird automatisch die Spracheingabe aktiviert.

Was sollte nun gemacht werden?
Wenn ich dieses F9, egal in welchem Tab ich mich befinde drücke, sollte halt dieser besagte Request stattfinden. Die einzige Möglichkeit die mir dabei einfiel wäre die Chrome Extension.

Das ganze befindet sich lokal. Dementsprechend fällt die erste Methode mit dem Window leider raus, da ich sonst das Window ja auch während ich hier auf EPVP surfe aktivieren müsste.

Das mit dem localStorage werde ich mir mal anschauen, vielen Dank schon einmal für den eventuellen Lösungsansatz.

Entschuldigung für die etwas dreckige erste Beschreibung ;)
02/09/2013 15:54 MrPuschel#4
Das ist nicht möglich. Grund ist die Security Sandbox in der du dich innerhalb eines Dokumentes bewegst. Mehr Infos gibt es hier: Same origin policy - Wikipedia, the free encyclopedia

Das hier hilft dir unter Umständen weiter: [Only registered and activated users can see links. Click Here To Register...]

Edit: Ah, habe erst mit deinem zweiten Post verstanden worum es ging. Aber ich denke dafür gibt es keine cross-browser Lösung.