gpt4 book ai didi

javascript - Object.prototype 的 UserScript 问题

转载 作者:可可西里 更新时间:2023-11-01 02:38:26 25 4
gpt4 key购买 nike

我正在开发一个 UserScript,我认为为对象创建 2 个原型(prototype)函数会节省更多时间。

Object.prototype.Count = function() {
var size = 0, key;
for (key in this) {
if (this.hasOwnProperty(key)) {
size++;
}
}
return size;
};
Object.prototype.GetEntry = function(index) {
var size = 0, key;
for (key in this) {
if (this.hasOwnProperty(key)) {
if (size == index)
return this[key];
size++;
}
}
return null;
};

这 2 个函数在我的调试控制台上运行得非常好,因为我输入它们并使用它们,但是当我运行我的脚本时,它会出现一些奇怪的错误,这些错误会淹没我的控制台。

Uncaught TypeError: U[a].exec is not a function
Uncaught TypeError: (ec[b] || []).concat is not a function
Uncaught TypeError: X[g].exec is not a function
Uncaught TypeError: (Qn[t] || []).concat is not a function

更像是这样,使网站的 JavaScript 无法正常工作。

如果没有这些功能,我的脚本会像魅力一样工作。我还有更多关于字符串的原型(prototype),但这工作得很好

String.prototype.between = function(prefix, suffix) {
s = this;
var i = s.indexOf(prefix);
if (i >= 0) {
s = s.substring(i + prefix.length);
}
else {
return '';
}
if (suffix) {
i = s.indexOf(suffix);
if (i >= 0) {
s = s.substring(0, i);
}
else {
return '';
}
}
return s;
}

在我的用户脚本中,我包括

  1. jQuery 用户界面 1.11.4
  2. jQuery 1.11.1
  3. Bootstrap 3.3.5

我真的不明白问题出在哪里,因为在调试控制台上它可以正常工作,没有任何错误。

最佳答案

我假设这只是 jQuery 与原生原型(prototype)的冲突。

所以我只能找到它来定义属性的解决方法,

Object.defineProperty(Object.prototype, 'Count ',{
value : function() {},
enumerable : false
});

Object.defineProperty(Object.prototype, 'GetEntry ',{
value : function() {},
enumerable : false
});

jQuery conflict with native prototype.

关于javascript - Object.prototype 的 UserScript 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32169408/

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