はてブのスマートフォン版ページで記事リンクをエントリページにする bookmarklet
by
maRk
2017-02-27 [2017/02/27 23:48:53]
スマートフォン用。spamらしき新着の誤タップ防止対策に
/*
* @title はてブのスマートフォン版ページで記事リンクをエントリページにする bookmarklet
* @description スマートフォン用。コメントを先にみたいときに
* @include http://b.hatena.ne.jp/touch
* @include http://b.hatena.ne.jp/hotentry.touch*
* // and else category pages
* @license MIT License
* @javascript_url
*/
(function () {
var l = window.location;
if (!/^http\:\/\/b\.hatena\.ne\.jp\/.*\.?touch/.test(l)) return;
var sel = document.querySelectorAll('a.entry-title[data-track-click-target="direct"]');
Array.prototype.forEach.call(sel, function(e){
if(/\/entry\.touch\//.test(e.href)) return;
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.touch';
if (is_ssl) {
url = base + '/s/' + u.replace('https://', '');
} else {
url = base + '/' + u.replace('http://', '');
}
return url;
}
})();
/*
### コピペメール送信用
javascript:(function(){var l=window.location;if(!/^http\:\/\/b\.hatena\.ne\.jp\/.*\.?touch/.test(l))return;var sel=document.querySelectorAll('a.entry-title[data-track-click-target="direct"]');Array.prototype.forEach.call(sel,function(e){if(/\/entry\.touch\//.test(e.href))return;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.touch';if(is_ssl){url=base+'/s/'+u.replace('https://','');}else{url=base+'/'+u.replace('http://','');}return url;}})();
###
*/
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。