
PCのリカバリを機に、ブラウザのFirefoxからChromeに乗り換えを考えています。
ChormeではSmooth Gesturesというマウスジェスチャーを使うことにしたのですが、FireGesturesの「URL中の数値を増加」に相当する機能がなく、どうしても使いたいので、自分で適当に作ってみました。
Javascriptみたいなので、グローバルスコープとかを考慮して書いたほうが良いかもですが、こういうのはやったことないのでよくわかりません。
0から始まる数字にも対応しました。
例) http://hoge/0022/ → http://hoge/0023/
例) http://hoge/0999/→http://hoge/1000/
例) http://hoge/999/→http://hoge/1000/
という仕様です。
URL中の数値を増加(疑似FireGestures:IncrementURL)
var url = document.location +"";
if (url.match(/(\d+)(\D*)$/)) {
var alter = String( Number(RegExp.$1) +1);
var blank = "";
for (i=0; i < RegExp.$1.length-alter.length; i++) {
blank += "0";
}
document.location = RegExp.leftContext + blank + alter + RegExp.$2;
}
URL中の数値を減少(疑似FireGestures:DecrementURL)
var url = document.location +"";
if (url.match(/(\d+)(\D*)$/)) {
var alter = String( Number(RegExp.$1) -1);
var blank = "";
for (i=0; i < RegExp.$1.length-alter.length; i++) {
blank += "0";
}
document.location = RegExp.leftContext + blank + alter + RegExp.$2;
}
それにしても正規表現の使い方を理解できず、始めはとんでもなく面倒なプログラムを書いてしまいました。その酷いプログラムはコメントアウトして残しているので、気になる人はこのページのソースを見てください。