我從Google取得代碼以從Google收集網址。我將它保存爲filename.js。當我運行該文件時顯示「'文檔'未定義」。代碼顯示問題的部分是文檔在Google URL收集器中未定義
// ==UserScript==
// @name Google URL Harvester
// @namespace http://userscripts.org/scripts/show/42998
// @description Harvests URLs from a Google Search
// @include http://www.google.co.uk/
// @include http://www.google.com/
// ==/UserScript==
var btn_container;
var inputs = document.getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++) {
if (inputs[i].name == "btnG")
btn_container = inputs[i].parentNode;
}
function find_next_link(html) {
var url = html.match(/(<a href="[^"]+">)\s*<span[^>]+style="[^"]*background-position:\s?-76px\s/);
if (url == null)
return false;
var div = document.createElement("div");
div.innerHTML = url[1];
return div.firstChild.href;
}
function harvest(query_url, callback) {
ajax(query_url, function(e){
var als = e.match(/<a[^>]+class=l[^>]*>/g);
for (var i = 0; i < als.length; i++) {
urls.push(als[i].match(/href="([^"]+)"/)[1]);
}
var next_url = find_next_link(e);
if (next_url)
harvest(next_url, callback);
else
callback();
});
}
function ajax(url, callback) {
var req = new XMLHttpRequest();
req.onreadystatechange = function() {
if (req.readyState == 4 && req.status == 200) {
callback(req.responseText);
}
}
req.open("GET", url, true);
req.send("");
}
var new_button = document.createElement("input");
new_button.type = "button";
new_button.value = "Harvest URLs";
new_button.setAttribute("onsubmit", "return false;");
btn_container.appendChild(new_button);
var urls = [];
new_button.addEventListener("click", function(){
var query_url = unsafeWindow.document.forms[0].action + "?num=100&q="+escape(unsafeWindow.document.forms[0].q.value);
document.body.innerHTML = "<img src='http://oneworldwebsites.com/images/wheel%20throbber.gif' />";
harvest(query_url, function() {
document.body.innerHTML = urls.join("<br/>");
});
},false);
這裏我沒有定義文件(如果有必要的話)。任何人都可以糾正這個代碼中的錯誤。操作系統是Windows 7.
我將這個文件保存到我的桌面harv.js並運行它。我做錯了什麼?
我寧願使用jQuery'$(文件)。就緒(函數(){' \t'的console.log($('輸入[名稱=「btng 「]')。parent())' '})' – diEcho 2011-03-09 05:49:11
@narayanpatra,你到底想幹什麼? – diEcho 2011-03-09 05:49:47
你使用什麼瀏覽器?你可以對文檔的其他部分看起來如何? – 2011-03-09 05:49:58