1

我正在使用 IE10,我有两个选项卡: - Tab1:index.html - Tab2:update.html

在选项卡 2 中:

        var tel = getURLParameter('TELNR');
        if (typeof (Storage) !== "undefined") { 
                     localStorage.setItem("telephone", "" + tel + ""); 
    }

在 tab1 中:

                function handleStorage(oEvent) {
                   var telephone = localStorage.getItem("telephone");   
                   if (telephone != null) {
                      alert("New call from this phone number:" + telephone);
                   }
                };
            $(window).bind('storage', handleStorage);

我首先打开等待事件发生的 tab1。然后我打开 tab2 并传递给定的电话号码。tab1 上的侦听器已正确触发,但电话为空。如果我刷新 tab2,这次将使用正确的编号调用 handleStorage。

这在 Chrome 和 Firefox 中完美运行。有什么线索吗?

4

1 回答 1

0

我不确定您的情况,但请注意 IE 在页面加载时比其他浏览器填充 localStorage 更慢/更晚。我已经通过对 IE 执行软页面重新加载、location.reload() 来解决这个问题,之后在后续页面加载期间可以使用 localStorage 数据。

于 2014-01-14T12:07:26.933 回答