AMP HTML <a target="_blank">在iPhone Safari浏览器上无法打开新窗口。

4

最近我正在使用Accelerated Mobile Pages(AMP)开发渐进式Web应用程序。 我必须添加带有target =“_blank”的锚链接,以便用户单击该链接将被重定向到具有锚位置的新窗口。

<a href="External_Url" rel="external" target="_blank">Click</a>

在安卓浏览器上运作良好,但是在iOS Safari浏览器中target="_blank"完全不起作用。我知道这可以通过Javascript解决,但是在AMP中由于惯例我们不能使用任何Javascript。

有什么建议可以让iOS Safari浏览器上的新窗口在AMP html锚点点击时工作并带有target="_blank"吗?

注意:我已经在iPhone Safari设置中配置了“在新选项卡中”。


1
Safari(以前使用)默认情况下通过设置> Safari>阻止弹出窗口来阻止弹出窗口。我不经常使用iOS,所以这可能已经过时了,无论如何,请尝试一下。 - digital-pollution
@Matthew OP刚刚说他正在构建一个AMP页面,所以他不能使用JavaScript。 - digital-pollution
我已经尝试了这个设置 > Safari > 阻止弹出窗口,但问题没有解决。点击链接不会在新窗口中打开,而是在同一窗口中打开。 - Md. Ziyed Uddin
尝试在官方Github页面中打开一个AMPHTML问题 - ReyAnthonyRenacia
是的!我已经在AMPHTML官方的Github页面上创建了问题,并正在等待回复。感谢noogui的建议。 - Md. Ziyed Uddin
在Safari移动版设置中,有一个选项可以禁用_blank目标;默认情况下启用。因此,我必须使用JavaScript在条件下添加_blank目标,如果它不是Safari移动版。 - saida lachgar
2个回答

7

我已经调查了这个问题,并最终找到了问题的合适原因。

这基本上是由文档上的混合内容引起的。该网站通过Https提供服务,而链接使用Http。这是Safari浏览器阻止target="_blank"不去新窗口的主要原因。最新的Safari浏览器由于安全问题阻止此类混合内容链接。

在将所有内容(包括target="_blank"链接)作为Https提供后,现在我的问题已经解决。


3
即使页面和链接遵循相同的协议(http或https),我仍然遇到这个问题。我尝试使用新的HTML 5下载属性,但没有成功。还尝试了不同的Safari设置,但没有运气。然后下载了Chrome,但Chrome也无法打开新标签页。还有其他想法吗? - Karl
问题由于HTTP引起,这在HTTPS上不会发生。已验证!! - Ali Ammaar
5
无论使用哪种协议,我都遇到了相同的问题。 - Daniel Douglas
1
不管协议如何,也存在同样的问题。 - Janar

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接