【问题标题】:Cordova inAppBrowser plugin issue in ios and blackberryios和黑莓中的Cordova inAppBrowser插件问题
【发布时间】:2015-02-27 13:18:04
【问题描述】:

我正在为 BB10、android、iod、windows8 开发 cordova 应用程序。

其中我需要在默认设备浏览器中打开 url。

为此我使用了 org.apache.cordova.inappbrowser 插件。

但是在使用它之后,我遇到了从浏览器返回后重新启动应用程序的问题。 [除windows8外所有平台都有问题]

所以我使用了以下解决方案,

jQuery(document).delegate('.external', 'click', function(e) {
        window.open(e.target.href, '_system', 'location=yes');
        e.preventDefault();
});

<a class="external" href="myUrl">Track Now</a>

使用上述解决方案, 安卓:运行良好。 Blackberry10 问题:Url 没有在外部浏览器中打开它只在应用程序浏览器中打开, IOS 问题:url 根本不起作用(当我点击链接时没有任何反应)。

因此,非常感谢您提供的任何帮助。

【问题讨论】:

标签: angularjs ionic-framework cordova-plugins inappbrowser


【解决方案1】:

是的,下面是我的情况的解决方案。 并且在所有安卓、黑莓10和IOS平台上都能正常运行。

通过添加黑莓调用插件解决黑莓问题。

function openBlackBerryBrowser(url) {
            function onInvokeSuccess() {
                alert("Invocation successful!");
            }
            function onInvokeError(error) {
                alert("Invocation failed, error: " + error);
            }
            blackberry.invoke.invoke({
                target: "sys.browser",
                uri: url
            }, onInvokeSuccess, onInvokeError);
    }
    if (window.device.platform.toLowerCase().indexOf('blackberry') > -1) {        
        jQuery(document).delegate('.external', 'click', function(e) {
            openBlackBerryBrowser(e.target.href);
        });
    } else {        
        jQuery(document).delegate('.external', 'click', function(e) {
            e.preventDefault();
            var ref = window.open(e.target.href, '_system', 'location=yes');
        });
    }

希望这会对某人有所帮助。

【讨论】:

    【解决方案2】:

    在我看来没有必要使用 jquery 来做到这一点。你可以尝试这样的事情,但我只在 Android 和 iOS 上进行了测试:

    在您的控制器中:

    $scope.openLink = function(url){
       window.open(url, '_system');
    };
    

    html:

    <a href="#" ng-click="openLink('http://www.google.com')">www.google.com</a>
    

    让我知道是否也适用于 BB!

    【讨论】:

    • 实际上我之前也尝试过相同的方法,但它会产生我在帖子中提到的问题(应用程序重新启动问题)。我不知道为什么。我们使用 angular 和 ionic 所以只是猜测可能有问题。
    猜你喜欢
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多