Javascript 我非常简单的Greasemonkey脚本没有运行?
我对这个非常基本的Greasemonkey脚本有问题,很可能是元数据配置 这是基本文件的完整源代码Javascript 我非常简单的Greasemonkey脚本没有运行?,javascript,debugging,firefox,greasemonkey,Javascript,Debugging,Firefox,Greasemonkey,我对这个非常基本的Greasemonkey脚本有问题,很可能是元数据配置 这是基本文件的完整源代码 // ==UserScript== // @name Google Hello // @namespace https://google.com // @description Basic Google Hello // @include * // @version 1 // ==/UserScript== alert("hi google!"); 这个脚本应
// ==UserScript==
// @name Google Hello
// @namespace https://google.com
// @description Basic Google Hello
// @include *
// @version 1
// ==/UserScript==
alert("hi google!");
这个脚本应该在我访问Google.com时运行,但警报不会弹出。问题是什么
我正在尝试在Ubuntu上使用Firefox运行此脚本。如果未触发警报()
,可能是您单击了Firefox的阻止此页面创建其他对话框
选项,或者设置了浏览器首选项(Firefox的旧版本),或者Firefox的内存变得不稳定
通用Greasemonkey调试步骤:
(针对警报()
的问题添加了一个步骤)
浏览该页面时,单击Greasemonkey图标旁边的向下三角形(或者,您可以在Firefox菜单上打开工具->Greasemonkey),并验证预期的脚本名称是否显示并选中。例如:
按下CtrlShiftJ或同等按钮启动控制台 下面是一个屏幕截图,显示了由网页和Greasemonkey脚本引起的消息和错误在浏览器控制台中的显示方式:
about:config
,搜索capability.policy.default.Window.alert
并删除或重置该值(如果找到)@include*
意味着脚本将针对每个页面启动这几乎总是一个糟糕的做法。(有一些例外,但你的情况并非如此。)@namespace
不控制页面运行的位置。唯一的@namespace
功能是允许多个脚本具有相同的名称(只要它们的@namespace
不同)。看alert()
进行调试。这很烦人,可以掩盖时间问题。使用
console.log()
您可以在浏览器控制台上查看结果和有用的错误消息(提示、提示)。www.Google.com
(适用于美国英语用户)。所以,/@includehttps://google.com
几乎永远不会像您希望的那样工作
建议您使用:
// @match *://www.google.com/*
作为一个起点
在Firefox Greasemonkey中,您还可以使用magic.tld
来支持谷歌的大多数国际域名,如:
// @include http://www.google.tld/*
// @include https://www.google.tld/*
两行都用。请注意,此操作的执行效果不如@match
行。因此,如果您只关心一个国家/地区,只需使用@match
总而言之:
您的命名空间设置为https,请尝试调整为仅https谢谢您的建议,但这对情况没有影响。奇怪。在Win7上运行良好我应该试试chrome吗?同时检查Greasemonkey的用户疑难解答页面:和脚本作者:徒手脸。。。令人惊叹的
// ==UserScript==
// @name Google Hello
// @namespace John Galt
// @description Basic Google Hello
// @match *://www.google.com/*
// @version 1
// @grant none
// ==/UserScript==
console.log ("Hi Google!");