wie etwa
swf=document.embeds[0];//or 1 or 2 etc
swfvar1=swf.GetVariable("swfvariable");
swfvar2="something";
swf.SetVariable("swfvariable",swfvar2);
sein GetVariable ("swfvar"); mit dem Var-Namen als String und SetVariable ("swfvar", jsval); mit dem swfvar Namen als String und dem js Wert, was auch immer Sie
Funktion
ausführen mögen, gibt es 2 Möglichkeiten 1. den obigen Code mit dem var swf mit, swf.SwfFunc (params); einfach, oder? Ja.
2.wieder mit Code über swf.GetVariable ("SwfFunc (params)"); da es den Wert der Funktion abruft, führt es alles aus, um nach einem Rückgabewert zu suchen, könnte schlecht sein, wenn die Parameter hässlich sind mit sich überschneidenden Anführungszeichen, weil es bereits Zitate im Aufruf gibt. Ich mag Methode 2 weil es auch für andere Zwecke verwendet werden kann, zum Beispiel für die Ausführung von Code. wie diese
swf.GetVariable("
function(){
//whatever
}");
finde ich das sehr nützlich, aber erinnern Sie sich die Angebote in dieser Funktion entkommen muss es tatsächlich wie Injizieren eines eval-Anweisung ist, aber besser
fast sicher, dass Sie nicht können, aber es gibt andere Schnittstellen, die Sie verwenden können, um Makros zu erstellen, um mit Flash interagieren, googeln für "Addon Makros Firefox Flash" oder so ähnlich – yoda
Aber wie diese Putting Hack Flash-Spiele injizieren den Code? Siehe http://userscripts.org/scripts/review/32886. Ich konnte diesen Teil nicht verstehen var swf = document.embeds [0] || $ ("Flashinhalt") || single ("// Objekt [enthält (@data, '.swf')]"); unsafeWindow.game = swf; var actions = single ("// div [@ class = 'game_actions']") || single ("// div [@ class = 'channeholder']") || $ ("Kopfzeile") || $ ("Inhalt") || Dokument.Körper; – Rajasankar