firegesture スクリプト
firefox3になってからall in one tuika gestureの更新がなくて
firegestureというものに乗り換えてみようと思ったものの
結局、ドメイン関連の戻ったり、進んだりする機能がないので
all in one gesture のスクリプトを貰ってくることにした。
あっているかが不明なので怖いのですが
「前のドメインの最後まで戻る」と「現在のドメインの先頭まで戻る」という機能をよく使っていたので
これをスクリプトに書いてみました(というかコピペと少し付け足しただけ)
「前のドメインの最後まで戻る」
var webNav = getWebNavigation();
var aRwnd = -1;
var aCurrDomainEndPoint = false;
var sessionH = webNav.sessionHistory;
var lURI = sessionH.getEntryAtIndex(sessionH.index, false).URI;
var c_host = lURI ? lURI.host : null ;
var check = (aRwnd == -1) ? function(aInd) {return aInd >= 0;} : function(aInd) {return aInd < sessionH.count;}
var start = sessionH.index + aRwnd;
var t_host;
for (var i = start; check(i); i += aRwnd) {
lURI = sessionH.getEntryAtIndex(i, false).URI;
t_host = lURI ? lURI.host : null ;
if ((c_host && !t_host) || (!c_host && t_host) || (c_host != t_host)) {
if (aCurrDomainEndPoint) {
if (i == start) {
c_host = t_host;
continue;
}
i -= aRwnd;
}
webNav.gotoIndex(i);
return;
}
}
webNav.gotoIndex((aRwnd == -1) ? 0 : sessionH.count - 1 );
「現在のドメインの先頭まで戻る」
var webNav = getWebNavigation();
var aRwnd = -1;
var aCurrDomainEndPoint = true;
var sessionH = webNav.sessionHistory;
var lURI = sessionH.getEntryAtIndex(sessionH.index, false).URI;
var c_host = lURI ? lURI.host : null ;
var check = (aRwnd == -1) ? function(aInd) {return aInd >= 0;} : function(aInd) {return aInd < sessionH.count;}
var start = sessionH.index + aRwnd;
var t_host;
for (var i = start; check(i); i += aRwnd) {
lURI = sessionH.getEntryAtIndex(i, false).URI;
t_host = lURI ? lURI.host : null ;
if ((c_host && !t_host) || (!c_host && t_host) || (c_host != t_host)) {
if (aCurrDomainEndPoint) {
if (i == start) {
c_host = t_host;
continue;
}
i -= aRwnd;
}
webNav.gotoIndex(i);
return;
}
}
webNav.gotoIndex((aRwnd == -1) ? 0 : sessionH.count - 1 );
とりあえず動きますが、保証はしません。
補足説明としては
var aRwnd = +1; var aCurrDomainEndPoint = true;
ここの+1と-1、trueとfalseの組み合わせの4パターンでドメインの操作が行えるみたいだと思います
おそらく-1が前のドメインで+が現在のドメイン
2008/07/17 間違っていたので訂正します
-1が戻るという意味で
trueが現在のドメインの先頭まで戻るfalseが前のドメインの最後まで戻る
+1が進むなので
trueが次のドメインの先頭まで進むfalseが現在のドメインの最後まで進むだと思われます。
