Cordova : 使用谷歌浏览器打开链接
Posted
技术标签:
【中文标题】Cordova : 使用谷歌浏览器打开链接【英文标题】:Cordova : Open a link using Google Chrome 【发布时间】:2016-06-29 08:17:28 【问题描述】:我想从我的 Cordova 应用程序中使用 Google Chrome(而不是其他浏览器)打开一个链接。我尝试了几种解决方案,但没有任何效果。
首先,我尝试创建指向googlechrome://
的链接(使用html <a>
标记)。它会打开 Google Chrome,但我无法选择要打开的 URL。
然后,我尝试创建指向intent://my.url.com/#Intent;scheme=https;package=com.android.chrome;end
的链接。此链接在我从浏览器(如 Firefox 或 Google Chrome)打开时有效,但在我从 Cordova 应用程序中打开时无效。
我也尝试过使用cordova-webintent 插件,就像这样:
window.plugins.webintent.startActivity(
action: window.plugins.webintent.ACTION_VIEW,
url: 'intent://my.url.com/#Intent;scheme=https;package=com.android.chrome;end'
,
function()
alert(url);
,
function()
alert('Failed to open URL via Android Intent');
);
但我收到 “无法通过 Android Intent 打开 URL” 错误。
我该怎么办?
PS : 我在 config.xml 文件中写了<allow-intent href="*" />
。
【问题讨论】:
【参考方案1】:您可以使用cordova-plugin-inappbrowser 和_system
作为目标:
cordova.InAppBrowser.open('http://***.com', '_system', 'location=yes');
或者你可以使用cordova-plugin-webintent2(不知道是不是你用的一样),像这样:
window.plugins.webintent.startActivity(
action: window.plugins.webintent.ACTION_VIEW,
url: "googlechrome://navigate?url=http://www.***.com"
,
function() ,
function()
alert('Failed to open URL via Android Intent.');
console.log("Failed to open URL via Android Intent.")
);
url必须以http或https开头,不允许使用相对url。
【讨论】:
感谢您的回答。第一个解决方案不起作用,因为它询问用户选择什么浏览器,这不是我想要的。但是,您发布的 sn-p 帮助我理解了未记录的googlechrome://
URL Scheme,并且我找到了一个使用它的简单解决方案(请参阅我的答案)。谢谢!
我给了你赏金,因为你帮我找到了很多答案:)
如果它是一个谷歌地图链接,你想强制使用 chrome vs maps 应用程序,上面的InAppBrowser
选项将不起作用。手机会提示用户是否要使用地图或 Chrome 打开链接——如果用户已经默认使用地图,它会简单地绕过问题并在地图中自动打开——违背了强制打开的目的铬。【参考方案2】:
我终于找到了解决办法。我只需要创建一个像这样的链接:
<a href="googlechrome://navigate?url=https://my.url.com/"></a>
【讨论】:
以上是关于Cordova : 使用谷歌浏览器打开链接的主要内容,如果未能解决你的问题,请参考以下文章
阿里旺旺调用谷歌Chrome浏览器打不开网页崩溃了显示错误代码 RESULT_CODE_MISSING_DATA-完美解决