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

  • /*
     * @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