gpt4 book ai didi

javascript - 如何让 jquery.couch.app.js 与 IE8 一起工作

转载 作者:数据小太阳 更新时间:2023-10-29 06:13:47 25 4
gpt4 key购买 nike

我已经在 Windows XP SP3 的 IE7 和 IE8(在所有兼容模式下)和 Windows 7 Ultimate 的 IE8(在所有兼容模式下)上进行了测试,但在两者上都以相同的方式失败。我正在运行来自 couchapp 的最新 HEAD存储库。这在我的 OSX 10.6.3 开发机器上运行良好。我已经在 Windows 7 Ultimate 上使用 Chrome 4.1.249.1064 (45376) 和 Firefox 3.6 进行了测试,它们都运行良好。与 OSX 10.6.3 上的 Safari 4 和 Firefox 3.6 一样

这是错误信息

Webpage error details

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0) Timestamp: Wed, 28 Apr 2010 03:32:55 UTC

Message: Object doesn't support this property or method Line: 159 Char: 7 Code: 0 URI: http://192.168.0.105:5984/test/_design/test/vendor/couchapp/jquery.couch.app.js

这里是一段“令人反感”的代码,它在 Chrome、Firefox 和 Safari 上运行良好。如果说失败在从文件 jquery.couch.app.js 开始的 qs.forEach() 行上

  157 var qs = document.location.search.replace(/^\?/,'').split('&');
158 var q = {};
159 qs.forEach(function(param) {
160 var ps = param.split('=');
161 var k = decodeURIComponent(ps[0]);
162 var v = decodeURIComponent(ps[1]);
163 if (["startkey", "endkey", "key"].indexOf(k) != -1) {
164 q[k] = JSON.parse(v);
165 } else {
166 q[k] = v;
167 }
168 });

最佳答案

forEach() 是最近添加到 JavaScript 规范中的函数,因此并非所有浏览器都支持它。

您可以在 MDC 上阅读有关它的信息: https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array/forEach

在“兼容性”下,您会找到使 forEach() 可用的代码段。

if (!Array.prototype.forEach)
{
Array.prototype.forEach = function(fun /*, thisp*/)
{
var len = this.length >>> 0;
if (typeof fun != "function")
throw new TypeError();

var thisp = arguments[1];
for (var i = 0; i < len; i++)
{
if (i in this)
fun.call(thisp, this[i], i, this);
}
};
}

因此,将上面的代码复制并粘贴到您的脚本中,forEach() 应该可以正常工作。

关于javascript - 如何让 jquery.couch.app.js 与 IE8 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2726684/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com