JavaScript
一つ上に移動FirefoxのCopyURL+をIEとOperaにも欲しい
FirefoxのCopyURL+を使うと、ページのURLとタイトルをクリップボードにコピーしてくれる。たとえばこのサイトのトップページで行うと以下のような文字列がクリップボードに保存される:
最近の清水川Web — 清水川Web http://www.freia.jp/taka
これがあると他の人にURLを伝えるときにタイトル付きなのでわかりやすい。あとメモをに書き写すときとかblogに引用元のURLを書くときとか。
これをIEやOperaでも出来るといいなあ、と思ってGoogleで探して、欲しい物に一番近いコードをbookmarkletとして改造してみた。引用元は 最速インターフェース研究会 :: Firefoxでテキストをクリップボードにコピーする方法 。
Opera用:
javascript:(function(text){var swf_data = "http://ma.la/setClipboard.swf";var tmp = document.createElement("div");tmp.innerHTML = '<embed src="'+swf_data+'" FlashVars="code='+encodeURI(text)+'" width="0" height="0"></embed>';with(tmp.style){position ="absolute";left = "-10px";top = "-10px";visibility = "hidden";};document.body.appendChild(tmp);setTimeout(function(){document.body.removeChild(tmp)},1000);})(document.title+"\n"+location.href)
最近はJavaScriptにも以前より慣れたとはいえ、Opera用は自力では作れなかったなぁ。OperaではJavaScriptでクリップボードを操作する方法が無い(と思う)ので、Flashを経由してクリップボードに保存しているようだ。上記のコードをそのまま使うと、Flashファイルをma.laドメインに取りに行くので、アクセスログに色々残る可能性あり。自分のサーバー等にコピーして利用するか、引用元サイトで第3の方法として提示されている外部Flashファイルを使わない方法にチャレンジする必要がある。
ところで、IEのJavaScriptはクリップボード操作ができるので、以下のコードで動作する。
IE用:
javascript:(function(text){clipboardData.setData("Text",text);})(document.title+'\n'+location.href);
そうだ、reStructuredText用に、出力文字列を以下のようにしてみようかな:
`最近の清水川Web — 清水川Web`_ .. _`最近の清水川Web — 清水川Web`: http://www.freia.jp/taka
- カテゴリ
- JavaScript
- 固定リンク
- ¦
- コメント (0)
- ¦
- トラックバック (0)
AmazonのURLコピーするbookmarklet
最近のAmazonはURLに日本語が含まれていて、IMで渡しにくいので、短いURLに変換するブックマークレットを作ってみた。
promptをpopupする版(URLのみ):
javascript:var%20p=prompt('URL%20is...',location.href.replace(/.*\/([A-Z\d]{10})\/.*/,'http://www.amazon.co.jp/dp/$1'))
promptをpopupする版(タイトルとURL):
javascript:var%20p=prompt('URL%20is...',document.title.replace(/^\s+(.*)\s+$/,'$1')+" "+location.href.replace(/.*\/([A-Z\d]{10})\/.*/,'http://www.amazon.co.jp/dp/$1'))
Windowsのクリップボードに渡す版(URLのみ):
javascript:(function(text){var swf_data = "http://www.freia.jp/taka/setClipboard.swf";var tmp = document.createElement("div");tmp.innerHTML = '<embed src="'+swf_data+'" FlashVars="code='+encodeURI(text)+'" width="0" height="0"></embed>';with(tmp.style){position ="absolute";left = "-10px";top = "-10px";visibility = "hidden";};document.body.appendChild(tmp);setTimeout(function(){document.body.removeChild(tmp)},1000);})(location.href.replace(/.*\/([A-Z\d]{10})\/.*/,'http://www.amazon.co.jp/dp/$1'))
Windowsのクリップボードに渡す版(タイトルとURL):
javascript:(function(text){var swf_data = "http://www.freia.jp/taka/setClipboard.swf";var tmp = document.createElement("div");tmp.innerHTML = '<embed src="'+swf_data+'" FlashVars="code='+encodeURI(text)+'" width="0" height="0"></embed>';with(tmp.style){position ="absolute";left = "-10px";top = "-10px";visibility = "hidden";};document.body.appendChild(tmp);setTimeout(function(){document.body.removeChild(tmp)},1000);})(document.title.replace(/^\s+(.*)\s+$/,'$1')+"\n"+location.href.replace(/.*\/([A-Z\d]{10})\/.*/,'http://www.amazon.co.jp/dp/$1'))
参考にしたサイト:
- カテゴリ
- JavaScript
- 固定リンク
- ¦
- コメント (1)
- ¦
- トラックバック (0)
- トラックバック用URL:
- http://www.freia.jp/taka/blog/495/tbping
Re:AmazonのURLコピーするbookmarklet
- このBlogについて
- Zope, Python, FreeBSD, その他色々について。つまり日記か。
- 最近のエントリ
- Sphinx+翻訳Hack-a-thon2010.09に参加しアクセンスさんに初侵入しました taka 2010年09月06日
- XP祭り2010実行委員長の基調LTレポート taka 2010年09月05日
- XP祭り2010に登壇しました「Pythonでアジャイル開発サイクル 2010ver.」 taka 2010年09月04日
- cmscomさん主催の開発合宿に参加してきました taka 2010年08月29日
- BPStudy#36 に参加しました Jiemamyとbeproud-bot君の紹介 taka 2010年08月27日
- 最近のコメント
- Re:Zope2 ドキュメントを Sphinx でビルドする手順 xiangxiang 2010年09月03日
- pyreadline-1.6対応 しみずかわ 2010年07月18日
- pyreadline-1.6対応 しみずかわ 2010年07月18日
- Re:日本語キーボードから英語キーボードへ TAZO 2010年07月15日
- Re:COREBlog2をPlone3で動かすための修正: portletのカレンダー akiko 2010年06月30日
- 最近のトラックバック
- [python] エキスパートPythonプログラミング 彷徨えるフジワラ 2010年05月30日
- ファミリーコンサート 2009 終了 takalog 2009年11月10日
- Tools@System @note (PukiWiki/TrackBack 0.4) 2009年07月12日
- Windowsのコマンドプロンプトをフリーソフトで便利にする ナレッジエース 2009年05月31日
- plone研究会(2009-05) takalog 2009年05月22日
- カテゴリ
- Agile(XP) (2)
- Event (15)
- Pattern (0)
- その他 (10)
- Zope (11)
- Memo (0)
- 食 (3)
- python (21)
- Programming (1)
- Game (0)
- OO (0)
- Unix (0)
- WZ (0)
- work (0)
- Plone (11)
- Windows (1)
- IT-PC (4)
- 自転車 (0)
- TurboGears (0)
- ダーツ (0)
- JavaScript (0)
- 旅行 (1)
- Web (4)
- セキュリティー (1)
- Django (0)
- LDAP (0)
- データベース (0)
- vi/vim/gvim (0)
- C/C++ (0)
- ボドゲ (0)
- RoR (2)
- pyspa (1)
- スタトレ (0)
