当前位置:  开发笔记 > 编程语言 > 正文

InAppBrowser注入脚本(使用executeScript)

如何解决《InAppBrowser注入脚本(使用executeScript)》经验,为你挑选了1个好方法。

使用{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> 小智..:

我有同样的问题.使用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.以防万一.


我在PhoneGap应用程序的开头添加了一行代码.(假设起始页面是index.html)

`window.basePath = window.location.href.replace('index.html','');`

然后,当我需要引用`basePath +'js/handlebars/foo.js'`来加载脚本并从手机的文件系统中提取图像.
推荐阅读
郑谊099_448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有