Javascript jQuery.data()在第一页加载时在IE11中不起作用

Javascript jQuery.data()在第一页加载时在IE11中不起作用,javascript,jquery,internet-explorer-11,Javascript,Jquery,Internet Explorer 11,大家好 首先,我要感谢大家,我在过去在这里找到了数百个很棒的答案。这可能是我第一次找不到 今天我发现,当页面第一次在其选项卡中打开时,IE11不会消化$.data()。下面是测试代码(): $(函数(){ $('do')。数据('data1','1'); $('#do').html($('#do').html()+'文档准备就绪:'+ $('do')。数据('data1')+ “-此处数据仍然存在” ); }); $(窗口)。加载(函数(){ $('#do').html($('#do').ht

大家好

首先,我要感谢大家,我在过去在这里找到了数百个很棒的答案。这可能是我第一次找不到

今天我发现,当页面第一次在其选项卡中打开时,IE11不会消化$.data()。下面是测试代码():


$(函数(){
$('do')。数据('data1','1');
$('#do').html($('#do').html()+'
文档准备就绪:'+ $('do')。数据('data1')+ “-此处数据仍然存在” ); }); $(窗口)。加载(函数(){ $('#do').html($('#do').html()+'
窗口加载:'+ $('do')。数据('data1'))+ “-在IE11中,当第一次打开页面时,数据会丢失;但在同一浏览器选项卡中重新加载(F5、Ctrl+F5等)后,数据会出现”); });
尝试使用IE11打开它(如果您在本地测试,请将文件拖放到浏览器中,而不是双击),然后刷新页面,然后在另一个选项卡/实例中再次打开它

我在谷歌上找不到类似的东西。有人能解释一下这个问题吗?它看起来相当丑陋,除非它是一个暂时的错误

你好

D


p.S.IE版本:11.0.9600.16518

错误应提交给我,我无法在IE11中复制此错误。如果“加载”处理程序在“就绪”处理程序之前运行,则可能会发生这种情况。不管怎么说,依赖于“就绪”和“加载”处理程序之间的排序对我来说似乎是一种不好的代码味道,尽管我猜jQuery会非常努力地确保“就绪”在“加载”之前触发。这与加载与就绪无关,我第一次在onclick处理程序中发现这个问题,这发生在document.ready后30秒。@user3365907您能用该设置一致地重现该问题吗?
<!DOCTYPE HTML>
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="fr">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>

$(function(){

    $('#do').data('data1', '1');

    $('#do').html($('#do').html() + '<br>Document Ready: ' + 
        $('#do').data('data1') + 
        " - Here the data is still present"
    );

});

$(window).load(function(){

    $('#do').html($('#do').html() + '<br>Window Load: ' + 
        $('#do').data('data1') +
        " - Here in IE11 the data is lost when page is opened for the first time; but present after reloading (F5, Ctrl+F5 etc.) in the same browser tab");

});

</script>
</head>
<body>

<div id="do"></div>

</body>
</html>