コモンズ・マーカーの表示/非表示をtoggleするgresemonkey
http://commonsmarker.com/のbookmarkletをみたら、結構かんたんにできそうだったのでつくりました。
機能
"\"のキー*1を押すとコモンズ・マーカーが表示したり、非表示になったりします。
こーど
// ==UserScript== // @name commons's marker visuble toggle // @namespace http://d.hatena.ne.jp/trotr // @description // @include http://* // @version 0.0.0 // @author trotr // ==/UserScript== (function() { var BINDKEY="\\"; function CMKtls(){ this.is_view = false; this.element_is_exsit = false; this.id ='cmktls_root'; } var cmktls = new CMKtls(); function delete_cmktls(){ //console.log("delete"); var e = document.getElementById(cmktls.id); if(e){ cmktls.element = e; e.parentNode.removeChild(e); } } function revert_cmktls(){ if(!cmktls.element_is_exsit){ cmktls.element_is_exsit = !cmktls.element_is_exsit; var e = document.createElement("script"); e.src = "http://commonsmarker.com/boot/tools_loader.js"; e.charset='utf-8'; document.body.appendChild(e); } else{ document.body.appendChild(cmktls.element); } } function toggle_view_or_notview(){ cmktls.is_view ? delete_cmktls() : revert_cmktls(); cmktls.is_view = !cmktls.is_view; } var skipEl = {'input': true, 'button': true, 'select': true, 'textarea': true, 'password': true}; window.addEventListener('keypress', function(e){ if (skipEl[e.target.tagName.toLowerCase()]) {return;} if (String.fromCharCode(e.charCode) == BINDKEY){ toggle_view_or_notview(cmktls); } },false); })();
javascriptわからないです><。
動くコードは書けますが、きれいなコードがわかりません><。
追記
noscriptでjavascriptを無効にしたurlでは動かなくなるみたい。
*1:backspaceの左にあるあれです。