当用户代理设置为 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 中打开?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我不能为我的 iOS 应用申请促销代码?

以英国英语为默认语言的 IOS 应用提交

为啥我的 Entity Framework Code First 代理集合为空,为啥我不能设置它?

iOS iTunes 商店国家

iTunes Connect 用户 Testflight 坏了?

当异常掩码未设置为 eofbit 时,为啥 getline() 会抛出“std::ios_base::failure”?