Cordova/Phonegap 3.3 中的外部链接/InAppBrowser 总是表现得像“_self”
Posted
技术标签:
【中文标题】Cordova/Phonegap 3.3 中的外部链接/InAppBrowser 总是表现得像“_self”【英文标题】:External links / InAppBrowser in Cordova / Phonegap 3.3 always behave like "_self" 【发布时间】:2013-12-19 18:28:57 【问题描述】:我正在尝试在 Phonegap 应用程序中创建在“可关闭”InAppBrowser 中打开的链接,或者至少在外部 Safari 事件中打开,而不是在 Webview 本身中。
使用 _blank 或 _system 总是会导致“_self”行为(页面在 Web 视图中打开)。
我正在一个全新的 Phonegap 项目上尝试这个,目标是 iO。模拟器和设备上的相同问题。
InAppBrowser 已正确安装:
$ cordova plugins ls
[ 'org.apache.cordova.inappbrowser' ]
project.xml 没什么特别的:
<?xml version='1.0' encoding='utf-8'?>
<widget id="me.nerik.superpo" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0">
<name>Test</name>
<description>
Hello World sample application that responds to the deviceready event.
</description>
<author email="support@phonegap.com" href="http://phonegap.com">
PhoneGap Team
</author>
<feature name="http://api.phonegap.com/1.0/device" />
<preference name="permissions" value="none" />
<preference name="orientation" value="default" />
<preference name="target-device" value="universal" />
<preference name="fullscreen" value="true" />
<preference name="webviewbounce" value="true" />
<preference name="prerendered-icon" value="true" />
<preference name="stay-in-webview" value="false" />
<preference name="ios-statusbarstyle" value="black-opaque" />
<preference name="detect-data-types" value="true" />
<preference name="exit-on-suspend" value="true" />
<preference name="show-splash-screen-spinner" value="true" />
<preference name="auto-hide-splash-screen" value="true" />
<preference name="disable-cursor" value="false" />
<icon src="icon.png" />
<icon gap:platform="ios" src="res/icon/ios/icon-57.png" />
<icon gap:platform="ios" src="res/icon/ios/icon-72.png" />
<icon gap:platform="ios" src="res/icon/ios/icon-57-2x.png" />
<icon gap:platform="ios" src="res/icon/ios/icon-72-2x.png" />
<gap:splash gap:platform="ios" src="res/screen/ios/screen-iphone-portrait.png" />
<gap:splash gap:platform="ios" src="res/screen/ios/screen-iphone-portrait-2x.png" />
<gap:splash gap:platform="ios" src="res/screen/ios/screen-ipad-portrait.png" />
<gap:splash gap:platform="ios" src="res/screen/ios/screen-ipad-landscape.png" />
<access origin="*" />
<feature name="InAppBrowser">
<param name="ios-package" value="CDVInAppBrowser" />
</feature>
</widget>
这里是javascript:
var app =
// Application Constructor
initialize: function()
document.querySelector("h1").onclick = function()
console.log("clicked !");
// var ref = window.open( "http://google.com", '_blank', 'location=yes');
var ref = window.open( "http://nerik.me", '_system');
;
;
【问题讨论】:
即使您可能已经找到了与您的应用程序初始化代码有关的解决方案,但您的错误听起来很像我报告的错误,即从 CLI 添加插件基本上无法生成正确的 cordova_plugins .js 文件。 issues.apache.org/jira/browse/… 【参考方案1】:碰巧我没有等待“deviceready”触发。 在某些时候,我(愚蠢地)注释掉了等待事件启动应用程序的部分,因为“设备就绪”不再触发。 我不得不用cordova.js 替换phonegap.js。我不知道为什么:(
【讨论】:
您可以将自己的答案标记为“正确”,这样这个问题就不会再显示为打开了。以上是关于Cordova/Phonegap 3.3 中的外部链接/InAppBrowser 总是表现得像“_self”的主要内容,如果未能解决你的问题,请参考以下文章
是否有使用适用于 iOS 的蓝牙经典的 Cordova/PhoneGap 插件?
桌面/移动标准网页中的phonegap / cordova社交共享插件
混合应用程序中的日历样式日期选择器(Cordova/Phonegap)
如何修复 Cordova/Phonegap 中的 iFrame 问题(iOS)?