当用户代理设置为 iOS 时,为啥我的 iTunes 链接无法在 Chrome 中打开?
Posted
技术标签:
【中文标题】当用户代理设置为 iOS 时,为啥我的 iTunes 链接无法在 Chrome 中打开?【英文标题】:Why is my iTunes link not opening in Chrome when user-agent is set to iOS?当用户代理设置为 iOS 时,为什么我的 iTunes 链接无法在 Chrome 中打开? 【发布时间】:2013-03-28 15:18:48 【问题描述】:我正在开发一个带有启动屏幕的移动网络(jquery 1.7.1 和 jquery mobile 1.1.0)应用程序,以鼓励访问者下载该应用程序。如果用户代理是 ios 浏览器,则有一个标记显示“在 App Store 上可用”,如果用户代理在 android 浏览器上,则显示“在 Google Play 中可用”......你明白了。
我正在使用开发者工具在 Chrome 中进行测试以欺骗用户代理,因此我可以在不需要实际设备的情况下测试所有模式。当我处于除 iOS 之外的任何模式时,一切都按预期工作。这是我在 iOS 用户代理模式下观察到的:
1)当页面加载时,如果我检查带有链接的元素,一切看起来都很好:
<a id="appleStoreLink" href="https://itunes.apple.com/us/app/idXXXXXXXXX" class="ui-link">
<img class="storeBadgeImage" src="/images/App_Store_Badge.png" >
</a>
2) 当我点击徽章链接时,什么也没有发生。看看我的 href 发生了什么(我再次通过在 chrome 中执行 Inspect Element 看到了这一点:
<a id="appleStoreLink" href="#" class="ui-link">
<img class="storeBadgeImage" src="/images/App_Store_Badge.png" >
</a>
我的 Chrome 版本是 23.0.1271.97 for Windows。
【问题讨论】:
抱歉,没有代码,我们帮不了你。否则,我将责怪外星人。总是外星人... 什么代码?这是一个普通的旧静态 html 文档。我正在导入 jquery 和 jqm 库,但没有对它们做任何事情(至少在此页面上) 点击链接不会改变 html 中的 href。必须有这样做的东西,例如一些javascript 我有更多数据。我在 Mac 上尝试过同样的事情。当我点击那里的链接时,它会打开 iTunes 到我的应用程序页面。我在那个 iTunes URL 上做了一个 curl GET 并发现了相当多的 JavaScript 逻辑。最后,它重定向到以 itmss:// 开头的自定义 url 方案。有关该 URL 方案的更多信息可以在这里找到:***.com/questions/738175/… 我相信,由于我的 PC 没有安装 iTunes,它只是默默地死了。 href突然变成“#”的问题仍然无法解释。 只有我一个人,还是这一切都始于两三个月前对 iOS 版 Chrome 的更新?我所说的这次更新提供了 iOS 上所有 Google 应用程序之间的集成(ala 意图)。 【参考方案1】:要获得正确的链接格式,试试这个工具:Link maker
【讨论】:
以上是关于当用户代理设置为 iOS 时,为啥我的 iTunes 链接无法在 Chrome 中打开?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的 Entity Framework Code First 代理集合为空,为啥我不能设置它?
iTunes Connect 用户 Testflight 坏了?
当异常掩码未设置为 eofbit 时,为啥 getline() 会抛出“std::ios_base::failure”?