【问题标题】:IndexedDBShim.js error : JavaScript runtime error: Assignment to read-only properties is not allowed in strict modeIndexedDBShim.js 错误:JavaScript 运行时错误:在严格模式下不允许分配给只读属性
【发布时间】:2013-12-06 05:55:53
【问题描述】:

我正在试验 IndexedDB jquery API,因为 indexedDB 与 safari / ipad 不兼容。我刚刚开始使用它并在仅运行 HTML 并且我无法使用文件中的任何内容时出现此错误。 我引用的文件是IndexedDBShim

我的 html 看起来像

    <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script src="JavaScript1.js" type="text/javascript"></script>

    <script src="/Scripts/IndexedDBShim.js" type="text/javascript"></script>
    <script src="/Scripts/IndexedDBShim.min.js" type="text/javascript"></script>
    <script src="/Scripts/jquery.indexeddb.js" type="text/javascript"></script>
    <script src="/Scripts/jquery.indexeddb.min.js" type="text/javascript"></script>
</head>
<body>
    <button onclick="test()">CREATE DATABASE</button>
</body>
</html>

Test() 函数中没有任何内容。 我得到的错误是: 0x800a13b5 - JavaScript 运行时错误:在严格模式下不允许分配给只读属性 在第 1653 行 window.indexedDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB || window.oIndexedDB || window.msIndexedDB;

我用错了吗?

谢谢

【问题讨论】:

  • 您好像遇到过这个问题:github.com/axemclion/IndexedDBShim/pull/72
  • @RoryKoehein 感谢您的回复,您的权利,但我似乎没有包含该文件,尽管我确实有它在我从网站下载的 zip 文件中。现在我确信我做错了什么。我也没有安装 grunt,因为我不确定如何安装,也不确定这是否重要
  • 你不会有那个文件,它是一个构建到IndexedDBShim.js的源文件,然后被压缩到IndexedDBShim.min.js。这确实意味着您同时包含 IndexedDBShimjquery.indexeddb 两次(构建文件和缩小文件)。
  • 最简单的解决方案是在IndexedDBShim.js 中注释掉'use strict',直到他们解决了这个问题(合并了我提到的拉取请求)
  • @RoryKoehein 哦,对了,假设我想更改我的 globalVars.js 文件,我将如何构建它来制作新的 IndexedDBShim.js

标签: javascript jquery indexeddb shim


【解决方案1】:

你不再需要使用这条线了:

window.indexedDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB || window.oIndexedDB || window.msIndexedDB;

在所有浏览器中,关键字 indexedDB 现在是标准的 http://caniuse.com/#search=IndexedDB

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-05
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多