美好的一天!
我不确定我是否遇到了这个错误,所以请确认我没有生气。我在3台不同的机器上使用IE 8.0.7600.16385。
这是一个简单的页面(我使用JQuery 1.4.2和1.3.2进行了测试)。如果隐藏链接可见,它只显示警报。当安全区域设置为“可信内部网”或IE7兼容模式时,它在我拥有的所有浏览器和IE8中显示“false”。但是当我上传此页面(或将安全区域更改为“Internet”)时 - 它会显示“true”。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ru">
<head>
<title>
</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="js/jquery.js"></script>
</head>
<body>
<script type="text/javascript">
$(function(){
$('#vct-save-settings').click(function(){
alert('Is visible hidden element: ' + $('#vct-show-similar').is(':visible'));
});
});
</script>
<div class="vct-controls">
<a href="#" id="vct-hide-similar">Shown element</a>
<a href="#" id="vct-show-similar" style="display: none;">Hidden element</a>
<a href="#" id="vct-save-settings">click me!</a>
</div>
</body>
</html>
所以,问题是:无论IE8安全区域如何,为什么JQuery的行为会有所不同?
提前致谢!
答案 0 :(得分:1)
已登录jQuery错误跟踪器(错误6199)。
编辑 - 我刚刚想到这可能是一个安全事情,与在页面上放置<a>
标签并具有“:visited”风格的技巧相关它,然后通过Javascript检查其当前的样式。这样,页面就可以告诉您访问过的其他网站。我不知道为什么会导致这种行为,但这是我能想象安全区会影响行为的唯一原因。