更改 iOS/ipad 上链接的 URL(应用内)

Posted

技术标签:

【中文标题】更改 iOS/ipad 上链接的 URL(应用内)【英文标题】:Changing URL for a link on iOS/ipad (in-app) 【发布时间】:2012-10-30 07:14:15 【问题描述】:

我正在编辑嵌入在 ipad 应用程序中的 web 视图。它包含我无法用标签包装的各种多媒体元素。因此,我在页面上有一个元素,并根据用户的操作动态更改 href,然后强制点击发生。

这实际上很好用,但动态特性却不行。两者都可以在 ipad 上的 Safari 中使用,但只有第一个可以在应用程序中使用。

html:
<a class="mylink" href="http://www.google.com">Test Click</a>

javascript (on touchend):
$('.mylink')[0].click();

以上工作。但这不是:

HTML:
<a class="mylink" href="http://www.google.com">Test Click</a>

javascript (on touchend):
var url = 'http://mywebsite.com/' + somethingDynamic;
$('.mylink').attr('href',url);
$('.mylink')[0].click();

如果我在分配 href 属性后发出警报,我已经确认它已被正确更改。在后一种情况下,点击甚至永远不会发生。

【问题讨论】:

【参考方案1】:

$('.mylink')[0] 会将其转换为 DOM 对象,并且它没有 click() 方法..

试试这个

$('.mylink:eq(0)').click();  // This is a jQuery Object

同时为其分配一个新的 href 并触发点击事件不会重定向到新链接。您必须明确点击该链接。

尝试使用 window.location

重定向它
window.location = url

【讨论】:

好的,今天早上试一试。我唯一的疑问是基于我已经确认第一个块完全可以正常工作,无论是在应用程序内还是在 Safari ios6 中。它是给我带来麻烦的第二个障碍,即便如此,也仅限于应用内。根据您的回复,这两个块都不应该起作用,但它们确实起作用。奇怪的是为什么它会失败 only 当我在运行 click() 命令之前使用 jquery 更改 href 属性时。

以上是关于更改 iOS/ipad 上链接的 URL(应用内)的主要内容,如果未能解决你的问题,请参考以下文章

在 Facebook 上链接的规范网址而不是真实网址。动态 OpenGraph 标记为空

检测 iframe 内 SPA(单页应用程序)的 URL 更改

更改 apk 中的 url

在 Angular 上链接异步任务

(iOS) iPad 应用程序在启动时随机崩溃

如何从屏幕截图中排除叠加层?