凭枰
狐狸大王
狐狸大王
  • UID32865
  • 注册日期2010-05-17
  • 最后登录2025-02-04
  • 发帖数536
  • 经验489枚
  • 威望1点
  • 贡献值226点
  • 好评度50点
  • 社区居民
  • 忠实会员
阅读:5056回复:4

豆沙绿脚本抛出异常

楼主#
更多 发布于:2012-06-06 09:35
之前发现下面这个帖子:

一个能够真正定义网页背景颜色的脚本 - 用户脚本(User Script) - 广场 @ Mozest.com - Mozilla 社区
https://g.mozest.com/thread-32192-1-1

我整理了下发在脚本库。

豆沙绿#C7EDCC for Greasemonkey
http://userscripts.org/scripts/show/109390

前两天无意中发现有人提交了个bug

会抛出异常 - Userscripts.org
http://userscripts.org/topics/101614


## bug 描述
### opera
Uncaught exception: Error: WRONG_ARGUMENTS_ERR
Error thrown at line 33, column 1 in 109390.user.js:
    Lcolor = document.defaultView.getComputedStyle(alltags[x], "").getPropertyValue("background-Color");
### chrome
Uncaught TypeError: Cannot call method 'getPropertyValue' of null
firefox 未测试
## 如何重现
1. 打开任意网页
2. 打开开发者工具,翻到 Errors 或 Console 可以看到错误
## 问题分析
for x in alltags 循环会迭代 alltags 的所有属性,包括从父类继承的那些属性,但这些属性并不是 HTMLElement ,所以会出现找不到的情况,getComputedStyle 就返回了 null
## 解决方案
采用数组的方式迭代:
var len = alltags.length;
for (var i = 0; i < len; i++) {
...
}
## PS
我是用 qunit 做单元测试的时候发现的,qunit 会报错



脚本盲,完全看不懂~随意请教诸位大神,要如何改?

PS.用Scriptish时,该脚本可将iReader的白色背景也改成豆沙绿,但用GM或在Chrome下就无法影响iReader,能否改进?

部分我的错误控制台信息
时间戳: 2012/6/5 星期二 12:41:40
错误: noteObj is null
源文件:https://mozest.com/api/discuz.php?pagetype=index&;status=11&uid=95686&infosidestatus=2
行:12

时间戳: 2012/6/5 星期二 12:41:40
错误: noteObj is null
源文件:https://mozest.com/api/discuz.ph ... mp;infosidestatus=2
行:12

时间戳: 2012/6/5 星期二 12:24:50
错误: [C7EDCC@userscripts.org] TypeError: document.defaultView.getComputedStyle(document.body, "") is null
源文件:file:///C:/Users/rpz/AppData/Roaming/Mozilla/Firefox/Profiles/f1kzxaev.default/scriptish_scripts/c7edcc@userscriptsorg/c7edcc@userscriptsorg.user.js
行:24

时间戳: 2012/6/5 星期二 12:24:50
错误: [C7EDCC@userscripts.org] TypeError: document.defaultView.getComputedStyle(document.body, "") is null
源文件:file:///C:/Users/rpz/AppData/Roaming/Mozilla/Firefox/Profiles/f1kzxaev.default/scriptish_scripts/c7edcc@userscriptsorg/c7edcc@userscriptsorg.user.js
行:24

时间戳: 2012/6/5 星期二 12:24:50
错误: [C7EDCC@userscripts.org] TypeError: document.defaultView.getComputedStyle(document.body, "") is null
源文件:file:///C:/Users/rpz/AppData/Roaming/Mozilla/Firefox/Profiles/f1kzxaev.default/scriptish_scripts/c7edcc@userscriptsorg/c7edcc@userscriptsorg.user.js
行:24

时间戳: 2012/6/5 星期二 12:24:50
错误: [C7EDCC@userscripts.org] TypeError: document.defaultView.getComputedStyle(document.body, "") is null
源文件:file:///C:/Users/rpz/AppData/Roaming/Mozilla/Firefox/Profiles/f1kzxaev.default/scriptish_scripts/c7edcc@userscriptsorg/c7edcc@userscriptsorg.user.js
行:24

时间戳: 2012/6/5 星期二 12:25:14
错误: pgvMain is not defined
源文件:http://bbs.kafan.cn/thread-1301915-3-1.html
行:534
白左
千年狐狸
千年狐狸
  • UID34985
  • 注册日期2010-12-29
  • 最后登录2025-04-27
  • 发帖数2040
  • 经验656枚
  • 威望0点
  • 贡献值364点
  • 好评度69点
  • 社区居民
  • 忠实会员
1楼#
发布于:2012-06-06 09:35
-いたんですか? -ええ、ずっと
凭枰
狐狸大王
狐狸大王
  • UID32865
  • 注册日期2010-05-17
  • 最后登录2025-02-04
  • 发帖数536
  • 经验489枚
  • 威望1点
  • 贡献值226点
  • 好评度50点
  • 社区居民
  • 忠实会员
2楼#
发布于:2012-06-06 09:35
白左第三次给豆沙绿跪了回到原帖


从头像看,mozest也只有你回我~

技术问题啊!!!
白左
千年狐狸
千年狐狸
  • UID34985
  • 注册日期2010-12-29
  • 最后登录2025-04-27
  • 发帖数2040
  • 经验656枚
  • 威望0点
  • 贡献值364点
  • 好评度69点
  • 社区居民
  • 忠实会员
3楼#
发布于:2012-06-06 09:35
技术问题(笑
-いたんですか? -ええ、ずっと
凭枰
狐狸大王
狐狸大王
  • UID32865
  • 注册日期2010-05-17
  • 最后登录2025-02-04
  • 发帖数536
  • 经验489枚
  • 威望1点
  • 贡献值226点
  • 好评度50点
  • 社区居民
  • 忠实会员
4楼#
发布于:2012-06-06 09:35
白左:技术问题(笑回到原帖


我也想笑啊~

时间戳: 2012/6/11 星期一 23:40:26
错误: [C7EDCC@userscripts.org] Could not convert JavaScript argument arg 0 [nsIDOMWindow.getComputedStyle]
源文件:chrome://scriptish/content/scriptish.js -> file:///C:/Users/***/AppData/Roaming/Mozilla/Firefox/Profiles/f1kzxaev.default/scriptish_scripts/c7edcc@userscriptsorg/c7edcc@userscriptsorg.user.js
行:33
游客

返回顶部