prototype.js抑制

【「@run-at document-start」必須】Prototype JavaScript framework (prototype.js) による組み込みメソッド破壊について、Tampermonkey、およびViolent monkeyが干渉するバグを回避します。

当前为 2016-03-13 提交的版本,查看 最新版本

此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.cn-greasyfork.org/scripts/17932/112905/prototypejs%E6%8A%91%E5%88%B6.js

  1. // ==UserScript==
  2. // @name prototype.js抑制
  3. // @version 1.0.0
  4. // @description 【「@run-at document-start」必須】Prototype JavaScript framework (prototype.js) による組み込みメソッド破壊について、Tampermonkey、およびViolent monkeyが干渉するバグを回避します。
  5. // @license Mozilla Public License Version 2.0 (MPL 2.0); https://www.mozilla.org/MPL/2.0/
  6. // @compatible Opera
  7. // @compatible Chrome
  8. // @run-at document-start
  9. // @author 100の人
  10. // @homepage https://greasyfork.org/users/137
  11. // ==/UserScript==
  12.  
  13. (function () {
  14. 'use strict';
  15.  
  16. if (window.chrome && !Object.extend) {
  17. Object.defineProperty(Array, 'from', { writable: false });
  18. Object.defineProperty(Object, 'extend', {
  19. writable: false,
  20. value: function (destination, source) {
  21. for (var property in source) {
  22. let descriptor;
  23. if (property === 'toJSON' || property !== 'sub' && (descriptor = Object.getOwnPropertyDescriptor(destination, property)) && !descriptor.enumerable) {
  24. continue;
  25. }
  26. destination[property] = source[property];
  27. }
  28. return destination;
  29. },
  30. });
  31. }
  32.  
  33. })();