!link
by
noromanba
2013-02-04 [2013/02/04 04:41:57]
(Forked from
!link by
rikuba)
toggle enable/disable links by CSS
@@ -3,19 +3,31 @@
* @description toggle enable/disable links
* @include http://*
* @include https://*
- * @license MIT License http://nrm.mit-license.org/2013
+ * @license MIT License http://opensource.org/licenses/MIT
+ * @contributor rikuba http://let.hatelabo.jp/rikuba/let/gYC-y5Ca8MWVPg (Fork of)
* @require
+ * @private
*/
+// TODO togggle UI, state into a closuer
(function (doc) {
- var id = '-bookmarklet-disable-link-';
- var style = doc.getElementById(id);
- if (style) {
- style.parentNode.removeChild(style);
+ var parent = doc.head || doc.documentElement || doc.body;
+ var id = 'bookmarklet-disable-link';
+ var style;
+ if (!(style = doc.getElementById(id))) {
+ style = doc.createElement('style');
+ style.id = id;
+ style.charset = 'utf8';
+ parent.appendChild(style);
+ }
+
+ if (style.textContent) {
+ style.textContent = '';
return;
}
- style = doc.createElement('style');
- style.id = id;
- style.textContent = 'a[href] { pointer-events: none; }';
- doc.head.appendChild(style);
+ // TODO ignore hasn't textnode anchor e.g. <a href="/"><img></a>
+ style.textContent = [
+ 'a[href] { pointer-events: none; background-color: tan; }',
+ 'a[href]:before { content: "×" }'
+ ].join(' ');
})(document);
/*
* @title !link
* @description toggle enable/disable links
* @include http://*
* @include https://*
* @license MIT License http://opensource.org/licenses/MIT
* @contributor rikuba http://let.hatelabo.jp/rikuba/let/gYC-y5Ca8MWVPg (Fork of)
* @require
* @private
*/
// TODO togggle UI, state into a closuer
(function (doc) {
var parent = doc.head || doc.documentElement || doc.body;
var id = 'bookmarklet-disable-link';
var style;
if (!(style = doc.getElementById(id))) {
style = doc.createElement('style');
style.id = id;
style.charset = 'utf8';
parent.appendChild(style);
}
if (style.textContent) {
style.textContent = '';
return;
}
// TODO ignore hasn't textnode anchor e.g. <a href="/"><img></a>
style.textContent = [
'a[href] { pointer-events: none; background-color: tan; }',
'a[href]:before { content: "×" }'
].join(' ');
})(document);
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。