阅读:4696回复:6
User Script 中可能用得上的函数
/*** UserScript 可能用得上的函数 ***/
/* 由ID获取元素 var d = $('myDiv'); var divs = $('myDiv','myOtherDiv'); */ function $() { var elements = new Array(); for (var i = 0; i < arguments.length; i++) { var element = arguments[i]; if (typeof element == 'string') element = document.getElementById(element); if (arguments.length == 1) return element; elements.push(element); } return elements; } // 根据XPath获取元素 function xpath(query) { return document.evaluate(query, document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); } // 根据XPath获取元素, 有些不同 function $x(p, context) { if (!context) context = document; var i, arr = [], xpr = document.evaluate(p, context, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); for (i = 0; item = xpr.snapshotItem(i); i++) arr.push(item); return arr; } // 添加 CSS 样式 function addGlobalStyle(css) { var head, style; head = document.getElementsByTagName('head')[0]; if (!head) { return; } style = document.createElement('style'); style.type = 'text/css'; style.innerHTML = css; head.appendChild(style); } /***** 删除 START *****/ // 删除已知元素 function removeElement(e) { if (e) { e.parentNode.removeChild(e); } } // 按照ID删除元素 function removeByID(id) { removeElement(document.getElementById(id)); } // 按照NAME删除元素 function removeByName(name) { var allElements = document.getElementsByName(name); for (var i = 0; i < allElements.length; i++) { thisElement = allElements[i]; removeElement(thisElement); } } // 按照XPath删除元素 function removeByXPath(x) { var allElements = xpath(x); for (var i = 0; i < allElements.snapshotLength; i++) { thisElement = allElements.snapshotItem(i); removeElement(thisElement); } } /***** 删除 END *****/ //配合GM_getValue使用的序列化与反序列化 function deserialize(name, def) { return eval(GM_getValue(name, (def || '({})'))); } function serialize(name, val) { GM_setValue(name, uneval(val)); } 参考资料: 深入浅出 Greasemonkey PS:有空再接着总结 |
|
1楼#
发布于:2007-05-09 19:53
^_^,有空添加到wiki去吧
|
|
|
2楼#
发布于:2007-05-09 19:53
这东西很有必要。就是需要这样的整理。
通篇地看E文说明,头都大了。 |
|
3楼#
发布于:2007-05-09 19:53
继续总结 非常有用。fiag自从翻译了dive ino greasemonkey后,对gm也算是比较了解了!支持!
|
|
|
4楼#
发布于:2007-05-09 19:53
今天Greasemonkey升级到5月的版本,有中文界面了。需要更新《深入浅出 Greasemonkey》了
|
|
5楼#
发布于:2007-05-09 19:53
|
|
|
6楼#
发布于:2007-05-09 19:53
人手啊人手,缺人手啊。。。
|
|