diff options
author | anekos | 2010-12-12 18:08:36 +0900 |
---|---|---|
committer | anekos | 2010-12-12 18:09:34 +0900 |
commit | bbc899568ba504cf75b2bc7e71c04e69d7aa79da (patch) | |
tree | 4d6dc983d3c020683abcc66d82e30ffc0e6dace4 | |
parent | 18324f064373424392dbdb3d5bbf2f9e8bec513d (diff) | |
download | vimperator-plugins-bbc899568ba504cf75b2bc7e71c04e69d7aa79da.tar.bz2 |
Follow Fx4
-rw-r--r-- | xpathBlink.js | 101 |
1 files changed, 52 insertions, 49 deletions
diff --git a/xpathBlink.js b/xpathBlink.js index 48c6ee0..9929a96 100644 --- a/xpathBlink.js +++ b/xpathBlink.js @@ -1,5 +1,5 @@ let INFO = -<plugin name="xpathBlink" version="1.1.1" +<plugin name="xpathBlink" version="1.1.2" href="http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk/xpathBlink.js" summary="blink elements by XPath" xmlns="http://vimperator.org/namespaces/liberator"> @@ -28,9 +28,9 @@ let PLUGIN_INFO = <author mail="teramako@gmail.com" homepage="http://vimperator.g.hatena.ne.jp/teramako/">teramako</author> <require type="extension" id="inspector@mozilla.org">DOM Inspector</require> <license>MPL 1.1</license> -<version>1.1.1</version> +<version>1.1.2</version> <minVersion>2.2</minVersion> -<maxVersion>2.3</maxVersion> +<maxVersion>3.0</maxVersion> <updateURL>https://github.com/vimpr/vimperator-plugins/raw/master/xpathBlink.js</updateURL> <detail><![CDATA[ for test xpath @@ -47,55 +47,58 @@ It's need "DOM Inspector" addon (function(){ let extid = "inspector@mozilla.org"; -if (!Application.extensions.has(extid) || !Application.extensions.get(extid).enabled){ - liberator.echomsg("DOM Inspector is not installed or enabled", 2); - return; -} -let flasher = null; -function getFlasher(){ - if (!flasher){ - flasher = Cc['@mozilla.org/inspector/flasher;1'].createInstance(Ci.inIFlasher); - flasher.color = '#FF0000'; - flasher.thickness = 2; - } - return flasher; -} -/** - * @param {Node} aNode - */ -function blink(aNode){ - if (aNode.nodeType == 3) aNode = aNode.parentNode; - let toggle = true; - let flasher = getFlasher(); - function setOutline(){ - if (toggle){ - flasher.drawElementOutline(aNode); - } else { - flasher.repaintElement(aNode); - } - toggle = !toggle; - } - for (let i=1; i<7; ++i){ - setTimeout(setOutline, i * 100); - } -} -commands.addUserCommand(['xpathb[link]','xb'],'XPath blink nodes', - function(expression){ - let result; - try { - result = util.evaluateXPath(expression.string); - } catch(e) { - liberator.echoerr('XPath blink: ' + e); - } - if (!result.snapshotLength){ - liberator.echo('XPath blink: none'); +Application.getExtensions( + function (extensions){ + if (!extensions.has(extid) || !extensions.get(extid).enabled){ + liberator.echomsg("DOM Inspector is not installed or enabled", 2); return; } - for (let i=0; i<result.snapshotLength; i++){ - blink(result.snapshotItem(i)); + let flasher = null; + function getFlasher(){ + if (!flasher){ + flasher = Cc['@mozilla.org/inspector/flasher;1'].createInstance(Ci.inIFlasher); + flasher.color = '#FF0000'; + flasher.thickness = 2; + } + return flasher; + } + /** + * @param {Node} aNode + */ + function blink(aNode){ + if (aNode.nodeType == 3) aNode = aNode.parentNode; + let toggle = true; + let flasher = getFlasher(); + function setOutline(){ + if (toggle){ + flasher.drawElementOutline(aNode); + } else { + flasher.repaintElement(aNode); + } + toggle = !toggle; + } + for (let i=1; i<7; ++i){ + setTimeout(setOutline, i * 100); + } } - },{} -); + commands.addUserCommand(['xpathb[link]','xb'],'XPath blink nodes', + function(expression){ + let result; + try { + result = util.evaluateXPath(expression.string); + } catch(e) { + liberator.echoerr('XPath blink: ' + e); + } + if (!result.snapshotLength){ + liberator.echo('XPath blink: none'); + return; + } + for (let i=0; i<result.snapshotLength; i++){ + blink(result.snapshotItem(i)); + } + },{} + ); +}); })(); // vim: set fdm=marker sw=4 ts=4 et: |