In Chrome JavaScript-Konsole, kann ich folgendes eingeben:Wie kann ich dem Fensterobjekt in Chrome mithilfe von Applescript eine Eigenschaft hinzufügen?
window.myVar = "myValue";
ich dann myVar
aus dem Fenster Kontext zugreifen können, wo es "myValue"
zurückgibt. Ausgezeichnet.
Allerdings, wenn ich die folgenden in Applescript tun:
tell application "Google Chrome"
execute front window's active tab javascript "window.myVar = 'myValue';"
end tell
Diese Anweisung ausgeführt wird ausgeführt, wenn das Skript aufgerufen wird. Es werden keine Fehler ausgegeben und das Chrome-Fenster existiert. Aber wenn ich versuche, aus dem Fensterkontext auf zu verweisen, wird nur undefined
zurückgegeben. Zu Testzwecken habe ich nach dieser Deklaration eine Alert-Anweisung hinzugefügt - die Warnung wird ausgelöst, aber myVar
bleibt deaktiviert.
Jetzt, in Safari, funktioniert do JavaScript
mit dem gleichen Code, als ob ich den Code direkt in die Konsole eingegeben hätte - gibt einen Wert zurück.
Warum löst Chrome diese Anweisungen nicht aus, wenn es von Applescript aufgerufen wird, wenn es manuell ausgeführt werden kann? (Chrome 51.0.2704.84, OS X 10.11.5)
Warum sollte Chrome selbst Apple Script kennen? o_0 Sie denken, dass die Leute bei Google eine Menge Zeit damit verbracht haben, es zu verstehen? Es funktioniert nicht mit beliebigen Programmen ... –
Google Chrome bietet ein Wörterbuch für die Verwendung mit AppleScript als .SBF, das im Skript-Editor angezeigt werden kann. Chrome ist skriptfähig - es führt dieses JavaScript nur anders aus, als wenn ein Benutzer es eingegeben hätte, und ich möchte verstehen, warum. – Rydash