見ているページURLのTwitter検索
by
maRk
2014-04-20 [2014/04/20 22:13:47]
-
/*
* @title 見ているページURLのTwitter検索
* @description
* @include http://*
* @license MIT License
* @require
*/
(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 です。