添加功能后,Greasemonkey中的简单用户脚本不再有效

时间:2011-08-28 18:42:21

标签: jquery screen-scraping greasemonkey

我刚刚开始使用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;
}'

谢谢!

2 个答案:

答案 0 :(得分:1)

该脚本存在多个问题。阻止它运行的2是:

  1. Artyom所说的流浪撇号 更改:'//@name stanfordWhoScraper// @name stanfordWhoScraper和 更改:}'}

  2. 格式错误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行的单引号。它启动一个字符串,当遇到另一个单引号时(在函数内)结束,因此不会进行解析。