“'window.webkitStorageInfo'不推荐使用”在迭代窗口对象时发出警告

时间:2016-03-17 12:16:48

标签: javascript google-chrome

请在html / javascript中考虑以下代码:

<html>
<head>
<script>
    var myObject = {};
    var mySecondReference = myObject;

    for (s in window)
      if (window[s]===myObject)
        alert("reference found: " + s);
</script>
</head>
</html>

它迭代窗口对象以搜索对给定对象的任何引用。它在任何地方都可以正常工作,但在Chrome / ium中给出了以下警告:

'window.webkitStorageInfo' is deprecated. Please use 'navigator.webkitTemporaryStorage' or 'navigator.webkitPersistentStorage' instead.
test.html:8 'webkitIndexedDB' is deprecated. Please use 'indexedDB' instead.

是否应该让我害怕(特别是对于未来版本的Chrome浏览器)?

如何摆脱这些消息?

2 个答案:

答案 0 :(得分:2)

这不是你必须担心的事情,如果你不想看到它们,只需过滤它

var myObject = {};
var mySecondReference = myObject;

for (s in window)
  if (!/webkitStorageInfo|webkitIndexedDB/.test(s) && window[s]===myObject)
    alert("reference found: " + s);

答案 1 :(得分:-3)

错误消息告诉您应该做什么

  

&#39; window.webkitStorageInfo&#39;已弃用。请使用&#39; navigator.webkitTemporaryStorage&#39;或者&#39; navigator.webkitPersistentStorage&#39;代替。

     

test.html:8&#39; webkitIndexedDB&#39;已弃用。请使用&#39; indexedDB&#39;代替。

因此,请使用window.webkitStorageInfowindow.webkitTemporaryStorage

,而不是使用navigator.webkitPersistentStorage

您可以检查这些是否存在:

var storageInfo = null;

if(navigator.webkitTemporaryStorage) {
  storageInfo = navigator.webkitTemporaryStorage;
} else if(navigator.webkitPersistentStorage) {
  storageInfo = navigator.webkitPersistentStorage;
} else if (window.webkitStorageInfo) {
  storageInfo = window.webkitStorageInfo;
}

indexedDB弃用消息

也是如此
var yourDB = null;

if(indexedDB) {
  yourDB = indexedDB;
} else if(webkitIndexedDB) {
  yourDB = webkitIndexedDB;
}