使用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阅读更多内容