はてブのスマートフォン版ページで記事リンクをエントリページにする bookmarklet

    @@ -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 です。

History

  1. 2017/02/27 23:48:53 - 2017-02-27
  2. 2015/07/09 22:24:04 - 2015-07-09