Microsoft JScript运行时错误:"数组"在使用花哨的盒子时在IE 9中是未定义的错误



这是我的HTML代码:

 <a id="hidden_link" href="StatusNotification.aspx" class="statusNotification fancybox.iframe"></a>

这是我的jquery(fancybox)代码

<script type="text/javascript" language="javascript">
$(document).ready(function() {
    $(".statusNotification").fancybox({
        helpers: {
            overlay: {
                closeClick: false
            },
            // prevents closing when clicking OUTSIDE fancybox
            title: {
                type: 'float'
            }
        },
        scrolling: 'no',
        //prevents scrolling
        width: 600
    })
    $('#hidden_link').fancybox().trigger('click');
});
</script>

我在页面加载时调用了上面的脚本以显示一个花哨的框,但它没有显示,给出了错误:

Microsoft JScript runtime error: 'Array' is undefined** in IE 9

但它在IE 7和IE 8中工作正常。

有人知道这个问题的解决方案吗?

编辑:仅当我尝试使用JavaScript触发它时,才会发生此错误。如果我通过单击链接手动触发它,它工作正常。

您首先将fancybox()添加到$('.statusNotification'),然后将其添加到$('#hidden_link')在此示例中是相同的。

将 JavaScript 更改为:

$(".statusNotification").fancybox({
  helpers   : { 
  overlay : {closeClick: false}, // prevents closing when clicking OUTSIDE fancybox 
  title :{ type : 'float'}
  },
  scrolling : 'no',  //prevents scrolling
  width : 600
})
$('#hidden_link').trigger('click');
​

这行得通,在这里试试:http://jsfiddle.net/J9uEV/

最新更新