ios - phonegap inappbrowser IOS 不工作

标签 ios cordova inappbrowser

我在 phonegap 中为 IOS 创建了一个项目,我想在我的 IOS 浏览器中而不是在我的应用程序中打开一个 ulr。我尝试使用 inAppBrowser 插件,但它似乎不起作用。

我只用.html, .css, .js files and the config.xml我在 Windows 上使用在线工具构建我的项目 Adobe Phonegap builder

如果我做对了,根据这个链接https: build.phonegap.com/plugins/658没有必要安装你想使用的插件,正如一些人用命令 cordova plugin add... 所建议的那样.您可以通过引用 config.xml 中的插件来完成您的工作。文件。我对吗?

我的 config.xml 文件:

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

<widget xmlns = " www.w3.org/ns/widgets"
        xmlns:gap = " phonegap.com/ns/1.0"
    id    = "com.test.testingApp"
    version   = "1.0.0">

    <name>test</name>

    <!-- app icons and splashscreen -->
    <icon src="icon.png" /> 
    <gap:splash src="splash.png" />

    <platform name="android">
        <icon density="mdpi" src="res/android/icon-48-hdpi.png" />
        <icon density="hdpi" src="res/android/icon-72-hdpi.png" />
        <icon density="xhdpi" src="res/android/icon-96-hdpi.png" />
        <icon density="xxhdpi" src="res/android/icon-144-hdpi.png" />

        <gap:splash gap:density="mdpi" src="splash.png" width="320" height="470" />
        <gap:splash gap:density="hdpi" src="splash.png" width="480" height="640" />
        <gap:splash gap:density="xhdpi" src="splash.png" width="720" height="960" />
        <gap:splash gap:density="xxhdpi" src="splash.png" />
    </platform>

    <platform name="ios">
    <!-- iOS 7.0+ -->
    <!-- iPhone / iPod Touch  -->
        <icon src="res/ios/icon-60.png" width="60" height="60" />
        <icon src="res/ios/icon-60@2x.png" width="120" height="120" />
        <!-- iPad -->
        <icon src="res/ios/icon-76.png" width="76" height="76" />
        <icon src="res/ios/icon-76@2x.png" width="152" height="152" />
        <!-- iOS 6.1 -->
        <!-- Spotlight Icon -->
        <icon src="res/ios/icon-40.png" width="40" height="40" />
        <icon src="res/ios/icon-40@2x.png" width="80" height="80" />
        <!-- iPhone / iPod Touch -->
        <icon src="res/ios/icon.png" width="57" height="57" />
        <icon src="res/ios/icon@2x.png" width="114" height="114" />
        <!-- iPad -->
        <icon src="res/ios/icon-72.png" width="72" height="72" />
        <icon src="res/ios/icon-72@2x.png" width="144" height="144" />
        <!-- iPhone Spotlight and Settings Icon -->
        <icon src="res/ios/icon-small.png" width="29" height="29" />
        <icon src="res/ios/icon-small@2x.png" width="58" height="58" />
        <!-- iPad Spotlight and Settings Icon -->
        <icon src="res/ios/icon-50.png" width="50" height="50" />
        <icon src="res/ios/icon-50@2x.png" width="100" height="100" />
    </platform>


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



    <!-- splashscreen delay -->
    <preference name="SplashScreenDelay" value="5000" /> 

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

    <!-- <content src=" mysite.com/myapp.html" /> for external pages -->
    <content src="index.html" />

    <preference name="loglevel" value="DEBUG" />

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

  <preference name="loadUrlTimeoutValue" value="20000" />
  <preference name="InAppBrowserStorageEnabled" value="true" />
    <!--
  <preference name="splashscreen" value="resourceName" />
  <preference name="backgroundColor" value="0xFFF" />
  <preference name="loadUrlTimeoutValue" value="20000" />
  <preference name="InAppBrowserStorageEnabled" value="true" />
  <preference name="disallowOverscroll" value="true" />
    <preference name="keepRunning" value="false" />
    --> 

    <feature name="App">
  <param name="android-package" value="org.apache.cordova.App"/>
    </feature>
    <feature name="Geolocation">
  <param name="android-package" value="org.apache.cordova.GeoBroker"/>
    </feature>
    <feature name="Device">
  <param name="android-package" value="org.apache.cordova.Device"/>
    </feature>
    <!--
    <feature name="Accelerometer">
  <param name="android-package" value="org.apache.cordova.AccelListener"/>
    </feature>
    <feature name="Compass">
  <param name="android-package" value="org.apache.cordova.CompassListener"/>
    </feature>
    <feature name="Media">
  <param name="android-package" value="org.apache.cordova.AudioHandler"/>
    </feature>
    <feature name="Camera">
  <param name="android-package" value="org.apache.cordova.CameraLauncher"/>
    </feature>
    <feature name="Contacts">
  <param name="android-package" value="org.apache.cordova.ContactManager"/>
    </feature>
    <feature name="File">
  <param name="android-package" value="org.apache.cordova.FileUtils"/>
    </feature>
    -->
    <feature name="NetworkStatus">
  <param name="android-package" value="org.apache.cordova.NetworkManager"/>
    </feature>
    <feature name="Notification">
  <param name="android-package" value="org.apache.cordova.Notification"/>
    </feature>
    <!--
    <feature name="Storage">
  <param name="android-package" value="org.apache.cordova.Storage"/>
    </feature>
    <feature name="FileTransfer">
  <param name="android-package" value="org.apache.cordova.FileTransfer"/>
    </feature>
    <feature name="Capture">
  <param name="android-package" value="org.apache.cordova.Capture"/>
    </feature>
    <feature name="Battery">
  <param name="android-package" value="org.apache.cordova.BatteryListener"/>
    </feature>
    -->
    <feature name="SplashScreen">
  <param name="android-package" value="org.apache.cordova.SplashScreen"/>
    </feature>
    <feature name="SplashScreen">
        <param name="ios-package" value="CDVSplashScreen" />
    </feature>
    <!--
    <feature name="Echo">
  <param name="android-package" value="org.apache.cordova.Echo"/>
    </feature>
    <feature name="Globalization">
  <param name="android-package" value="org.apache.cordova.Globalization"/>
    </feature>
    -->
    <feature name="InAppBrowser"> 
        <param name="android-package" value="org.apache.cordova.inappbrowser.InAppBrowser"/>
    </feature>
    <feature name="InAppBrowser">
        <param name="ios-package" value="CDVInAppBrowser" /> 
    </feature>

    <!-- Deprecated plugins element. Remove in 3.0 -->
    <plugins>
        <gap:plugin name="org.apache.cordova.inappbrowser" version="0.3.3" />
    </plugins>
</widget>


我的 index.html 文件是:

<html> 
<head>      
    <meta charset="utf-8" />
    <meta id="extViewportMeta" name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" />

    <title>Hello World</title>

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

    <link rel="stylesheet" href="  code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.css"> 
    <script src="  code.jquery.com/jquery-1.10.2.min.js"></script>
    <script src="  code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.js"></script> 
</head> 

<body> 
<div data-role="page">

    <!-- MAIN BODY -->
    <div data-role="content" role="main" style="padding-bottom:230px;">
        <div class="main_header">
                    <br />      
                    <a href="#" onclick="window.open(' www.google.com', '_blank', 'location=yes'); return false;">PlanTech</a>
                    <br />      
                    <a href="#" onclick="window.open(' www.google.com', '_system', 'location=no');return false; ">PlanTech</a>
        </div>
    </div>
</div>

<div id="highlight"></div>
</body>
</html>



问题是这两个链接都在我的应用程序中打开(而不是像他们应该的那样在单独的浏览器中打开)。结果,没有机会回到我的 index.html单击其中一个链接后的页面,而不结束应用程序并重新启动它。

如果有人能帮我解决这个问题,我将不胜感激,因为我在互联网上搜索了几次,但都被卡住了。

提前感谢大家的宝贵时间。

最佳答案

我有一个针对此的解决方案...单击其中一个链接后没有机会返回到我的 index.html 页面

如果你完成 documentation ,

1 - 返回类似的窗口对象

     var ref = window.open ('www.google.com', '_blank', 'location=yes');

2 - 为退出事件添加一个事件监听器。

    ref.addEventListener(exit, myexitcallback);

3 - close 方法将关闭浏览器窗口。所以,在你的函数回调中:

function myexitcallback{
   ref.close();
}

希望这能解决您的问题。 祝你好运。

关于ios - phonegap inappbrowser IOS 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24454184/

相关文章:

ios - 应用程式获准销售后何时激活应用程式内购买

cordova - 之前的启动画面在 IONIC 应用程序中显示一秒钟

javascript - 在 Ionic 中为外部 API 处理重定向 Uri

ios - 无法在扩展 Objective - C 类的 Swift 类中访问私有(private)变量

cordova - ionic : cordova-plugin-inappbrowser set default target

ios - Ionic 4 - Inappbrowser 无法在 IOS 中加载

javascript - InAppBrowser 应使用后台线程警告

android - AIR ADT 重复包中的图标

ios - 检查用户是否在 map 中选择了另一个注释

ios - 如何获取 ( 使用 struct :codable) parsing string in a pickerview 的结果