从具有插件访问权限的phonegap Cordova中的外部URL加载Webste

时间:2015-11-06 09:16:38

标签: javascript android ios cordova

我希望在我的Cordova Phonegap项目中从外部URL加载我的应用程序(Android / iOS)的内容。虽然我能够在应用程序中加载网站,但没有插件访问权限。我尝试在本地应用程序和网站上托管插件,但这些方法似乎都不起作用。

那么如何在插件访问的情况下从cordova的外部网址加载网站?

编辑1:我现在正试图在Android Cordova中提供assets文件夹的url。但是出现以下错误。

Error: [Error] initializing Cordova: Class Not Found.

3 个答案:

答案 0 :(得分:2)

@Emanuele Spatola的答案似乎是唯一可行的方法。

不应该干扰config.xml,并且content-src应该指向index.html。

<content src="index.html" />

项目所需的所有插件都应该在您的应用中本地安装,并将cordova.js添加到本地index.html。

然后创建一个容器(如div)元素并进行ajax调用以在其中加载html文件。

虽然现在还有一个额外的工作,加载远程.html文件中存在的所有脚本文件,可以使用Jquery的getscript()方法。

答案 1 :(得分:1)

您可以使用AJAX请求加载页面。 请尝试遵循此article

/**
 * Function called when page has finished loading.
 */
function init() {

    // Load first page into container
    loadPage("screen1.html");
}

并在主文件中

Table_A

ID         Name
1          A
2          B
3          C

Table_B



ID         table_a_fk
1          2 
2          3

答案 2 :(得分:0)

除了接受的答案之外,当涉及使用xmlHttpRequest或任何其他XSS / Ajax调用的结果操作DOM时,接受的答案将完成作业,直到外部内容包含应在DOM更新后运行的脚本或标记。因此:

document.getElementById('container').innerHTML = xmlhttp.responseText;

对于包含javascript的网页不起作用,因为.innerHTML函数会将xmlhttp.responseText呈现为纯文本,而html在出于安全原因将内容添加到DOM时忽略此处包含的任何标记或脚本;有关详细信息,请参阅https://www.w3.org/TR/2008/WD-html5-20080610/dom.html#innerhtml0 解决此问题的最快方法是使用已经解决此问题的JQuery .html()函数:

$('#container').html(xmlhttp.responseText);

上面的代码将呈现内容并运行附加到其上的任何脚本。