铬 25 iframe 自定义协议不起作用



我有协议(如http)与方案管理与第三方应用程序注册在android。例如,someapp://someaction之类的。

在chrome升级到最新版本(chrome 25)之前,它工作正常,但升级后,它不工作。

我只是使用iframe来加载注册的应用程序。这是我的代码快照。

<iframe src="about:blank" id="myframe"/>
<script>
  function changesrc(){
    document.getElementById("myframe").src="someapp://someaction"
  }
</script> 
对于这个问题有什么想法吗?

我们认为这是一个潜在的安全或恶意行为错误,将不再在Chrome中实现它。详见https://code.google.com/p/chromium/issues/detail?id=169204#c27

有一个解决方案,你可以构造一个用户可以调用的特殊的"intent" url。

基于意图的URI的基本语法如下:
“intent:”
    HOST/URI-path “;”  // Optional
        “#Intent;”
        package=[string];
        action=[string];
        category=[string];
        component=[string];
                    scheme=[string];
    “;end”

解析细节在Android源代码中可用。

启动Zxing条码扫描器应用程序,你可以编码你的href如下intent://scan/# intent;scheme= Zxing;package=com.google.zxing.client.android拿二维码

摘自:https://code.google.com/p/zxing/source/browse/trunk/android/AndroidManifest.xml#97

android manifest将方案定义为" zxing ",包定义为" com.google.zxing.client "。并将主机数据进行"扫描"当用户点击这个链接时,如果他们已经安装了应用程序,他们将直接进入应用程序,或者如果没有直接进入play商店。

相关内容

  • 没有找到相关文章

最新更新