我有协议(如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商店。