Ich schreibe eine Dummy-App, um zu testen, wie die executeScript () -Methode in Cordovas InAppBrowser-Plugin funktioniert. Insbesondere versuche ich, einen JavaScript-Code in eine Webansicht zu injizieren.
Hier ist meine index.html Datei:
%Vor%Und die Datei index.js
%Vor%und zuletzt die externaljavascriptfile.js
%Vor%Wenn ich versuche, JavaScript-Code direkt zu injizieren (dh die Zeile "ref.executeScript ({code:" alert ('Injected Code') "}))") zu entfernen, funktioniert alles und die Warnung wird nach dem Laden der Seite ausgelöst , aber wenn ich versuche, ein externes Javascript zu injizieren (zB mit der Zeile "ref.executeScript ({file:" externaljavascriptfile.js "});" passiert nichts.
Vermisse ich etwas?
Eigentlich glaube ich, dass Sie die Antwort bereits kennen.
executeScript()
Methode in der untergeordneten WebView ausgeführt.
In Ihrem Code wird executeScript()
method auf http://www.example.net/externaljavascriptfile.js
referenziert, nicht in Ihrer Skriptdatei im Verzeichnis /www/js
cordova. Weil die executeScript()
-Methode JavaScript in kindview eingibt, wie Sie wissen.
Sie können den Code mit unten testen. Ich habe die Datei auf meiner Website abgelegt.
%Vor%FYI Wenn Sie die Daten aus der Kindansicht abrufen möchten, können Sie den Rückruf verwenden.
%Vor% In externaljavascriptfile.js
:
Hast du das inappbrowser Plugin installiert?
Ich arbeite wie folgt in Android:
BEARBEITEN: Für cordova 7 aktualisiert
Erstellen Sie das phonegap-Projekt
%Vor%Update index.js - hier ist meine onDeviceReady-Funktion:
%Vor%Auf meinem HTC bereitstellen
%Vor%externe Skriptdatei ist hier
Die vollständige Arbeitskopie dieses Projekts lautet hier
Grüße,
Av
Verwenden Sie Ajax, um JS-Dateidaten zu erhalten, und injizieren Sie sie dann mit dem Skript execute
%Vor%Tags und Links javascript cordova inappbrowser