在Cordova应用程序中嵌入另一个网页

时间:2015-12-02 07:06:22

标签: android cordova webview

我正在开发一个apache cordova android应用程序。我想通过url在我的应用程序中使用后退按钮嵌入一个网页。我已经在应用内容中安装了Crosswalk Webview插件。但还没找到使用它的方法。其实我是这个平台的新手。所以我的问题是如何在我的应用程序index.html文件中嵌入另一个站点?

1 个答案:

答案 0 :(得分:1)

使用cordova-plugin-inappbrowser

Cordova InAppBrowser插件 此插件提供了在调用cordova.InAppBrowser.open()时显示的Web浏览器视图。

var ref = cordova.InAppBrowser.open('http://apache.org', '_blank', 'location=yes'); cordova.InAppBrowser.open()函数被定义为the window.open()函数的替代品。现有的window.open()调用可以通过替换window.open:

来使用InAppBrowser窗口

window.open = cordova.InAppBrowser.open; InAppBrowser窗口的行为类似于标准Web浏览器,无法访问Cordova API。因此,如果您需要加载第三方(不受信任的)内容,而不是将其加载到主Cordova Webview中,建议使用InAppBrowser。 InAppBrowser不受白名单的约束,也不在系统浏览器中打开链接。

InAppBrowser默认为用户提供了自己的GUI控件(后退,前进,完成)。

在deviceready事件发生后,InAppBrowser才可用。

document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
    console.log("window.open works well");
}

:警告:报告Apache Cordova问题跟踪器上的问题

安装 cordova插件添加cordova-plugin-inappbrowser 如果您希望应用程序中的所有页面加载都通过InAppBrowser,则可以在初始化期间简单地挂钩window.open。例如:

document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
    window.open = cordova.InAppBrowser.open;
}

cordova.InAppBrowser.open 在新的InAppBrowser实例,当前浏览器实例或系统浏览器中打开URL。

var ref = cordova.InAppBrowser.open(url, target, options);

快速示例

var ref = cordova.InAppBrowser.open('http://apache.org', '_blank', 'location=yes');
var ref2 = cordova.InAppBrowser.open(encodeURI('http://ja.m.wikipedia.org/wiki/ハングル'), '_blank', 'location=yes');

https://www.npmjs.com/package/cordova-plugin-inappbrowser

了解更多内容