InAppBrowser注入脚本(使用executeScript)

时间:2013-09-05 10:50:02

标签: ios cordova inappbrowser

使用{code: 'some code'} param的InAppBrowser js脚本注入工作正常但不适用于{file: 'local file url'} param。

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"});

嵌入所有内容

1 个答案:

答案 0 :(得分: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。以防万一。