Ads by Google

 --------
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
カテゴリ :スポンサー広告 トラックバック(-) コメント(-)

Entry->Edit 作成メモ

 2007-11-22
記事から編集画面に直接行くBookmarklet「Entry->Edit(FC2)」の作成メモ
あまりにも長いので分割。
Entry->Edit自体はこちら
ソースコード(実際はコメントなしの1行):
javascript:
var u=location.href, // ここから
h='http://blog',
f='.fc2.com/control.php?mode=',
l=f+'control&process=entry', // 一覧表示URL
e=f+'editor&process=load&eno=', // 記事編集URL
d=/http:\/\/[\w-]+\.blog(\d+)\.fc2\.com(.+)/; // ここまでは1行で
if(u.match(d)){
n=RegExp.$1;
p=RegExp.$2;
if(p.match(/\/blog-entry-(\d+)\.html.*/)){ // 個別記事
u=h+n+e+RegExp.$1;
}else if(p.match(/\/(blog-category-|category)(\d+).*\.html.*/)){ // カテゴリ別
u=h+n+l+'&cat='+RegExp.$2;
}else if(p.match(/\/blog-date-(\d{6}).*\.html.*/)){ // 月別
u=h+n+l+'&date='+RegExp.$1;
}else{ // その他(の自分のブログページ)
u=h+n+l;
}
location.href=u;
}

コードの説明:
現ページURLを正規表現にかけて編集画面へ飛ばしてるだけ。
(正規表現はもっと厳密に書けるかも。)

資料:(URLと正規表現)
 ○:サーバ「blog**」の番号
 □:記事やカテゴリの番号
 ▲:編集画面URLに関係しない数字

●個別記事
http://ブログ名.blog○.fc2.com/blog-entry-□.html (他に#more、#comment、#trackback)
 ↓ 正規表現
http:\/\/[\w-]+\.blog(\d+)\.fc2\.com\/blog-entry-(\d+)\.html.*
 ↓ 移動先(個別記事編集)
http://blog○.fc2.com/control.php?mode=editor&process=load&eno=□

●カテゴリ別
http://ブログ名.blog○.fc2.com/blog-category-□.html 又は category□-▲.html
 ↓ 正規表現
http:\/\/[\w-]+\.blog(\d+)\.fc2\.com\/(blog-category-|category)(\d+).*\.html.*
 ↓ 移動先(カテゴリ記事一覧)
http://blog○.fc2.com/control.php?mode=control&process=entry&cat=□

●月別("年月"は"YYYYMM"形式)
http://ブログ名.blog○.fc2.com/blog-date-年月.html 又は blog-date-年月-▲.html
 ↓ 正規表現
http:\/\/[\w-]+\.blog(\d+)\.fc2\.com\/blog-date-(\d{6}).*\.html.*
 ↓ 移動先(月別記事一覧)
http://blog○.fc2.com/control.php?mode=control&process=entry&date=年月
※カテゴリ・月別の赤文字部は通常無し。ソース見て付加(POST→GETでもOKだった)。

●TOP
http://ブログ名.blog○.fc2.com 又は 〜.com/ 又は page-▲.html
 ↓ 正規表現
http:\/\/[\w-]+\.blog(\d+)\.fc2\.com(.+)
 ↓ 移動先(過去記事一覧)
http://blog○.fc2.com/control.php?mode=control&process=entry


自分メモ:
正規表現
・URLのパターン化は「\/」と「\.」の忘れに注意(特に「.」はそのままでもマッチする)。
・ファイル以外は「.com」と「.com/」、「dir」と「dir/」の両方にマッチさせる。

JavaScript
・IEのBookmarkletは500字以内か外部ファイル化する。
・1行化で"else if"や"var a"の空白まで削除しない。
・グローバル変数(var無し)だと最後の式が評価され画面表示される場合あり。
・var a,b=1,c=2;と並べて書ける。
・正規表現パターンで変数を使用する方法ある?
・正規表現パターン「/abc/」は引用符で囲まない。(「"/abc/"」「/"abc"/」ともにNG)

Bookmarklet
・作成画面のWYSWYGエディタのURLボタンは使わない。
(「"」「&」がHTMLエスケープされ、逆に正規表現の「\/」「\.」が解除される。)
コメント
僕もFC2個別記事の編集をさっとやりたいなと思っていました。
僕の場合はFC2のブログテンプレートを改造して、ブログ記事のタイトルの末尾にピリオドを自動的につけて、その記事の編集画面へのリンクとしました。意味のないピリオドが見えるというやっつけの解決策ですが、なかなか便利ですよ。

こんなかんじです。(ブログデザイン変更.の「.」の部分ですねw)
http://sztm.blog98.fc2.com/blog-entry-58.html
【2007/12/01 23:22】 | suztomo #7aZJLZMI | [edit]
「.」のアイデア、いいですね。
editリンクを貼るのは見ましたが、そちらの方がスマートです。
他人のPCでもブックマークレットいらないし。
「.」だと一覧画面でも表示できるのかな?(可能だと相当楽なのでアイデア使わせて頂きます)
【2007/12/02 01:33】 | 鮎響@電式ブログ #SxX9jEmk | [edit]












管理者にだけ表示を許可する
トラックバック
トラックバックURL:
http://denshiki.blog33.fc2.com/tb.php/26-8b081dbe
【2007/11/30 13:13】
≪ トップページへこのページの先頭へ  ≫
Profile

D.N.S.K.

Author: D.N.S.K.
#!電式.net
http://www.denshiki.net
#!電式ブログ
http://denshiki.blog33.fc2.com
#!電式開発ブログ
http://denshiki.wordpress.com

Search My Blog

Calendar
<< 2009/11 >>
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 - - - - -

New Entries
Comments
Trackbacks
Categories
Monthly Archives
Access Counter

フリーエリア
テスト上
テスト内容
装飾なし文字列
google

テスト下