2

我不知道为什么,但是当我执行以下操作时

<img id="buttons" src="https://qikout.com/apppics/MerchantPromo.png" style="margin:1% auto; width:99% !important;" onclick="openextlink('https://qikout.com');"/>

function openextlink(url)
{
var ref = window.open(url, '_blank', 'location=no');
//window.plugins.childBrowser.showWebPage(url, { showLocationBar: true });
}

它工作正常。但是,当我想从另一个函数中运行 openextlink 时,它不会打开窗口,而是加载页面,但不会向用户显示。

例如

function scan(){

    window.plugins.barcodeScanner.scan( function(result) {
            if(result.format != "QR_CODE")
            {
            alert("That is not a valid google Tag");
            }
            else
            {
                n = result.text.split(".com/");
                loadpet();

                    //alert("We got a barcode\n" +
                    //     "Result: " + result.text + "\n" +
                    //     "Format: " + result.format + "\n" +
                    //     "Cancelled: " + result.cancelled);

            }
        }, function(error) {
            alert("Scanning failed: " + error);
        }
    );

}

function loadpet(){
    $("#buttons").trigger("click");
    var link = "http://www.google.com/" + n[1];
    openextlink(link);
}

它通过

<div onclick="scan();" class="menu-right"></div>

基本上它扫描得很好,它得到结果,它将结果移动到 loadpet 函数,甚至将它发送到 openextlink 函数,但不会弹出查看器。

4

1 回答 1

0

您的 window.open 代码看起来正确(基于 InAppBrowser 从 Cordova 3.0 开始的工作方式)。

您能确认以下所有内容吗?

  • InAppBrowser 插件在您的 /#myapp#/platforms/#platform#/www/cordova_plugins.js 文件中有一个条目?
  • InAppBrowser 插件文件夹位于 /#myapp#/platforms/#platform#/plugins/
  • InAppBrowser 的相关 SRC 文件也在平台文件夹中(例如 IOS 插件 src 文件为:/#myapp#/platforms/#platform#/#appname#/Plugins/)

此外,如果上述所有内容都得到确认但仍然没有运气,您可以尝试在您的 inappbrowser.js 文件末尾附加一个 console.log('inappbrowser.js 文件已加载!') 行以确认它确实正在加载(假设你有设置调试控制台并可以查看输出)。

于 2013-09-26T15:41:24.017 回答