我有一个书签小程序,点击书签小程序包括一个PHP脚本(评估为JavaScript文件)到页面的几个表值,并选择作为GET参数传递的值。PHP脚本将页面数据写入MySQL数据库,并输出一条成功消息,该消息被视为JavaScript代码并由浏览器执行。有没有可能用greasemonkey来做这件事,并在点击网页上的现有按钮时调用这个函数。
受本教程的启发,我写了上面的书签。
http://tutorialzine.com/2010/04/simple-bookmarking-app-php-javascript-mysql/
这是bookmarklet代码:
(function () {
var jsScript = document.createElement('script');
jsScript.setAttribute('type', 'text/javascript');
jsScript.setAttribute('src', '/bookmark.php?url=' + encodeURIComponent(location.href) + '&title=' + encodeURIComponent(document.title));
document.getElementsByTagName('head')[0].appendChild(jsScript);
})();请帮帮我。
发布于 2010-05-25 17:42:28
我们经常这样做。这是一个适合您的脚本,只需编辑@include语句,使其与将要使用的页面相匹配即可。
此外,/bookmark.php可能必须更改为完整地址,而不是相对地址。
//
// ==UserScript==
// @name Adding a live button
// @namespace http://www.google.com/
// @description Adds a custom bookmarking button.
// @include http://www.google.com/*
// ==/UserScript==
//
function LocalMain ()
{
/*--- Create a button in a container div. It will be styled and postioned with CSS.
*/
var zNode = document.createElement ('div');
zNode.innerHTML = '<form id="idMyForm" method="get" action="">'
+ ' <p><input type="submit" id="idMySubmitBtn" value="Bookmark it"></p>'
+ '</form>'
;
zNode.setAttribute ('id', 'idBookMarkBtnContainer');
document.body.appendChild (zNode);
zNode.addEventListener ("submit", BookmarkButtonAction, false);
}
function BookmarkButtonAction (zEvent)
{
zEvent.preventDefault();
var jsScript = document.createElement('script');
jsScript.setAttribute('type', 'text/javascript');
/*--- Is "/bookmark.php" going to work on all target pages?
*/
jsScript.setAttribute('src', '/bookmark.php?url=' + encodeURIComponent(location.href) + '&title=' + encodeURIComponent(document.title));
document.getElementsByTagName('head')[0].appendChild(jsScript);
return false;
}
window.addEventListener ("load", LocalMain, false);
//LocalMain();
GM_addStyle
(
'#idBookMarkBtnContainer \
{ \
position: absolute; \
top: 0; \
left: 0; \
\
background: orange; \
border: 3px double #999999; \
margin: 5px; \
opacity: 0.9; \
z-index: 222; \
\
min-height: 10px; \
min-width: 20px; \
padding: 5px 20px; \
} \
#idMySubmitBtn \
{ \
cursor: pointer; \
} \
'
);发布于 2010-05-25 02:06:11
让它成为一个实际的命名函数,而不是一个闭包(就在Greasemonkey脚本中),然后将该函数添加为所述按钮的onclick=事件,直接内联到实际函数的正下方。
虽然,为此目的劫持预先存在的网页按钮是不安全的,也不是一种官方认可的方法-将其附加到Greasemonkey Menu Command并从那里启动它要好得多,也更容易(右键单击小猴子图标查看菜单)。
https://stackoverflow.com/questions/2898974
复制相似问题