はてブのスマートフォン版ページで記事リンクをエントリページにする bookmarklet
by
maRk
2017-02-27 [2017/02/27 23:48:53]
スマートフォン用。spamらしき新着の誤タップ防止対策に
@@ -1,26 +1,23 @@
/*
* @title はてブのスマートフォン版ページで記事リンクをエントリページにする bookmarklet
- * @description スマートフォン用。コメントを先にみたいときに
- * @include http://b.hatena.ne.jp/touch
- * @include http://b.hatena.ne.jp/hotentry.touch*
- * // and else category pages
+ * @description スマートフォン用。spamらしき新着の誤タップ防止対策に
+ * @include http://b.hatena.ne.jp/*
* @license MIT License
* @javascript_url
*/
-(function () {
+(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"]');
+ 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){
- 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';
+ base = 'http://b.hatena.ne.jp/entry';
if (is_ssl) {
url = base + '/s/' + u.replace('https://', '');
} else {
@@ -30,14 +27,14 @@
}
})();
-
/*
-### コピペメール送信用
+### for mobile
+# (http://yui.github.io/yuicompressor/)
-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;}})();
+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}})();
###
/*
* @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 です。