应用浏览器中的phonegap打开链接不起作用

时间:2018-11-07 14:05:25

标签: android phonegap-build phonegap inappbrowser

我通过PhoneGap Build service(https://build.phonegap.com/apps)来构建Android APP

我已经将它们添加到config.xml

                <input type="hidden" name="enhanced-select">
                <i class="mdc-select__dropdown-icon"></i>
                <div class="mdc-select__selected-text"></div>
                <div class="mdc-select__menu mdc-menu mdc-menu-surface demo-width-class">
                    <ul class="mdc-list" id="listbox1">
                        <li class="mdc-list-item--selected mdc-select__native-control" [attr.data-value]=""></li>
                        <li *ngFor="let option of options" class="mdc-list-item" [attr.data-value]="option.value">
                            {{ option.label }}
                        </li>
                    </ul>
                </div>

并将它们添加到我的HTML文件中

<plugin name="cordova-plugin-inappbrowser"/>
<access origin="*"/>
<access origin="tel:*" launch-external="yes"/>
<access origin="sms:*" launch-external="yes"/>
<plugin name="cordova-plugin-whitelist"/>
<allow-intent href="http:///"/>
<allow-intent href="https:///"/>
<allow-intent href="tel:*"/>
<allow-intent href="sms:*"/>
<allow-intent href="mailto:*"/>
<allow-intent href="geo:*"/>

最后...我尝试了

<script>
    document.addEventListener("deviceready", onDeviceReady, false);
    function onDeviceReady() {
        window.open = cordova.InAppBrowser.open;
    }
</script>

<a href="#" onclick="cordova.InAppBrowser.open('https://www.google.com/', '_system');return false;">link</a>

我还尝试了在某些答案中找到的选项'location = yes'

但是所有这些都不起作用。...我错过任何一步了吗?

PhoneGap Android版本:cli-6.5.0、6.1.2和Android版本:7.1.1

2 个答案:

答案 0 :(得分:0)

尝试在您的config.xml文件中添加此核心phonegap插件,您可以访问此git repo https://github.com/phonegap/phonegap-template-hello-world/blob/master/www/config.xml

答案 1 :(得分:0)

我遇到了同样的问题。但是经过很多努力,这才解决了我的问题。

首先删除并重新添加InAppBrowser插件,

cordova plugin remove cordova-plugin-inappbrowser

cordova plugin add cordova-plugin-inappbrowser

然后将以下内容添加到您的 config.xml

<feature name="InAppBrowser">
    <param name="android-package" value="org.apache.cordova.InAppBrowser" />
</feature>

请记住,这次,InAppBrowser必须位于您的 plugins 文件夹中。

然后,您应用中的定位标记应该看起来像

<a id="to-recover" href="#" onclick="cordova.InAppBrowser.open('https://www.google.com', '_system', 'location=yes');" >google</a>

注意:由于Cordova Android 7.1.3中存在错误,InAppBrowser无法正常工作。也许那是影响您的问题。因此,请坚持使用Cordova Android 7.1.2或升级到7.1.4

参考:

Android Class Not Found

Plugin doesn't install correctly

您可以在安装时指定Cordova Android版本,

cordova platform add android@7.1.4