Q1:
我想首先问一下:在文件config.xml中,preference stay-in-webview现在已被弃用,适用于Phonegap 2.3.0,是吗?所以在这方面没什么可指望的了?
Q2: 我尝试了许多关于插件InAppBrowser和window.open以及目标系统/空白/自身的文章,但对我来说没有任何区别。我仍然在应用内但没有导航按钮,我错过了什么吗?
plugin name="InAppBrowser" value="CDVInAppBrowser"
plugin name="InAppBrowser" value="CDVInAppBrowser"
我要先问一下:在文件config.xml中,preference stay-in-webview对于phonegap 2.3.0现在已经被弃用了,对吧?那么这里没有什么希望了吗?
没错。如果你使用的是2.9版本,甚至不用担心这个设置。
我阅读和尝试了很多关于插件InAppBrowser和window.open以及target system/blank/self的内容,但是对我来说都没有区别。我还是停留在应用内但无用,因为没有导航按钮。我错过了什么吗?
我也遇到了一些问题。他们的文档有点散乱,需要全部阅读。这是我让它工作的方法:
<script src="phonegap.js"></script>
若要在inappbrowser中打开链接,请使用以下javascript:
function openURL(urlString){
myURL = encodeURI(urlString);
window.open(myURL, '_blank');
}
这将在应用内浏览器中打开传递的URL。如果您将 window.open(myURL, '_blank');
更改为 window.open(myURL, '_system');
,它将在系统浏览器中打开传递的URL。
最后,您的项目点击看起来像这样:
<a href='#' onclick='openURL("http://www.urlyouwant")/>
或者你可以将事件监听器附加到对象上,但我认为你明白我的意思。
此外,InAppBrowser有许多事件监听器可以附加。如果您对此感兴趣,请查看文档。
重要!!!不要忘记步骤1!
希望这能帮到您。
code
<script src="phonegap.js"></script>code
。我通过安装Phonegap CLI环境找到了出路,然后在本地构建helloworld项目并通过xcode进行调试,我看到了我所缺少的东西。无论如何,感谢你的回答,我相信它会帮助很多人 :D - Miguel Bocquier在Android和iOS中打开URL有两种不同的方式。
对于iOS,使用以下代码:
window.open("http://google.com", '_system');
而对于Android,使用以下代码:
navigator.app.loadUrl("http://google.com", {openExternal : true});
Dom在使用PhoneGap 2.9.0时的回答是可行的。
然而,正如他所说,遵循第一步是非常重要的。我正在使用https://build.phonegap.com编译我的应用程序,并且我使用了
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
来代替第一步以使其工作。
如果所有其他方法都失败了,请尝试这个例子。它是由其中一个PhoneGap员工编写的:
更新:2016-03-20 我已经为这个主题创建了一个教程。
教程:使用白名单示例在Phonegap Build中嵌入外部网页
如果您正在阅读本文,则可能注意到此文章针对Cordova/Phonegap/Phonegap Build的2.9.0版本。2.x已正式停用并不再得到支持。
如果您正在使用2.X并且想继续开发您的应用程序,请升级。
如果您正在编译使用3.x、4.x或5.x或更高版本,请继续阅读。
如果您搜索了类似于外部链接无法打开之类的内容,则需要知道以下内容。在2015年9月和10月,Cordova和Phonegap进行了一些重大更改。这些更改实施了白名单
。
白名单
系统有三个(3)部分
config.xml
中提供的白名单config.xml
中的白名单插件该应用程序并不直截了当。如果你使用版本3.x,那么你不需要任何东西。如果你使用4.x或更高版本,则适用于你。如果你使用5.x,则有更多的规则适用。就像我说的,我正在撰写一篇博客文章,但这个白名单的事情非常繁琐,我需要传达这个信息。
以下是你需要开始的链接。
这里有更多的解释:
Cordova 5超时AJAX请求
此外,您还可以阅读Cordova/Phonegap新开发者的十大错误之一中的#10。
如果您很勇敢,可以阅读我的*原始*笔记,链接为Cordova/Phonegap白名单系统。window.open 在回调方法中似乎无法工作。(也许这是浏览器的限制?)这可能不是 OP 的问题,但我希望这个知识能帮助到某些人。