barrackdo's scripts

 

[Bookmarklet]Google翻訳のテスト

拙作の見ているページを Bing Translator で翻訳するブックマークレットのGoogle翻訳版です。

上記のと同時に作っていたけど、Bingのに比べて最小幅が広いためスマホでは横スクロールが発生する原因となってしまっていてウザかったので投稿していなかった。

本日のFenrirデベロッパーブログ「Sleipnir Mobile for Android 2.9 をリリースしました!!好きな機能を1ステップにするカスタマイズが可能に!」見ててふとタブレットなら大丈夫なんじゃね?と思い付いた次第です。

私はタブレット持って無いので、今スマホで試してみたら問題無くなってるorz 機種が変わったからかな。T-01C(854×480ドット)→F-04E(1280×720ドット)

肝心のブックマークレットはこちら「GoogleTranslator

ソースはこんな感じ

javascript:(function(){var d=document;var b=d.body;var o=d.createElement('script');o.setAttribute('src','//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit');o.setAttribute('type','text/javascript');b.appendChild(o);var v=b.insertBefore(d.createElement('div'),b.firstChild);v.id='google_translate_element';v.style.display='none';var p=d.createElement('script');p.text='function googleTranslateElementInit(){new google.translate.TranslateElement({pageLanguage:\"auto\",multilanguagePage:true},\"google_translate_element\");}';p.setAttribute('type','text/javascript');b.appendChild(p);}());

問題無いようであれば、Tapmarkletsに投稿しようと思う

AutoPagerize Setting for New Sleipnir Search

{
// Sleipnir ウェブ検索
url: ‘http:\/\/search.fenrir-inc.com\/\?.*’,
nextLink: ’#nextPageUrl’,
insertBefore: ’#foot’,
pageElement: 'div#main>div>div’
},

[Sleipnir]Bing TranslatorブックマークレットのSeahorse化

BingWebsiteTranslationToolbar
// ==UserScript==
// @name         Bing Website Translation Toolbar
// @namespace    http://d.hatena.ne.jp/barrackdo/
// @author       破楽戸.*
// @include      http://*
// @include      https://*
// @type         SleipnirScript
// ==/UserScript==

(function() {

var flag = false;

var lang = document.getElementsByTagName("html")[0].lang;
if(lang == "ja" || lang.length == 0) {
	flag = true;
}

if(!flag) {
	var d=document;
	var b=d.body;
	var s=d.createElement('script');
	s.setAttribute('src','//labs.microsofttranslator.com/bookmarklet/default.aspx?f=js&to=ja');
	s.setAttribute('type','text/javascript');
	b.insertBefore(s, document.body.firstChild);
}

}());
まぁ、拙作のGoogle翻訳のやつ流用しただけですが。というか、ブックマークレットを素直に移植したレベルですねw 追加点はhtmlタグに日本語が指定されているか、言語の指定自体が無い場合に発動しないくらいです。なお、翻訳したくないページは@excludeに自分で追記していくこと

[Bookmarklet]SleipnirStartの人気トピックス表示モード時に画面を広くする

SleipnirStartの人気トピックス表示モード時に実行すると[2日前][昨日][今日]の右隣りにボタンが出来る。
ボタンを押すと「ロゴとモード切替ボタン」がある段が非表示になる。同時にその分だけリスト部分の高さが広くなる。 もう一度押すと元に戻る。
ただし、Sleipnir2.9.8(+IE9)でのみ動作確認してるんで他は知らね。
あと、そのうち気が向けばSeaHorseスクリプト化する。

javascript:(function(){var%20a=document.createElement('a'),as=a.style;a.id='anc';a.className='display_true';a.target='_self';a.title='トップバーを隠す';a.innerHTML='image';as.textDecoration='none';as.display='block';as.height='26px';as.color='#000';as.overflow='hidden';as.marginLeft='420px';var%20tcpc=document.getElementById('tabContHot').firstChild.firstChild.firstChild;tcpc.appendChild(a);a.href="javascript:(function(){var%20bxh=document.getElementById('BX_head').style,tchm=document.getElementById('tabContHotMain').style,h=parseInt(tchm.height.replace('px',''));var%20a=document.getElementById('anc');if(a.className=='display_true'){bxh.display='none';tchm.height=h+57+'px';a.className='display_false';}else{bxh.display='block';tchm.height=h-57+'px';a.className='display_true';}})();";})();

[Bookmarklet]LocalStorageの勉強がてら

そのドメインでのlocalStorage一覧

javascript:(function(){var%20key="";for(var%20i=0;localStorage.length>i;i++){key+=localStorage.getItem(localStorage.key(i))+"\n";}alert(key);})();

そのドメインのlocalStorage消去

javascript:(function(){localStorage.clear()})();

Twitterホームのツイート欄の文字列をlocalStorageに保存

javascript:(function(){var%20ta=document.getElementsByTagName("textarea");for(var%20i=0;ta.length>i;i++){if(ta[i].className="twitter-anywhere-tweet-box-editor"){localStorage.setItem("tatbe",ta[i].innerText);}}})();

上のブックマークレットで保存した文字列をツイート欄にコピー

javascript:(function(){var%20ta=document.getElementsByTagName("textarea");for(var%20i=0;ta.length>i;i++){if(ta[i].className="twitter-anywhere-tweet-box-editor"){ta[i].innerText=localStorage.getItem("tatbe");}}})();

[Sleipnir]アドレスバーと検索バーを交互に表示・非表示にするUAスクリプト

SwitchAddressbar_Searchbar
(function(){
	var pnir = sleipnir.api;
	if(pnir.CtrlDown) {
		pnir.ExecuteAction("ShowToolBar_ShowSearchBar(1)");
		pnir.ExecuteAction("ShowToolBar_ShowAddressBar(0)");
		pnir.ExecuteAction("SetFocusSearchBar");
	}else {
		pnir.ExecuteAction("ShowToolBar_ShowAddressBar(1)");
		pnir.ExecuteAction("ShowToolBar_ShowSearchBar(0)");
		pnir.ExecuteAction("SetFocusAddressBar");
	}
})();
/*
ツールバーの表示状態の情報の取得方法が分からなかったので、[Ctrl]キーを押してるかどうかで分岐させてみた。
個人的にマウスの第4ボタンに[Ctrl]、第5ボタンに[Shift]を登録してあるので。
フォーカスも当てるようにしてあるが、その辺は無い方がいい気がしないでもない。
“ShowToolBar_~"系のアクションに引数付けなければトグルになるので、フォーカスを削り、あらかじめ一方を非表示にしてれば分岐自体必要に無いように見えるかもしれないが、表示/非表示を実行する順番の関係で一方で画面がちらつくので気に入らなかったのだ。
*/

[Sleipnir]クリップボードにアクティブタブのタイトルとURIを格納する

CopyTweetTemplete
(function(){
clipboardData.setData("Text", document.title+" "+document.URL);
Status = 'クリップボードにコピーされました';
})();

[Sleipnir]アドレスバーにタイトルとページURIを切り替え表示させる

SwitchTitleAndUriAtAddressBar
(function(){
	var pnir = sleipnir.api;
	if(pnir.AddressBarString == pnir.URL) {
		pnir.AddressBarString = document.title;
	}else {
		pnir.AddressBarString = pnir.URL;
	}
})();