阅读:2340回复:4
Greasemonkey有时无法正常工作
最近我有2个脚本经常工作不正常,打开浏览器控制台(ctrl+shift+J),会捕捉到诸如此类错误:
Greasemonkey 访问违规:unsafeWindow 无法调用 GM_getValue。 Greasemonkey 访问违规:unsafeWindow 无法调用 GM_xmlhttpRequest。 其中一个脚本是自制的,另外一个脚本是著名的youtube center,github上有相应报错,并不是只有我遇到: https://github.com/YePpHa/YouTubeCenter/issues/445 https://github.com/YePpHa/YouTubeCenter/issues/379 现在的问题在于, 1. 此问题是30版本之后才开始出现(或者29,不确定); 2. 此问题不是百分百出现; 3. 我可以通过禁用adblockplus、重启、重新启用adblockplus、再重启的方法临时解决,但是过一段时间又会出现 我以“Greasemonkey 访问违规:unsafeWindow 无法调用 GM_getValue。”为关键词没有搜到什么有用的信息 对应的英文是 “Greasemonkey access violation: unsafeWindow cannot call GM_getValue” 基本只能搜到youtube center里的报错…… |
|
1楼#
发布于:2014-05-22 11:36
这个问题显然是脚本执行的上下文跑到了unsafewindow里面了,类似于执行了window=unsafeWindow这样的操作。
如果没有用到gm相关函数(比如GM_getValue,GM_setValue,GM_xmlhttpRequest,GM_log)的话这个不会有任何问题,不然的话就…… 而且我也完全想不通为什么脚本的上下文会跑到unsafewindow里面去。 |
|
2楼#
发布于:2014-05-22 12:46
这脚本的代码竟然都不分行
不会是这个问题吧 |
|
3楼#
发布于:2014-05-22 13:23
故意不分行的,算是一种低级的代码混淆
|
|
4楼#
发布于:2014-05-30 03:43
![]() Greasemonkey 访问违规:unsafeWindow 无法调用 GM_getValue。 Greasemonkey 访问违规:unsafeWindow 无法调用 GM_xmlhttpRequest。 这样的错误 禁用再重新启用adblock就恢复正常了 这太蠢了 难道和我require了jquery有关 |
|