我刚刚开始使用Greasemonkey并且正在尝试制作一个会刮掉页面的用户脚本 -
在我进入之前,我尝试运行一些测试来提高我对Greasemonkey的熟悉程度(例如我尝试了一个只有警报的用户脚本,这有效)。但是,在我添加功能后,警报(在顶部调用)无法工作 - 为什么会发生这种情况?
//==UserScript==
'//@name stanfordWhoScraper
//@require http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js
//==/UserScript==
alert("TEST");
/*Functions*/
function jquerify(jquerified){
if(!(window.jQuery && window.jQuery.fn.jquery == '1.6.2')) {
var s = document.createElement('script');
s.setAttribute('src', 'http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js');
s.setAttribute('type', 'text/javascript');
document.getElementsByTagName('head')[0].appendChild(s);
jquerified = true;
return jquerified;
}
}
function findName(url){
if (!typeof url) return "Enter string url"
var name = $("#PublicProfile h2").load(url);
if (name == "") return "No name found";
return name;
}'
谢谢!
答案 0 :(得分:1)
该脚本存在多个问题。阻止它运行的2是:
Artyom所说的流浪撇号
更改:'//@name stanfordWhoScraper
至// @name stanfordWhoScraper
和
更改:}'
至}
。
格式错误metadata block:
在前导斜杠之后,空格必需。这是错误的并且失败了:
//==UserScript==
//@name stanfordWhoScraper
//@require http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js
//==/UserScript==
此是正确的:
// ==UserScript==
// @name stanfordWhoScraper
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js
// ==/UserScript==
答案 1 :(得分:0)
删除第2行的单引号。它启动一个字符串,当遇到另一个单引号时(在函数内)结束,因此不会进行解析。