使用不同的IE8安全设置,JQuery表现得很奇怪

时间:2010-06-17 13:23:50

标签: javascript jquery internet-explorer

美好的一天!

我不确定我是否遇到了这个错误,所以请确认我没有生气。我在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的行为会有所不同?

提前致谢!

1 个答案:

答案 0 :(得分:1)

已登录jQuery错误跟踪器(错误6199)。

编辑 - 我刚刚想到这可能是一个安全事情,与在页面上放置<a>标签并具有“:visited”风格的技巧相关它,然后通过Javascript检查其当前的样式。这样,页面就可以告诉您访问过的其他网站。我不知道为什么会导致这种行为,但这是我能想象安全区会影响行为的唯一原因。