使用 inappbrowser 和最新的 cordova 5.4.x 版本

Working with inappbrowser and latest cordova 5.4.x version

我安装了插件 (inappbrowser) 和 cordova。我还使用了 window.open = cordova.InAppBrowser.open; 命令来定位 window.open,如我的 html 文件中更新版本中所述,但只有我的 Web 视图有效,而 inapp 浏览器无效。

此外,netbeans 在语句中使用时写出 cordova,因为未声明为全局变量

window.open = cordova.InAppBrowser.open;

在 d 行中引入错误指示

需要完整的教程才能使 inappbrowser 在最新的 cordova 中工作。

我的index.html如下

这是我的index.html

         <!DOCTYPE html>
        <html>
        <head>
        <title>Primrose AVR</title>

        <script type="text/javascript" >

        document.addEventListener("deviceready", onDeviceReady, false);


        enter code here

       window.open = cordova.InAppBrowser.open;
        var iabRef = null;

        function iabLoadStart(event) {
            alert("Loading : " + event.type);
        }
        function iabLoadStop(event) {
            alert("loaded : " + event.type);
        }
        function iabLoadError(event) {
            alert("Error loading: " + event.type);
        }
        function iabClose(event) {
             alert(event.type);
             iabRef.removeEventListener('loadstart', iabLoadStart);
             iabRef.removeEventListener('loadstop', iabLoadStop);
             iabRef.removeEventListener('loaderror', iabLoadError);
             iabRef.removeEventListener('exit', iabClose);
        }

        function onDeviceReady() {



 // IN THE NEXT LINE WHERE cordova.InAppBrowser.open(); IS USED      //(NETBEANS PROMPT THAT CORDOVA IS NOT DECLARED AS A GLOBAL VARIABLE //VARIABLE),THEREFORE MAKING THE LINE IRRELEVANT AND WITH ERROR  


    cordova.InAppBrowser.open('https://kyc.fcmb.com/PrimroseMobile/Security/SignInMobile.aspx/', '_self', 'location=yes'); 

             iabRef.addEventListener('loadstart', iabLoadStart); 
             iabRef.addEventListener('loadstop', iabLoadStop); 
             iabRef.addEventListener('loaderror', iabLoadError); 
             iabRef.addEventListener('exit', iabClose);
        }
        </script>
      </head>
      <body onload=" onDeviceReady()">


      </body>
        </html>

我的 CONFIG.XML 文件

    <?xml version="1.0" encoding="utf-8" standalone="no"?>
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0" id="com.coolappz.PrimroseAvr" version="1.0.0">
    <name>Primrose Avr</name>
    <description>
        Application that works as an inappbrowser and webview.
    </description>
    <author email="b.akintoba@gmail.com" href="http://gmail.com">
        Badmus akintoba
    </author>
    <content src="index.html"/>
    <preference name="permissions"                  value="none" />
    <preference name="webviewbounce"                value="false" />
    <preference name="StatusBarOverlaysWebView"     value="false" />
    <preference name="StatusBarBackgroundColor"     value="#0177C6" />
    <preference name="detect-data-types"            value="true" />
    <preference name="stay-in-webview"              value="false" />
    <preference name="android-minSdkVersion"        value="14" />
    <preference name="android-targetSdkVersion"     value="22" />
    <preference name="phonegap-version"             value="cli-5.1.1" />

    <preference name="SplashScreenDelay"            value="10000" />
    <preference name="SplashScreen"                 value="screen" />

    <platform name="android">
        <icon src="www/logo.png" density="ldpi" />
        <icon src="www/logo.png" density="mdpi" />
        <icon src="www/logo.png" density="hdpi" />
        <icon src="www/logo.png" density="xhdpi" />
        <icon src="www/logo.png" density="xxhdpi" />
        <icon src="www/logo.png" density="xxxhdpi" />
        <splash src="www/al.png" density="land-hdpi"/>
        <splash src="www/ll.png" density="land-ldpi"/>
        <splash src="www/ml.png" density="land-mdpi"/>
        <splash src="www/al.png" density="land-xhdpi"/>
        <splash src="www/al.png" density="land-xhdpi"/>
        <splash src="www/al.png" density="land-xhdpi"/>
        <splash src="www/ap.png" density="port-hdpi"/>
        <splash src="www/lp.png" density="port-ldpi"/>
        <splash src="www/mp.png" density="port-mdpi"/>
        <splash src="www/ap.png" density="port-xhdpi"/>
        <splash src="www/ap.png" density="port-xxhdpi"/>
        <splash src="www/ap.png" density="port-xxxhdpi"/>
    </platform>


    <plugin name="cordova-plugin-whitelist" spec="1"/>
    <access origin="*"/>
<feature name="InAppBrowser">
    <param name="android-package" value="org.apache.cordova.inappbrowser.InAppBrowser" />
</feature>
    <allow-intent href="http://*/*"/>
    <allow-intent href="https://*/*"/>
    <allow-intent href="tel:*"/>
    <allow-intent href="sms:*"/>
    <allow-intent href="mailto:*"/>
    <allow-intent href="geo:*"/>
    <platform name="android">
        <allow-intent href="market:*"/>
    </platform>
    </widget>

我终于安装了我的 INAPPBROWSER 插件,但 INAPPBROWSER 仍然无法运行

请专家帮助我使用 NETBEANS IDE 开发 ANDROID 应用程序

要使 InAppBrowser 正常工作,您可以这样调用它:

cordova.InAppBrowser.open('http://whosebug.com, '_blank', iabOptions);

请注意 InAppBrowser 中大写字母的使用。

其中:

  • 'http://whosebug.com' 是您要在 InAppBrowser
  • 中打开的 URL
  • '_blank' 指定您要打开它的位置,对 InAppBrowser 使用 '_blank',对设备的默认浏览器使用 '_system' 或对 Cordova webview 使用 '_self'(替换您应用的内容)
  • iabOptions 是一个可选的字符串,将配置信息传递给 InAppBrowser,例如 'location=no' 关闭 InAppBrowser 中的地址栏

可以在 NPM page for the IAB plugin.

中找到 IAB 的正确用法以及有关选项的文档