我正在尝试从我的blackberry10应用程序中打开本机浏览器或其他外部浏览器中的链接,但我只能在应用程序浏览器中打开它。请帮帮我。
答案 0 :(得分:2)
您似乎正在使用交叉兼容的org.apache.cordova.inappbrowser插件,但默认操作是在childBrowser窗口中打开新页面。 如果要在系统浏览器中打开它,您有两个选择:
选项1:在通话中使用“_system”目标。
您的代码将如下所示
var ref = window.open('http://www.google.com', '_system');
选项2:使用BlackBerry特定的“调用”API。 为此,您需要先安装调用插件
cordova plugin add com.blackberry.invoke
现在你可以拥有一个(使用org.apache.cordova.device插件)看起来像这样的函数:
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) {
openBlackBerryBrowser('http://www.google.com');
} else {
var ref = window.open('http://www.google.com', '_system');
}
如果您注意到我将目标属性设置为“sys.browser”,这是默认的系统浏览器。如果用户安装了不同的浏览器,您可以指定不同的内容,例如“com.myapp.mybrowser”。