谷歌浏览器现在有点奇怪,因为 v25 不再尊重 302 重定向标头,并且在页面刷新时愉快地重新发布表单数据,而 v24 和所有其他浏览器运行良好。我不确定这是否只是一个临时的浏览器错误,所以让我描述一下我正在尝试解决的谜团。
据我所知,您无法使用 HTML 或 JavaScript 打开选项卡,但默认情况下,没有明确设置尺寸的新窗口将作为选项卡打开。
首先我试过这个:
<a href="URL" onclick="window.open(this.href);return false">
<img src="NICE IMAGE" alt="foo">
</a>
这在任何地方都有效,除了在 Chrome 中它作为未经授权的弹出窗口被击落。有趣的是,有时当我继续点击它时,Chrome 改变了主意,让链接仍然打开(作为选项卡)。但情况并非总是如此,有时链接仍然无效。
经过几个小时的试验(并且已经从onclick
简单target="_blank"
的. 当我用包含一些文本的 a 替换并单击 时,链接无法打开(Chrome 已将其识别为不需要的弹出窗口),但是当我单击标签本身(具有固定大小或填充)时,然后它被接受了,一个新的标签诞生了。<img>
<a>
<img>
<span>
<span>
<a>
最后,我只是将图像作为 CSS 背景包含在内,而<a>
标签仍然为空。使用此标记的每个浏览器现在似乎一切正常:
<a href="URL" target="_blank" style="background:url('NICE_IMAGE'); height:XXX; width:XXX" title="Description"></a>
谷歌浏览器的逻辑背后的原因是什么,当一个链接包含一个标签时,它被禁止作为新标签打开,但当它为空时,它可以继续?