【发布时间】:2012-10-04 01:09:08
【问题描述】:
我正在尝试编写一个用户脚本(用于 Chrome),但我一直碰壁。我的第一个目标是让Scott Reed's gSearch jQuery plugin 通过脚本在任何页面上工作。
这是我从推挤 sn-ps 和示例中获得的脚本,我在这里和那里一起找到:
我遇到的错误是“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);
【问题讨论】:
-
这是 GM 的示例脚本。你的呢?
-
这就是为什么我说“这是我从 sn-ps 获得的脚本以及这里和那里的示例”。我想我可以换一种说法。无论如何,我只能尝试将 sn-ps 像笨拙的拼图一样推到一起这么久......相信我,我很想能够花时间学习..任何形式的帮助都会受到我的极大赞赏以及任何希望在未来做类似事情的人。
标签: jquery google-chrome google-api userscripts google-search-api