【问题标题】:Embed another webpage in a Cordova application在 Cordova 应用程序中嵌入另一个网页
【发布时间】:2015-12-02 07:06:22
【问题描述】:

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

【问题讨论】:

  • 我的 IDE 是 Visual Studio 2014。

标签: android cordova webview


【解决方案1】:

使用cordova-plugin-inappbrowser

Cordova InAppBrowser 插件 此插件提供了一个 Web 浏览器视图,当调用 cordova.InAppBrowser.open() 时会显示该视图。

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

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

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

在 deviceready 事件之后,InAppBrowser 才可用。

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

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

安装 科尔多瓦插件添加科尔多瓦插件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阅读更多内容

【讨论】:

  • 不客气。如果您遇到任何问题,也可以告诉我,也可以指导您。
猜你喜欢
  • 2020-01-01
  • 1970-01-01
  • 2019-10-07
  • 1970-01-01
  • 2014-12-27
  • 1970-01-01
  • 1970-01-01
  • 2010-09-23
  • 1970-01-01
相关资源
最近更新 更多