はてブのスマートフォン版ページで記事リンクをエントリページにする bookmarklet
by
maRk
2017-02-27 [2017/02/27 23:48:53]
スマートフォン用。spamらしき新着の誤タップ防止対策に
-
/*
* @title はてブのスマートフォン版ページで記事リンクをエントリページにする bookmarklet
* @description スマートフォン用。spamらしき新着の誤タップ防止対策に
* @include http://b.hatena.ne.jp/*
* @license MIT License
* @javascript_url
*/
(function(){
var l = window.location;
if (!l.hostname == 'b.hatena.ne.jp' && !document.documentElement.dataset.platform == "touch") return;
var sel = document.querySelectorAll('a.entry-title[data-track-click-target="direct"]:not([href*="b.hatena.ne.jp/entry/"])');
Array.prototype.forEach.call(sel, function(e){
var epage = make_epage(e.href);
return e.href = epage;
});
function make_epage(u) {
var is_ssl = u.indexOf('https:') > -1 ? true : false;
var url,
base = 'http://b.hatena.ne.jp/entry';
if (is_ssl) {
url = base + '/s/' + u.replace('https://', '');
} else {
url = base + '/' + u.replace('http://', '');
}
return url;
}
})();
/*
### for mobile
# (http://yui.github.io/yuicompressor/)
javascript:(function(){var a=window.location;if(!a.hostname=="b.hatena.ne.jp"&&!document.documentElement.dataset.platform=="touch"){return}var c=document.querySelectorAll('a.entry-title[data-track-click-target="direct"]:not([href*="b.hatena.ne.jp/entry/"])');Array.prototype.forEach.call(c,function(f){var d=b(f.href);return f.href=d});function b(e){var g=e.indexOf("https:")>-1?true:false;var d,f="http://b.hatena.ne.jp/entry";if(g){d=f+"/s/"+e.replace("https://","")}else{d=f+"/"+e.replace("http://","")}return d}})();
###
*/
-
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。