見ているページURLのTwitter検索

    @@ -2,14 +2,13 @@ * @title 見ているページURLのTwitter検索 * @description * @include http://* - * @include https://* * @license MIT License * @require * @private */ (function(){ var loc = document.location.href, search_url; - if(loc.indexOf("http") !==0){ + if(loc.indexOf("http") !==0 || loc.indexOf("https")===0){ alert('このページは検索しません'); return; } @@ -38,12 +37,9 @@ function remove_paramator (loc){ var search, params, i, re; - /* If you need any queries, you would add to this line. */ - var regex = /^utm_|^fb_action|^fb_source|^action_object_map|^action_type_map|^action_ref_map|^ref|cliant|ie|oe|aq|oq|source=hp|source|rls/; + var regex = /^utm_|^fb_action|^fb_source|^action_object_map|^action_type_map|^action_ref_map|^ref/; search = location.search.replace( /^\?/, '' ).split( '&' ); - - params = []; if (!search) return; @@ -56,13 +52,13 @@ } } if (re) { - canonical = window.location.protocol + location.hostname + location.pathname + (( params.length ) ? '?' + params.join( '&' ) : '' ); + canonical = "http://" + location.hostname + location.pathname + (( params.length ) ? '?' + params.join( '&' ) : '' ); } - return canonical; + return canonical; } function is_nohost(l){ - canonical = window.location.protocol + location.hostname + l; + canonical = "http://" + location.hostname + l; return canonical; } })();
  • /*
     * @title 見ているページURLのTwitter検索
     * @description
     * @include http://*
     * @license MIT License
     * @require
     * @private 
     */
    (function(){
      var loc = document.location.href, search_url;
        if(loc.indexOf("http") !==0 || loc.indexOf("https")===0){
          alert('このページは検索しません');
          return;
        }
      var tw_search_URI = 'https://twitter.com/search?q=';
      var query =  '&f=realtime'; // if result Top Tweets  query=''
      var canonical = document.querySelector('link[rel="canonical"]')||loc;
    
      if( canonical === location.href ){
        canonical = remove_paramator(loc);
        search_url = encodeURIComponent(canonical);
      } else {
        canonical = canonical.getAttribute("href");
          if(canonical.indexOf("http")!==0){
            is_nohost(canonical);
          }  
          search_url = encodeURIComponent(canonical);
      }
      alert("検索URL = " + decodeURIComponent(search_url));
      location.href = tw_search_URI + search_url + query;
    
    // use: https://gist.github.com/wozozo/1714762 @wozozo
    /*
     * Remove utm parameters from url
     * ( Use this as bookmarklet )
    */
    
    function remove_paramator (loc){
      var search, params, i, re;
    /* If you need any queries, you would add to this line.  */
      var regex = /^utm_|^fb_action|^fb_source|^action_object_map|^action_type_map|^action_ref_map|^ref/;
      search = location.search.replace( /^\?/, '' ).split( '&' );
      params = [];
    
      if (!search) return;
      i = search.length;
      while( i-- ){
        if( !search[i].match( regex ) ){
          params.push( search[i] );
        } else {
          re = true;
        }
      }
      if (re) {
          canonical = "http://" + location.hostname + location.pathname + (( params.length ) ? '?' + params.join( '&' ) : '' );
      }
        return canonical;
    }
    
    function is_nohost(l){
        canonical =  "http://" + location.hostname + l;
      return canonical;
    }
    })();
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2014/04/20 22:13:47 - 2014-04-20
  2. 2014/04/20 22:10:05 - 2014-04-20
  3. 2014/04/20 21:56:32 - 2014-04-20