私はPhoneGap/Cordovaを使用して構築されたクロスプラットフォームアプリを持っています。外部JavaScriptファイルを読み込む
コントローラが読み込まれたときに外部JavaScriptファイルを実行する関数を実装しようとしています。私はHEREの解決策に従っています。同様にHERE。しかし、私はJavaScriptがwindow.openイベントなしで実行されることを願っています。つまり、準備が整うとすぐにexecuteScriptを実行します。私ものvar refの最初に定義することなくexecuteScript()を呼び出すにはどうすればよい
?
var navigation = angular.module("navigation", []);
navigation.controller("Navigation", function ($scope) {
var init = function() {
document.addEventListener("deviceready", onDeviceReady, false);
};
init();
function onDeviceReady() {
// LOAD EXTERNAL SCRIPT
var ref = window.open('http://www.haruair.com/', '_blank', 'location=yes, toolbar=yes, EnableViewPortScale=yes');
ref.addEventListener("loadstop", function() {
ref.executeScript(
{ file: 'http://haruair.com/externaljavascriptfile.js' },
function() {
ref.executeScript(
{ code: 'getSomething()' },
function (values) {
var data = values[0];
alert("Name: " + data.name + "\nAge: " + data.age);
});
}
);
});
});
イップを終えた後、関数を呼び出す
を使用することができます。両方に追加されましたが、実際にonDeviceReady関数から自動的にメソッドを呼び出す方法はありますか?私は構文についてはわかりません。 – heyred
スクリプトに 'onload'リスナーを追加して、いつロードが行われているかをチェックし、コードワーバーの準備ができたらチェックすることができます(イベント' cordovaReady'または類似のものを起動します) – dloeda