Dec 7, 2004

“Edit This” Bookmarklet

唐突ですが、Editリンクを付けるのはちょっとどうかなー、ちょっとかっこ悪いかなー、と思います。わざわざexploit用の情報を公開しているようなものですから。

私はoobaさんのBookmarkletを「ちょこっと改造」したものを使っています。個別エントリーアーカイブをブラウザで開いている状態でこのBookmarkletをクリックするだけで編集画面を開くことができ、Editリンクがなくても非常に快適です。

bricklife.weblog."いま見ているエントリーを編集する Bookmarklet"

「ちょこっと改造」というのは、些細なことですが、oobaさんのバージョンのままだと「個別エントリーアーカイブ」以外を開いているときに実行するとエラーになる(エラー時のアクションは処理系依存なのでブラウザによっては気にならないかもしれない)のと、XHTML 1.0 Strict対応を考えてコメント用formのname属性を止めてid属性しか振っていない場合には動作しないからです。

このエントリでは「ちょこっと改造」バージョンを示します。それだけではナンですので「簡単”Edit This" Bookmarklet生成サービス」を提供することで、Editリンク撲滅を推進します。

結論から言うと、以下のようなBookmarkletにすればよいだけです(改行していますが一行です)。

javascript:d=document;f=d.comments_form||d.forms['comments_form'];if(f){id=f.entry_id.value;
location.href='http://www.example.com/mt/mt.cgi?__mode=view&_type=entry&id='+id+'&blog_id=BlogID';}

簡単に動作を説明すると、document.comments_formかdocument.forms['comments_form']があれば、formのhidden属性であるentry_idを見つけて編集画面を開きます。なければ何もしません。

上記から自力でBookmarkletを作れる方はそれでよいですが、下の「簡単”Edit This” Bookmarklet生成サービス」でも作れます。念のために申し上げておきますと、このサービス自体Javascriptを使って実現されていますので、このサービスを使ったからと言ってAdminScriptの場所が私に知れてしまうということは一切ありません。つまり、狭義には「サービス」ですらありません。

簡単”Edit This” Bookmarklet生成サービス (Movable Type 3.x用)

Edit This

使い方

  1. Admin Script URL(mt.cgiあるいはmt.cgiをリネームしたCGIのURL)とBlog IDを入力してGenerateボタンをクリックします。
  2. 「Edit This」リンクをブラウザのメニューバーなどにDrag&Dropするか、右クリックで「お気に入りに追加」するかしてBookmarkletを保存します。
  3. できあがり!自分のブログの個別エントリーアーカイブをブラウザで開いて、Edit This Bookmarkletをクリックすれば編集画面が表示されるはずです。

注意点

  • Internet ExplorerとFirefoxでしか動作確認していません。
  • このBookmarkletは、Movable Type 3.xの標準個別エントリーアーカイブテンプレートのコメントフォームの存在を前提としています。標準テンプレートを大幅に変更して、例えばテンプレートからコメントフォームを除去した場合には動作しません。HINAGATAテンプレート、小粋空間テンプレートなど代表的な配布テンプレートでは問題ありません。

簡単”Edit This” Bookmarklet生成サービス (多分ココログ用、多分TypePad系)

(ココログの場合、変更不要です)

Edit This

おまけ! ”Edit This” Bookmarklet (多分JUGEM用)

Edit This (このままDrag&Drop)

もうひとつおまけ! ”Edit This” Bookmarklet (多分livedoor Blog用)

Edit This (このままDrag&Drop)

About Me

My Photo

つくばで働く研究者

Total Pageviews

Amazon

Copyright 2012 Ogawa::Buzz | Powered by Blogger
Design by Web2feel | Blogger Template by NewBloggerThemes.com