7

谷歌浏览器现在有点奇怪,因为 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>

谷歌浏览器的逻辑背后的原因是什么,当一个链接包含一个标签时,它被禁止作为新标签打开,但当它为空时,它可以继续?

4

1 回答 1

3

经过一些测试:

  • Chrome 版本 - 25.0.1364.172 m:运行良好!
  • Chrome 版本 - 26.0.1410.43 m:工作正常!

打开选项卡的“正常”方式在两个较新版本中都有效。经测试!

我的代码:

<?php
echo '
     <a href="http://www.google.com" onclick="window.open(this.href); return false;">
       <img src="http://static.adzerk.net/Advertisers/2565.png" alt="foo" />
     </a>
     ';
?>

问题应该出在您的页面中...

编辑:BUG SEARCH 我搜索了此问题中报告和修复的错误,但找不到任何东西。

于 2013-03-29T17:40:40.730 回答