7

使用参数的 InAppBrowser js 脚本注入{code: 'some code'}运行良好,但不能使用{file: 'local file url'}参数。

var ref = window.open('http://apache.org', '_blank', 'location=yes');
ref.addEventListener('loadstop', function() {
    ref.executeSript({file: "myscript.js"});
});

如何使用文件参数注入脚本来注入我的本地 js 脚本?

  • 它需要绝对文件路径还是相对文件?
  • 文件必须托管在子网站上吗?

这似乎是一件神秘而复杂的事情,因为我有几行脚本并且无法使用ref.executeSript({codedetails, callback: "myscript.js"});

4

1 回答 1

5

我有同样的问题。使用cordova3.1.0。

ref.executeScript(
    {
        file: "http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"
        //webURL works fine with 'file'
    }, function()
    { 
        $.get("js/myscript.js", function(data)
        {  //workaround to obtain code using jQuery.get
            ref.executeScript(
            {
                code: data
            }, function()
            { 
                console.log('ref.executeScript done');
            });
        });
    });

当我将文件 URL 设置为 webURL http://.... 时,

它有效,但我不知道如何指向本地 js 文件,

所以我使用 $.get "js/myscript.js" 获取代码字符串。

示例代码说明: jQuery 已经安装在 phonegap App 上,并且还在目标 inAppBrowser 应用程序上尝试使用 jQuery。以防万一。

于 2013-10-17T06:03:02.013 回答