加载外部JavaScript文件
我有一个使用PhoneGap/Cordova构建的跨平台应用程序 我正在尝试实现一个函数,该函数在控制器加载时运行一个外部JavaScript文件。我正在遵循来自的解决方案。同样地。但是我希望JavaScript在没有window.open事件的情况下执行,也就是说,我希望在设备准备好后立即运行executeScript 如何调用executeScript(),而不首先定义var ref加载外部JavaScript文件,javascript,cordova,phonegap,Javascript,Cordova,Phonegap,我有一个使用PhoneGap/Cordova构建的跨平台应用程序 我正在尝试实现一个函数,该函数在控制器加载时运行一个外部JavaScript文件。我正在遵循来自的解决方案。同样地。但是我希望JavaScript在没有window.open事件的情况下执行,也就是说,我希望在设备准备好后立即运行executeScript 如何调用executeScript(),而不首先定义var ref var navigation = angular.module("navigation", []); nav
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);
});
}
);
});
});
您可以尝试将脚本添加到
index.html
文件中,并从JS执行任何操作。此外,您必须将此端点添加到白名单中
<!-- index.html -->
<script>
function onCustomLoad() {
//do stuff
}
</script>
<script src="your-custom-script" onload="onCustomLoad"></script>
函数onCustomLoad(){
//做事
}
您可以使用
var script = document.createElement("script");
script.type = "text/javascript";
script.id = "some_id";
script.src = 'http://haruair.com/externaljavascriptfile.js';
document.head.appendChild(script);
然后在完成后调用函数Yip。两者都添加了,但是我如何从onDeviceReady函数自动调用该方法呢?我不确定语法。您可以在脚本中添加一个
onload
侦听器来检查何时加载,另一个侦听器来检查cordova何时准备就绪(触发事件cordovaReady
或类似事件)