我不确定为什么,但是当我执行以下操作时
<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 函数,但不会弹出查看器。
最佳答案
您的 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/)
此外,如果以上所有内容均已确认但仍然没有成功,您可以尝试将 console.log('inappbrowser.js file has loaded!') 行附加到 inappbrowser.js 文件的末尾以确认它确实正在加载(假设您已经设置了调试控制台并可以查看输出)。
关于javascript - Phonegap/Cordova InAppBrowser 未启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15171426/