我正在尝试编写一个用户脚本(用于 Chrome),但我一直在碰壁。我的第一个目标是让Scott Reed 的 gSearch jQuery 插件通过脚本在任何页面上工作。
这是我从推送片段和示例中获得的脚本,我在这里和那里一起找到:
我遇到的错误是“ Uncaught TypeError: Cannot read property 'WebSearch' of undefined
”。
// ==UserScript==
// @name Example
// @version 1.2
// @namespace
// @description
// @include *
// ==/UserScript==
function addScripts(callback) {
var script = document.createElement("script");
script.setAttribute("src", "http://google.com/jsapi");
script.addEventListener('load', function() {
var script = document.createElement("script");
script.textContent = "(" + callback.toString() + ")();";
document.body.appendChild(script);
}, false);
document.body.appendChild(script);
var script = document.createElement("script");
script.setAttribute("src", "http://gsearch.scottreeddesign.com/js/jquery.gSearch-1.0-min.js");
script.addEventListener('load', function() {
var script = document.createElement("script");
script.textContent = "(" + callback.toString() + ")();";
document.body.appendChild(script);
}, false);
document.body.appendChild(script);
}
function LoadGoogle()
{
if(typeof google != 'undefined' && google && google.load)
{
google.load("search", "1");
}
else
{
// Retry later...
setTimeout(LoadGoogle, 30);
}
}
LoadGoogle();
function main() {
$("#div").css("border", ".5em solid black");
$('head').append('<link rel="stylesheet" href="http://gsearch.scottreeddesign.com/css/gSearch.css" type="text/css" />');
$('body').append('<div id="search-results"></div>');
$('#div').click(
function() {
$("#search-results").gSearch({search_text : 'example search'});
});
}
// load scripts and execute the main function
addScripts(main);