【问题标题】:chrome 25 iframe customize protocol don' tworkchrome 25 iframe 自定义协议不工作
【发布时间】:2013-02-26 19:44:28
【问题描述】:

我有协议(如 http),其方案由在 android 中注册的 3rd 方应用程序管理。即,someapp://someaction 或类似的东西。

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

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

<iframe src="about:blank" id="myframe"/>
<script>
  function changesrc(){
    document.getElementById("myframe").src="someapp://someaction"
  }
</script> 

对这个问题有什么想法吗??

【问题讨论】:

    标签: android google-chrome iframe protocol-handler


    【解决方案1】:

    我们认为这可能存在安全或恶意操作错误,因此不会再在 Chrome 中实施。详情请见https://code.google.com/p/chromium/issues/detail?id=169204#c27

    有一个解决方案,您可以构造一个用户可以调用的special "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;在锚点上的 href 结束为跟随 拍个二维码

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

    android manifest 定义 scheme 为“zxing”,package 为“com.google.zxing.client.android”,host 数据为“scan” 当用户点击此链接时,如果他们已经安装了该应用程序,他们将直接进入该应用程序,或者如果没有直接进入 Play 商店。

    【讨论】:

    • 当使用这种方法时,是否可以通过类似于在链接到应用商店时附加“&referrer=[whatever]”的方式来指定引荐来源网址?
    • @LukeMelia 我正在调查。
    • 谢谢,这似乎是一项对 Google 很重要的要求,当然对我们使用旧样式也很重要。
    • 你能找到什么吗?
    • @LukeMelia 我找不到任何具体的东西,例如,如果您安装应用程序,原始意图也不会重新调用。
    猜你喜欢
    • 2019-11-10
    • 1970-01-01
    • 2019-09-08
    • 1970-01-01
    • 2011-10-28
    • 1970-01-01
    • 2016-07-20
    • 2021-03-09
    相关资源
    最近更新 更多