我的Greasemonkey脚本在除了我想要的网站之外的每个网站上运行?

时间:2016-05-20 12:17:27

标签: greasemonkey

我正在尝试设置一个在 Quora 上运行的脚本,但它会在其他所有网站上运行。
我在元数据块中有@include指令,在脚本设置/包含下,它设置为include *,我看不到任何删除它的方法。

Here's一个关于我遇到的同一问题的帖子,但是没有@exclude指令要删除(虽然我确实尝试将@exclude *放在@include之前,但是没有修复任何东西)。我还根据答案here检查了格式,我没有看到任何拼写错误。

这是我的元数据块。

// ==UserScript==
// @name        Quora fixer
// @namespace   quora
// @include     https://www.quora.com/*
// @version     1
// @grant       none
// @require     http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
// @description prevents links from opening in a new tab
// @run-at      document-idle
// ==UserScript==

1 个答案:

答案 0 :(得分:1)

首先,查看并关注My very simple Greasemonkey script is not running? 如果脚本在每个其他页面上运行,并且没有特定于Quora的@excludes,则最可能的脚本在Quora上运行 - 只是没有按预期执行。

其他问题或行动:

  1. 您正在使用@grant none@require - jQuery。这个leads to conflicts and javascript crashes在像Quora这样的网站上。使用@grant GM_addStyle

  2. 如果脚本设置标签(不要与用户设置标签混淆)显示与实际脚本来源不同,那么您要么不看在同一个文件Greasemonkey,或Greasemonkey和/或Firefox已被损坏/混淆。在那种情况下:

    1. 卸载Greasemonkey脚本。
    2. 完全清除浏览器缓存。
    3. 彻底关闭Firefox。使用任务管理器或等效内容来验证内存中是否没有Firefox线程/任务/进程。
    4. 转到Firefox profile folder
    5. 在其中输入gm_scripts文件夹。
    6. 如果您刚刚卸载的脚本中遗留了任何子文件夹,请将其删除。在您的情况下,文件夹的名称应与Quora_fixer类似。
    7. 重启Firefox。
    8. 确保未列出该脚本。
    9. 重新安装Greasemonkey脚本。
    10. 如果仍然无法正常工作,请创建新的Firefox个人资料或尝试使用其他计算机。
  3. 一旦脚本在Quora上触发,并且Firefox的浏览器控制台上没有显示相关错误(请参阅上面的第一个链接),那么如果脚本仍然没有执行您的操作期望,您可能需要申请AJAX-aware techniques