Phonegap 3.0构建inAppBrowser侦听器无法正常工作

时间:2013-12-05 01:46:24

标签: ios cordova

我希望有人可以帮我解决这个问题。这是我的第一个Phonegap应用程序,所以这对我来说可能是一个相当基本的错误。我特意试着让它在iOS上运行。 Android会等到另一天。

我正在尝试使用inAppBrowser从外部站点(我控制)加载页面。用户离开初始页面后,应关闭并将其返回给应用程序。该页面打开成功,但我已经尝试了所有我能想到的关闭它并返回应用程序,但无济于事。

使用inAppBrowser的函数如下所示:

function open_page() {
     var ref = window.open('http://www.mydomain.com/page1.html', '_blank', 'location=yes,enableViewportScale=no');
     ref.addEventListener('loadstop', function(event) { if(event.url != "http://www.mydomain.com/page1.html") ref.close(); });
     ref.addEventListener('exit', function(event) { alert(event.type); });
}

我正在使用基于云的Phonegap Build,我的config.xml文件如下所示:

<?xml version="1.0" encoding="UTF-8" ?>
<widget

...


<access origin="*" />

<preference name="phonegap-version" value="3.0.0" />

<preference name="orientation" value="portrait" />

<preference name="fullscreen" value="true" />

<preference name="stay-in-webview" value="true" />

<feature name="http://api.phonegap.com/1.0/battery"/>
<feature name="http://api.phonegap.com/1.0/camera"/>
<feature name="http://api.phonegap.com/1.0/contacts"/>
<feature name="http://api.phonegap.com/1.0/file"/>
<feature name="http://api.phonegap.com/1.0/geolocation"/>
<feature name="http://api.phonegap.com/1.0/media"/>
<feature name="http://api.phonegap.com/1.0/network"/>
<feature name="http://api.phonegap.com/1.0/notification"/>

<feature name="InAppBrowser">
    <param name="ios-package" value="CDVInAppBrowser" />
</feature>

<gap:plugin name="org.apache.cordova.device" /> 
<gap:plugin name="org.apache.cordova.camera" /> 
<gap:plugin name="org.apache.cordova.device-orientation" /> 
<gap:plugin name="org.apache.cordova.file" /> 
<gap:plugin name="org.apache.cordova.globalization" /> 
<gap:plugin name="org.apache.cordova.inappbrowser" />
<gap:plugin name="org.apache.cordova.network-information" /> 
<gap:plugin name="org.apache.cordova.dialogs" /> 
<gap:plugin name="org.apache.cordova.splashscreen" />

<gap:plugin name="org.apache.cordova.core.geolocation" /> 

</widget>

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

将此添加到您的配置文件 -

   <access origin="*" browserOnly="true"/>

对于APP浏览器中的开放链接,请使用以下行,在app浏览器中打开链接。 并在关闭它时返回到您的应用程序。

 window.open('http://www.' + email, '_blank', 'location=yes');