ben*_*tzy 4 android google-chrome google-play
我一直在从我的域名重定向过去一年的用户:
to:market:// details?id = com.example.myapp
今天我在Chrome浏览器应用程序的Nexus 5/LG G3/OnePlus One上查看了它,它停止了工作!
现在,当我的用户尝试下载应用时,他们会被重定向到断开的链接.
任何人都知道Android中Chrome应用中的这一变化吗?
小智 6
从阅读chrome的40版本开始,有一些洞察力的人喜欢分享 http://blog.chromium.org/2014/12/chrome-40-beta-powerful-offline-and.html
他们更新了内容安全策略级别2,它可以更好地控制重定向. https://w3c.github.io/webappsec/specs/content-security-policy/#changes-from-level-1
如果正在加载的资源是重定向的结果,则现在将忽略源表达式的路径组件,如第4.2.2.3节"路径和重定向"中所述.
默认情况下会禁止重定向,并使用新的unsafe-redirect表达式明确允许重定向.
所以我做了一些测试.如果您的初始操作是从重定向开始的(无论是window.location还是http 302),它将显示错误.但是,一旦我创建了一个到市场的超链接://并明确点击它,它工作正常.
现在我最终在两者之间创建了一个网页,我要求用户点击链接继续.
我在具有不同OS / Play商店/ Play服务/浏览器的不同设备上测试了该网址。看起来与浏览器有关,但与OS或Play服务无关。
最初,我更新了Play服务和Google Play商店,而我的旧Chrome(v18)可以market://details?id=正常打开网址。
之后,我将Chrome(v18)更新到了40版。而且它不再起作用了。
同时,FireFox和默认的“浏览器”仍会打开此网址并重定向到Google Play商店应用。
PS我在Chromium错误跟踪器中注册了问题。让我们看看是否会有任何响应:https : //code.google.com/p/chromium/issues/detail?can=2&q=market&colspec=ID%20Pri%20M%20Week%20ReleaseBlock%20Cr%20Status%20Owner%20Summary %20OS%20Modified&id = 454396&thanks = 454396&ts = 1422888121
更新 [6.05.15]:不幸的是,他们决定不解决此问题,说这是计划的行为。如他们所说,用户应自己单击链接。只有这样,才能重定向到设备上的应用程序。
因此,我现在仅看到一个“解决方法”:创建一个页面,其中包含诸如“单击下面的链接以转到该应用程序”之类的文本,然后包含诸如以下的链接:
<a href="market://details?id=com.example.myapp"> Load Example App </a>
要么
<a href="intent://foo.bar#Intent;scheme=blabla;package=com.example.myapp;end" > Load App/ Activate your Profile </a>
| 归档时间: |
|
| 查看次数: |
15487 次 |
| 最近记录: |