H::K on anond
-
/*
* @title H::K on anond
* @description replace keyword-link to Hatena Keyword on AnonymousDiary w/ Pager Extentions
* @include http://anond.hatelabo.jp/*
* @contributor azyobuzin http://let.hatelabo.jp/azyobuzin/let/hLHWqbmliOYD (Fork of)
* @license MIT License
* @javascript_url
*/
(function() {
var forEach = Array.prototype.forEach;
var replaceKeywords = function(context) {
forEach.call(context.querySelectorAll("a.keyword"), function(value) {
value.host = "d.hatena.ne.jp";
});
};
replaceKeywords(document.body);
// c.f.
// https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver
// http://blog.gutyan.jp/entry/2014/09/06/MutationObserver
var MutationObserver = window.MutationObserver ||
window.WebkitMutationObserver; // webkit-* e.g. Safari 6
var observer = new MutationObserver(function callbackhell(mutations) {
mutations.forEach(function(mutation) {
forEach.call(mutation.addedNodes, function(node) {
replaceKeywords(node);
});
});
});
// IDKWTD filter by selector(not attributeFilter) e.g. "a.keyword"
observer.observe(document.body, { childList: true, subtree: true });
}());
-
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。