不赞成使用全局存储.请改用本地存储

use of globalstorage is deprecated. please use localstorage instead

本文关键字:存储 全局 不赞成      更新时间:2023-09-26

我在做一些javascript编程时收到了这条消息,经过一些谷歌搜索,我不知道这意味着什么,也不知道我是如何导致这个错误的。我包含了下面的代码,有人能向我解释一下吗?或者给我指一个关于如何修复它或发生了什么的资源?奇怪的是,我的程序中还有其他类似这部分的代码,而且它从来没有给我错误,所以我真的很困惑。此外,我只在运行firebug时显示这个错误,否则它就不起作用,也不会显示错误消息。我也在Chrome中尝试过,但也遇到了同样的问题,没有错误消息,但代码不起作用。

foundTextFn = function(){
console.log('fire');
if (foundTextArrayPosition != foundTextArray.length){
    writeText(foundTextArray[foundTextArrayPosition],"happy");                      
    foundTextArrayPosition += 1;
  }
  foundTextFnTimer=setTimeout("foundTextFn()",4000);
}

这是我的另一个方法,基本上是一样的,但效果很好。如果重要的话,所有这些变量都是全局变量,在我的文件开头声明为varfoundTextArrayPosition=0;例如

awayFn = function(){
if (awayArrayPosition != awayArray.length){
        if (changeAwayState){
            changeAwayState = false;
            writeText(awayArray[awayArrayPosition],"normal");
            awayArrayPosition ++;
            temp = pickRandomSpot();
            randomX = temp[0];
            randomY = temp[1];
        }
        else{
            changeAwayState = true;
        }
        awayTimer=setTimeout("awayFn()",10000);
    }
else{
    abandoned = true;
    whyGoneArrayPosition = 0;
    whyGoneFn();
  }
}

这是Firefox 9中的一个弃用错误。globalstorage是在Firefox中存储数据的一种方式,但HTML5引入了localstorage,这是现在的首选方式(使用window.localStorage)。

https://developer.mozilla.org/en/DOM/Storage有更多信息。

我收到了同样的错误消息,并找到了解决方案,也许是冲突的根本原因,我在jzaeffer.github.com/jQuery-validation/jQuery.validate.js库中使用了jQuery validate函数以及jQuery 1.7.1

问题是:我用了$(document)。准备好了两个不同的contexts。一个带有noConflict包装,另一个没有。通过保持两者相同,错误消息消失了。好极了

包装:

jQuery.noConflict();
jQuery(function($) {
$(function() {
  $(document).ready(function() { ...}
});
}); 

请参阅我博客上的这篇文章。

可能与上述问题无关,但我将把它放在这里用于搜索引擎。

我在做一些简单的jQuery:时收到了同样的错误消息

Use of globalStorage is deprecated. Please use localStorage instead.
[Break On This Error]   
$(document).ready(function() {

然而,这是因为忘记了实际包含jQuery.js文件的链接href。。。!