見ているページURLのTwitter検索
by
maRk
2014-04-20 [2014/04/20 22:13:47]
@@ -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 です。