如果您在使用Phonegap 6.3.1时遇到此问题,请确保已在项目根目录的config.xml文件中的<access>
标签、<allow-intent>
标签和allow-navigation
标签中添加了要打开的URL白名单。
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.phonegap.helloworld" version="1.0.0"
xmlns="http://www.w3.org/ns/widgets"
xmlns:gap="http://phonegap.com/ns/1.0">
...
<access origin="*" />
<allow-intent href="*" />
<allow-navigation href="*" />
...
</widget>
(注意:上述href中的“*”允许访问任何url/path。在生产环境中,您可能希望限制某些url/path)
然后在您的index.html文件中添加以下JavaScript代码:
<script type="text/javascript">
document.addEventListener('deviceready', function() {
var url = 'https://www.google.com' // change to whatever you want
cordova.InAppBrowser.open(url, '_self', 'location=no');
}, false)
</script>
这个脚本使用cordova-plugin-inappbrowser插件,如果你使用标准的Phonegap模板生成应用程序,则该插件应该已经包含在你的config.xml文件中。
该脚本等待设备就绪,然后使用cordova-plugin-inappbrowser插件打开给定的url。 '_self'
参数表示在Phonegap webview中打开页面,'location=no'
表示没有地址栏。有关其他参数选项,请参阅cordova-plugin-inappbrowser插件的文档(上面的链接)。
要在适当的模拟器中测试应用程序(假设你已安装Phonegap CLI),请运行以下命令:
phonegap run ios --verbose --stack-trace
phonegap run android --verbose --stack-trace
index.html
文件? - Jim O'Brien