Android iApp浏览器在适用于iOS的Phonegap 3.4.0中不工作

Android iApp浏览器在适用于iOS的Phonegap 3.4.0中不工作,android,ios,cordova,phonegap-plugins,inappbrowser,Android,Ios,Cordova,Phonegap Plugins,Inappbrowser,我正在尝试使用phonegap 3.4.0和jQuery mobile 1.4.0为iOS构建一个应用程序。每个人的建议我都试过了。在应用程序中,我会点击链接,它会在应用程序中打开,但没有后退按钮或任何东西。因此,我必须强制关闭应用程序,然后重新启动以返回主屏幕。我有以下资料: <a href="#" onclick="window.open('http://ok-ecig.com','_blank','location=no,closebuttoncaption=Done');" cla

我正在尝试使用phonegap 3.4.0和jQuery mobile 1.4.0为iOS构建一个应用程序。每个人的建议我都试过了。在应用程序中,我会点击链接,它会在应用程序中打开,但没有后退按钮或任何东西。因此,我必须强制关闭应用程序,然后重新启动以返回主屏幕。我有以下资料:

<a href="#" onclick="window.open('http://ok-ecig.com','_blank','location=no,closebuttoncaption=Done');" class="ui-btn"><i class="fa fa-shopping-cart fa-2x"></i><span> Shop Now</span></a>
<widget xmlns = "http://www.w3.org/ns/widgets"
    xmlns:gap = "http://phonegap.com/ns/1.0"
    id        = "...."
    version   = "...."> 
<link rel="stylesheet" href="css/jquery.mobile-1.4.2.min.css"> 

<script type="text/javascript" charset="utf-8" src="cordova.js"></script>

<script type="text/javascript" charset="utf-8" src="js/jquery-1.11.1.min.js"></script>
<script type="text/javascript" charset="utf-8" src="js/jquery.mobile-1.4.2.min.js></script> 

在我的config.xml文件中:

<?xml version="1.0" encoding="UTF-8"?>
<!-- config.xml reference: https://build.phonegap.com/docs/config-xml -->
<widget xmlns     = "http://www.w3.org/ns/widgets"
xmlns:gap = "http://phonegap.com/ns/1.0"
id        = "com.[author].[appname]"
version   = "1.0.0">

<name>App Name</name>

<description>
</description>

<author href="http://appauthor.com">
    App Author
</author>

<!--
 Enable individual API permissions here.
 The "device" permission is required for the 'deviceready' event.
 -->
<feature name="http://api.phonegap.com/1.0/device" />
<feature name="InAppBrowser">
    <param name="ios-package" value="CDVInAppBrowser" />
</feature>

<plugin name="InAppBrowser" value="org.apache.cordova.InAppBrowser" />

<!--
 If you do not want any permissions to be added to your app, add the
 following tag to your config.xml; you will still have the INTERNET
 permission on your app, which PhoneGap requires.
 -->
<preference name="permissions"                value="none"/>

<!-- Customize your app and platform with the preference element. -->
<!-- <preference name="phonegap-version"      value="3.4.0" /> -->      <!-- all: current version of PhoneGap -->
<preference name="orientation"                value="portrait" />        <!-- all: default means both landscape and portrait are enabled -->
<preference name="target-device"              value="handset" />      <!-- all: possible values handset, tablet, or universal -->
<preference name="fullscreen"                 value="true" />           <!-- all: hides the status bar at the top of the screen -->
 <preference name="DisallowOverscroll"         value="true" />
 <preference name="webviewbounce"              value="false" />
 <preference name="UIWebViewBounce"            value="false" />        <!-- ios: control whether the screen 'bounces' when scrolled beyond the top -->

<preference name="prerendered-icon"           value="true" />           <!-- ios: if icon is prerendered, iOS will not apply it's gloss to the app's icon on the user's home screen -->
<preference name="stay-in-webview"            value="true" />          <!-- ios: external links should open in the default browser, 'true' would use the webview the app lives in -->
<preference name="ios-statusbarstyle"         value="black-opaque" />   <!-- ios: black-translucent will appear black because the PhoneGap webview doesn't go beneath the status bar -->
<preference name="detect-data-types"          value="true" />           <!-- ios: controls whether data types (such as phone no. and dates) are automatically turned into links by the system -->
<preference name="exit-on-suspend"            value="false" />          <!-- ios: if set to true, app will terminate when home button is pressed -->
<preference name="show-splash-screen-spinner" value="true" />           <!-- ios: if set to false, the spinner won't appear on the splash screen during app loading -->
<preference name="auto-hide-splash-screen"    value="true" />           <!-- ios: if set to false, the splash screen must be hidden using a JavaScript API -->

<preference name="disable-cursor"             value="false" />

<!-- blackberry: prevents a mouse-icon/cursor from being displayed on the app -->
<preference name="android-minSdkVersion"      value="7" />              <!-- android: MIN SDK version supported on the target device. MAX version is blank by default. -->
<preference name="android-installLocation"    value="auto" />           <!-- android: app install location. 'auto' will choose. 'internalOnly' is device memory. 'preferExternal' is SDCard. -->

<!-- Plugins can also be added here. -->
<!--
 <gap:plugin name="Example" />
 A list of available plugins are available at https://build.phonegap.com/docs/plugins
 -->
<gap:plugin name="org.apache.cordova.inappbrowser" version="0.2.4" />

<!-- Define app icon for each platform. -->
<icon src="icon.png" />
<icon src="res/icon/android/icon-36-ldpi.png"   gap:platform="android"    gap:density="ldpi" />
<icon src="res/icon/android/icon-48-mdpi.png"   gap:platform="android"    gap:density="mdpi" />
<icon src="res/icon/android/icon-72-hdpi.png"   gap:platform="android"    gap:density="hdpi" />
<icon src="res/icon/android/icon-96-xhdpi.png"  gap:platform="android"    gap:density="xhdpi" />
<icon src="res/icon/blackberry/icon-80.png"     gap:platform="blackberry" />
<icon src="res/icon/blackberry/icon-80.png"     gap:platform="blackberry" gap:state="hover"/>
<icon src="res/icon/ios/icon-57.png"            gap:platform="ios"        width="57" height="57" />
<icon src="res/icon/ios/icon-72.png"            gap:platform="ios"        width="72" height="72" />
<icon src="res/icon/ios/icon-57-2x.png"         gap:platform="ios"        width="114" height="114" />
<icon src="res/icon/ios/icon-72-2x.png"         gap:platform="ios"        width="144" height="144" />
<icon src="res/icon/webos/icon-64.png"          gap:platform="webos" />
<icon src="res/icon/windows-phone/icon-48.png"  gap:platform="winphone" />
<icon src="res/icon/windows-phone/icon-173.png" gap:platform="winphone"   gap:role="background" />

<plugin name="InAppBrowser" value="CDVInAppBrowser" />

<!-- Define app splash screen for each platform. -->
<gap:splash src="res/screen/android/screen-ldpi-portrait.png"  gap:platform="android" gap:density="ldpi" />
<gap:splash src="res/screen/android/screen-mdpi-portrait.png"  gap:platform="android" gap:density="mdpi" />
<gap:splash src="res/screen/android/screen-hdpi-portrait.png"  gap:platform="android" gap:density="hdpi" />
<gap:splash src="res/screen/android/screen-xhdpi-portrait.png" gap:platform="android" gap:density="xhdpi" />
<gap:splash src="res/screen/blackberry/screen-225.png"         gap:platform="blackberry" />
<gap:splash src="res/screen/ios/screen-iphone-portrait.png"    gap:platform="ios"     width="320" height="480" />
<gap:splash src="res/screen/ios/screen-iphone-portrait-2x.png" gap:platform="ios"     width="640" height="960" />
<gap:splash src="res/screen/ios/screen-ipad-portrait.png"      gap:platform="ios"     width="768" height="1024" />
<gap:splash src="res/screen/ios/screen-ipad-landscape.png"     gap:platform="ios"     width="1024" height="768" />
<gap:splash src="res/screen/windows-phone/screen-portrait.jpg" gap:platform="winphone" />
<gap:config-file platform="ios" parent="UIViewControllerBasedStatusBarAppearance" overwrite="true">
    <false/>
</gap:config-file>

<!--
 Define access to external domains.

 <access />            - a blank access tag denies access to all external resources.
 <access origin="*" /> - a wildcard access tag allows access to all external resource.

 Otherwise, you can specify specific domains:
 -->
<access origin="http://127.0.0.1*"/> <!-- allow local pages -->
<access origin="*" />
<!--
 <access origin="http://phonegap.com" />                    - allow any secure requests to http://phonegap.com/
 <access origin="http://phonegap.com" subdomains="true" />  - same as above, but including subdomains, such as http://build.phonegap.com/
 <access origin="http://phonegap.com" browserOnly="true" /> - only allows http://phonegap.com to be opened by the child browser.
 -->

应用程序名称
应用程序作者

My index.html标题:

<link rel="stylesheet" href="css/style.css" />
<link rel="stylesheet" type="text/css" href="css/jquery.mobile.flatui.min.css" />
<link rel="stylesheet" href="fa/css/font-awesome.min.css">
<script src="js/jquery.js"></script>
<script src="js/jquery.mobile-1.4.0-rc.1.js"></script>
<script src="cordova.js"></script><!-- 3.4.0 -->


我遗漏了什么?

听起来好像inapp浏览器插件没有加载

根据您的配置,看起来您正在使用phone gap build来构建项目。但是,它混合了电话间隔构建和常规电话间隔配置项

由于您使用的是内部版本,因此只能使用:

<gap:plugin name="org.apache.cordova.inappbrowser" version="0.2.4" />

添加inapp浏览器插件。看

您应该删除此插件以及对该插件的任何其他引用:

<plugin name="InAppBrowser" value="CDVInAppBrowser" />

这将使插件能够正确加载,并且您应该能够验证它是否包含在phone gap构建页面的构建中


(如果您没有使用phonegap build,则需要删除与build相关的配置项,并按照此处的说明在本地安装插件)

听起来好像没有加载inapp浏览器插件

根据您的配置,看起来您正在使用phone gap build来构建项目。但是,它混合了电话间隔构建和常规电话间隔配置项

由于您使用的是内部版本,因此只能使用:

<gap:plugin name="org.apache.cordova.inappbrowser" version="0.2.4" />

添加inapp浏览器插件。看

您应该删除此插件以及对该插件的任何其他引用:

<plugin name="InAppBrowser" value="CDVInAppBrowser" />

这将使插件能够正确加载,并且您应该能够验证它是否包含在phone gap构建页面的构建中


(如果您没有使用phonegap build,则需要删除与build相关的配置项,并按照此处的说明在本地安装插件)

让我告诉您如何使用它。它可能会帮助你找出问题所在

config.xml
中,您应该具有以下内容:

<a href="#" onclick="window.open('http://ok-ecig.com','_blank','location=no,closebuttoncaption=Done');" class="ui-btn"><i class="fa fa-shopping-cart fa-2x"></i><span> Shop Now</span></a>
<widget xmlns = "http://www.w3.org/ns/widgets"
    xmlns:gap = "http://phonegap.com/ns/1.0"
    id        = "...."
    version   = "...."> 
<link rel="stylesheet" href="css/jquery.mobile-1.4.2.min.css"> 

<script type="text/javascript" charset="utf-8" src="cordova.js"></script>

<script type="text/javascript" charset="utf-8" src="js/jquery-1.11.1.min.js"></script>
<script type="text/javascript" charset="utf-8" src="js/jquery.mobile-1.4.2.min.js></script> 

注意:我认为cordova.js应该是代码中包含的第一个javascript。任何其他Java脚本都应该遵循。


希望有帮助

让我告诉你我是如何使用它的。它可能会帮助你找出问题所在

config.xml
中,您应该具有以下内容:

<a href="#" onclick="window.open('http://ok-ecig.com','_blank','location=no,closebuttoncaption=Done');" class="ui-btn"><i class="fa fa-shopping-cart fa-2x"></i><span> Shop Now</span></a>
<widget xmlns = "http://www.w3.org/ns/widgets"
    xmlns:gap = "http://phonegap.com/ns/1.0"
    id        = "...."
    version   = "...."> 
<link rel="stylesheet" href="css/jquery.mobile-1.4.2.min.css"> 

<script type="text/javascript" charset="utf-8" src="cordova.js"></script>

<script type="text/javascript" charset="utf-8" src="js/jquery-1.11.1.min.js"></script>
<script type="text/javascript" charset="utf-8" src="js/jquery.mobile-1.4.2.min.js></script> 

注意:我认为cordova.js应该是代码中包含的第一个javascript。任何其他Java脚本都应该遵循。

希望有帮助


这可能会帮助您:谢谢。但仍然不起作用我可以看到你在config.xml中包含了3次AppBrowser插件!!请不要那样做。这可能对你有帮助:谢谢。但仍然不起作用我可以看到你在config.xml中包含了3次AppBrowser插件!!请不要那样做。啊,好的。我没有使用phonegap构建。我已经删除了
行,但仍然有3个对InApp Browser的其他引用:
。哪一个是正确的?好的,那么只是为了确认一下,你是否像我提到的那样使用命令行添加了插件?运行命令时:
cordova plugin ls
是否列出了inapp浏览器插件?我写了
cordova plugin ls
,它说cordova命令不存在。我一直不明白Phonegap和Cordova之间的区别,因为每个人都说这是一样的。我最初使用终端中的phonegap命令创建应用程序,使用phonegap设置指令。这一次,我再次尝试使用Cordova设置说明,并在瞬间安装了inappbrowser,项目立即开始工作!科尔多瓦的指示是如此清晰,尽管两者之间的差异不大。现在一切都好了!谢谢你的帮助:)啊,好的。我没有使用phonegap构建。我已经删除了
行,但仍然有3个对InApp Browser的其他引用:
。哪一个是正确的?好的,那么只是为了确认一下,你是否像我提到的那样使用命令行添加了插件?运行命令时:
cordova plugin ls
是否列出了inapp浏览器插件?我写了
cordova plugin ls
,它说cordova命令不存在。我一直不明白Phonegap和Cordova之间的区别,因为每个人都说这是一样的。我最初使用终端中的phonegap命令创建应用程序,使用phonegap设置指令。这一次,我再次尝试使用Cordova设置说明,并在瞬间安装了inappbrowser,项目立即开始工作!科尔多瓦的指示是如此清晰,尽管两者之间的差异不大。现在一切都好了!谢谢你的帮助:)我本该结束这个问题的,因为我在前一段时间设法解决了这个问题,我确实回答了下面的问题,说我已经解决了。基本上,当我通过CLI设置应用程序时,我使用了“phonegap”。当我尝试添加InAppBrowser时,它不起作用。我重新开始,在CLI中使用了“cordova”。这次成功了,我再也没有问题了。如果您使用的是phonegap构建,我相信您会在CLI中使用“phonegap”,而我没有。我用的是普通的旧科尔多瓦。无论如何,谢谢你的回答,因为你在这么长时间后仍然提交了答案,我将接受你的回答!:)啊,那好吧。。不管怎样,既然你的问题在这里,我希望我的回答也能帮助别人我本该结束这个问题的,因为我前一段时间设法弄明白了,我确实回答了下面的问题,说我已经做了。基本上,当我通过CLI设置应用程序时,我使用了“phonegap”。当我尝试添加InAppBrowser时,它不起作用。我开始