更改 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 标记为空