2012年04月13日
[javascript] URLの数字に1足してリダイレクトするブックマークレット(ファイル名最優先、それ以外は後ろの数字を優先)
http://example.com/?type=pc&id=1
こういうURLのページで、idに1足したページに移動したい場合ってあるじゃないですか。
http://example.com/?type=pc&id=2
ここに行きたいの。で、その次は、ここに行きたいの。
http://example.com/?type=pc&id=3
もちろん画像でもok。
こうだったら
http://example.com/1.jpg
ここに行く。
http://example.com/2.jpg
そんなブックマークレット。
ここを右クリックしてブックマークに追加↓
URLの数字に1足してリダイレクトするブックマークレット(ファイル名優先)
内容について
URLにはいろんなところで数字が出てきます。
どれを優先するか?迷ったんですが今回はこうしました。
ファイル名 > GETパラメータ(後ろ側) > GETパラメータ(先頭側) > パス名
URLがこうだったら
http://example.com/1.html
ここに行く
http://example.com/2.html
URLがこうでも
http://example.com/1.html?id=123
ここに行く。(ファイル名を優先)
http://example.com/2.html?id=123
URLがこうだったら
http://example.com/123/index.html?abc=45&id=123&zed=zzz
ここに行く(後ろの数字を優先する)
http://example.com/123/index.html?abc=45&id=124&zed=zzz
URLがこうだったら
http://example.com/123/index.html
ここに行く(パスだろうがGETだろうが後ろの数字を優先する)
http://example.com/124/index.html

こんな感じでブックマークバーに置いてみる。("+1"がそれ。)
たぶん便利!使ってみる!!
こういうURLのページで、idに1足したページに移動したい場合ってあるじゃないですか。
http://example.com/?type=pc&id=2
ここに行きたいの。で、その次は、ここに行きたいの。
http://example.com/?type=pc&id=3
もちろん画像でもok。
こうだったら
http://example.com/1.jpg
ここに行く。
http://example.com/2.jpg
そんなブックマークレット。
ここを右クリックしてブックマークに追加↓
URLの数字に1足してリダイレクトするブックマークレット(ファイル名優先)
内容について
URLにはいろんなところで数字が出てきます。
どれを優先するか?迷ったんですが今回はこうしました。
ファイル名 > GETパラメータ(後ろ側) > GETパラメータ(先頭側) > パス名
URLがこうだったら
http://example.com/1.html
ここに行く
http://example.com/2.html
URLがこうでも
http://example.com/1.html?id=123
ここに行く。(ファイル名を優先)
http://example.com/2.html?id=123
URLがこうだったら
http://example.com/123/index.html?abc=45&id=123&zed=zzz
ここに行く(後ろの数字を優先する)
http://example.com/123/index.html?abc=45&id=124&zed=zzz
URLがこうだったら
http://example.com/123/index.html
ここに行く(パスだろうがGETだろうが後ろの数字を優先する)
http://example.com/124/index.html

こんな感じでブックマークバーに置いてみる。("+1"がそれ。)
たぶん便利!使ってみる!!
■ ソース
<html>
<head>
<META http-equiv=content-type content="text/html; charset=UTF-8">
<title>title</title>
</head>
<body bgcolor=#eef>
<script language="javascript">
var url=document.URL;
/*ファイルが数字だったらそれに1足す*/
if (url.match(/(\d+)\.(html?|php|jpe?g|png|gif|js|css|txt)(.*)$/)) {
/*数字と拡張子に分解*/
url.match(/(\d+)\.(html?|php|jpe?g|png|gif)(.*)$/);
var num = RegExp.$1;
var ext = RegExp.$2;
var sonota = RegExp.$3;
/*数字の桁あわせ*/
var keta = num.length;
var tmpnum=parseInt(num,10)+1;
var nextnum= ("00000000000000000000000000000" + tmpnum).substr(-keta);
/*URL生成*/
var newurl=url.replace(/(\d+)\.(html?|php|jpe?g|png|gif)/,nextnum+"."+ext+sonota);
location.href=newurl;
} else if (url.match(/\d+/)) {
/*それ以外はGETパラメータorパスの最後の数字を見る*/
url.match(/(.*\D+)(\d+)(.*)$/g);
urlsaki = RegExp.$1;
urlnum = RegExp.$2;
urlushiro = RegExp.$3;
var nextnum=parseInt(urlnum)+1;
var newurl= urlsaki + nextnum + urlushiro;
/*URL生成*/
location.href=newurl;
} else {
/* 数字なかったら何もしない */
document.write("nanimonai");
}
</script>
これに関連した記事→│
javascript
at
02:00
│
Comments(
9)
この記事へのコメント
よす
┐
:
2012年10月08日 12:10
これ素晴らしいですね。クロームのkeyconfigに組み合わせました。ありがとうございます!ネットショップで、商品登録をした後、ページの確認に重宝します。
よす
┐
:
2012年10月08日 12:14
ちなみに、パラメーターからマイナス1になるものはありますか?あったらぜひほしいです!(^_^ゞ
くじ
┐
:
2012年10月08日 14:48
よすさんこんにちは。お役に立ったようで何よりです、ありがとうございます!
我ながら・・これ本当に便利ですよね!
パラメーターをマイナスするには・・ブックマークレットの中に2カ所「+1」と書いてるところがありますので、そこを単純に「-1」とすればできますよ!
10刻み、100刻みのサイトだったら+10とか-100とかしてもokです。
お試しください。
我ながら・・これ本当に便利ですよね!
パラメーターをマイナスするには・・ブックマークレットの中に2カ所「+1」と書いてるところがありますので、そこを単純に「-1」とすればできますよ!
10刻み、100刻みのサイトだったら+10とか-100とかしてもokです。
お試しください。
よす
┐
:
2012年10月08日 14:56
お返事ありがとうございます!さっそくやってみます!
実はこのパラメーター増加機能は、Firefoxの「Fire Gesture」にはディフォルトであるのですが、クロームで使っている「かざぐるマウス」というジェスチャーソフトにはこの機能がないため、登録した商品をチェックするときだけFirefoxを起動させていたんです。
くじさんのおかげで、その手間が今後なくなりました!今朝、くじさんの記事を発見したのですが、このおかげでもうめちゃくちゃテンション高いです(笑)本当にありがとうございます!!
実はこのパラメーター増加機能は、Firefoxの「Fire Gesture」にはディフォルトであるのですが、クロームで使っている「かざぐるマウス」というジェスチャーソフトにはこの機能がないため、登録した商品をチェックするときだけFirefoxを起動させていたんです。
くじさんのおかげで、その手間が今後なくなりました!今朝、くじさんの記事を発見したのですが、このおかげでもうめちゃくちゃテンション高いです(笑)本当にありがとうございます!!
くじ
┐
:
2012年10月08日 15:02
おー、やはり既存のものがあったんですね。
作る前に探したんですが、見当たらなかったので仕方なく作った次第でした。ありがとうございました。
作る前に探したんですが、見当たらなかったので仕方なく作った次第でした。ありがとうございました。
使ってみました
┐
:
2017年12月27日 17:50
数字が4桁の番号で、最初の番号が0(0123など)の場合、ブックマークレットを使うと、0123→124 というように、最初の0が消えてしまいます
くじ
┐
:
2018年01月23日 12:58
なるほどーintにしてるのでパディングはこわれちゃいますね。url側を0なしでも動くようになってくれるといいんですが。
桁数合わせる用改造するのはそんなに大変じゃないので、ちょっと勉強してみてはいかがでしょうか!(時間なくてすみません)
桁数合わせる用改造するのはそんなに大変じゃないので、ちょっと勉強してみてはいかがでしょうか!(時間なくてすみません)
名無し
┐
:
2018年06月05日 18:38
autopager系のjavascriptを探しててこの素敵記事に出会いました!
非常に重宝しているのですが、ページ数の指定が「page=3」のような形になっているとうまく動作しません。
どのように改造するとうまく機能するようになるのでしょうか?
非常に重宝しているのですが、ページ数の指定が「page=3」のような形になっているとうまく動作しません。
どのように改造するとうまく機能するようになるのでしょうか?
くじ
┐
:
2018年12月14日 17:46
どうもー。たぶんifとelse ifの順番を逆にすればいいと思います〜

くじの曲