T4d*_*deu 5 phonegap-plugins cordova phonegap-build
我想要做的就是超级简单,在设备浏览器上打开一个链接,但它显示出比我想象的更难.
我创建项目并添加ios和android平台:
$ phonegap create project_name
$ phonegap build ios
$ phonegap build android
Run Code Online (Sandbox Code Playgroud)
我有 ; 在config.xml内部(尝试了不同的方式,没有工作)和"stay-in-webview"设置为false.
我在www/index.html文件中做的唯一更改是添加链接,页面包含所有默认脚本(phonegap.js,js/index.js和对app.initialize()的调用).
我尝试了所有这些链接,都在webview中打开:
<a href="#" onclick="window.open('http://www.google.com', '_blank', 'location=yes');">_blank</a>
<a href="#" onclick="window.open('http://www.google.com', '_system', 'location=yes');">_system</a>
<a href="#" onclick="window.open('http://www.google.com', '_system');">_system</a>
<a href="http://www.google.com" target="_blank">target _blank</a>
<a href="http://www.google.com">no target</a>
Run Code Online (Sandbox Code Playgroud)
明确我在ios模拟器和android模拟器中完成的所有测试.
我搜索了很多,尝试了我发现的一切,但没有任何作用.谢谢你的帮助
ᴠɪɴ*_*ᴇɴᴛ 11
要在设备的默认浏览器中打开Cordova/PhoneGap应用程序中的链接,您必须确保window.open(<url>, '_system');将使用它来访问它.为了实际工作 - 可能有点反直觉 - 你需要启用'InAppBrowser'插件.
在Cordova版本2.9.0中,"InAppBrowser"插件是内置的,您只需要确保它没有在Cordova中注释掉config.xml.从版本3.0.0开始,您必须通过从项目目录运行此命令来安装插件:
cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-inappbrowser.git
Run Code Online (Sandbox Code Playgroud)
从"InAppBrowser"如何使用第二个参数的科尔多瓦文档target的window.open()在被覆盖的实现:
target:加载URL的目标,默认为可选参数_self.(字符串)
_self:如果URL在白名单中,则在Cordova WebView中打开,否则在InAppBrowser中打开._blank:在InAppBrowser中打开._system:在系统的Web浏览器中打开.为了分离问题并防止我忘记在默认浏览器中onclick为每个<a/>我想要打开的属性添加属性,我喜欢通过JavaScript动态附加该行为.下面是一个使用jQuery的示例,其中在通过XHR重新加载所涉及的HTML之后,还将重新附加行为.并且它只会附加到外部链接,因此也会阻止将其附加到mailto:链接.
$('#idContentwrapper').on('click', '.colofon-text a', function(event) {
var href = $(this).attr('href');
if (typeof href !== 'undefined' &&
href.substr(0, 7) === 'http://')
{
event.preventDefault();
// Open in default browser App (on desktop: open in new window/tab)
window.open(this.href, '_system', 'location=no');
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10868 次 |
| 最近记录: |