目标= _blank不IE8工作,在运行的IE侧由端(I运行通过的VirtualBox的IE的封装)

2019-06-24 14:53发布

IE8有时会阻止,如果他们有目标= _blank集产卵链接。

这个问题似乎限于IE,的腐败安装这种安装多个版本并排侧时。

我编辑了这个问题,一旦我找到了答案,并希望这将节省别人一些时间。 答案是在列出的第一个答案的评论。

Answer 1:

这取决于其独立IE8大家使用。 我发现这同时使用“最终构建网站- Internet Explorer的收藏”是一个问题( http://finalbuilds.edskes.net/iecollection.htm )1.6.0.3版本。 开发商现在已经修复了这个漏洞的版本的。 1.6.0.4,并与目标=“_空白”链接现在正常工作。



Answer 2:

我知道这已经回答了,但我只是想向大家介绍了jQuery的实时绑定功能:

$("a.myclass").live("click",function() {
    $(this).attr("target","_blank");
});

本例中,“目标=‘_空白’”属性设置为与类“MyClass的”,即使是那些使用JavaScript创建的任何链接。



Answer 3:

怎么样,如果你使用target='blank' ? 我知道这是不一样的,但你会得到弹出/窗口在一个新的实例打开,并且您的网站可以验证的XHTML严格模式:)



Answer 4:

是的,严格的XHTML模式不接受目标=“_空白”。

如果你不想使用window.open处处留着,你可以使用rel =“外在”和一些额外的Javascript像下面,使用JQuery:

$(document).ready(function() {
    $("a[rel='external']").attr("target","_blank");
});

编辑:要设置所有生成的链接:

 $("a[rel='external']").ready(function() { 
    $("a[rel='external']").attr("target","_blank");
 });

或者,没有jQuery的,您可以使用脚本, 在这里找到 :

function externalLinks() { 
 if (!document.getElementsByTagName) return; 
 var anchors = document.getElementsByTagName("a"); 
 for (var i=0; i<anchors.length; i++) { 
   var anchor = anchors[i]; 
   if (anchor.getAttribute("href") && 
       anchor.getAttribute("rel") == "external") 
     anchor.target = "_blank"; 
 } 
} 
window.onload = externalLinks;


Answer 5:

这是因为目标=“_空白”没有受到严格的XHTML模式有效。 看到:

http://www.8164.org/xhtml-strict/

以下应适用于所有情况。

<script>window.open("http://www.80vul.com/test/ie8-1.htm");</script>

我相信,随着IE8 Beta 1版本中,默认模式为现在而不是严格的过渡。



文章来源: target=_blank doesn't work in IE8, running IEs side-by-side (I run the package of IEs via VirtualBox)