2008-09-22 12:40 追記
下のコードだと,どうやら Safari で取得できなかったみたいですね.
document.getSelection() || window.getSelection() の部分の document と window を入れ替えてみたところ,取得できました.
ということで,ソースコードを修正しておきました.
はじめに
つまり 「あるページとそのページ内のテキストボックス・テキストエリアにおける選択文字列を取得する」 ということになりますかね.
岩家ぶろぐ » [javascript] bookmarklet で選択文字列を取得する件で
以前に書いたコードを見直したところ結構無駄があったので,書き直してみました.
書き直したソースコード
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 | var get_selected_text = function() { var ret = ''; try { //ret = ( document.getSelection() || window.getSelection() || '' ).toString(); // document.getSelection はFirefox,Operaで動作,window.getSelectionはSafariで動作 // del: 2008-09-22 12:40:00+09:00 ret = ( window.getSelection() || document.getSelection() || '' ).toString(); // document.getSelection はFirefox,Operaで動作,window.getSelectionはSafariで動作 // ins: 2008-09-22 12:40:00+09:00 if( ret ) { return ret; } } catch( e ) { return ret; } var tagnames = [ 'input', 'textarea' ]; for( var i = 0; i < tagnames.length; i++ ) { var elements = document.getElementsByTagName( tagnames[ i ] ); for( var j = 0; j < elements.length; j++ ) { var e = elements[ j ]; if( e.tagName == 'input' && e.type.toLowerCase() != 'text' ) { continue; } var sel_start = (function(){ try { return e.selectionStart; } catch( e ) { return 0; } })() , sel_end = (function(){ try { return e.selectionEnd; } catch( e ) { return 0; } })() ; if( sel_start == sel_end ) { continue; } return e.value.substring( sel_start, sel_end ); } } return ret; }; |
簡単な解説
var selected_text = get_selected_text(); のようにすることで,アクティヴなウィンドウ上,テキストボックス,テキストエリアのいずれかにおける選択文字列を取得します.
おわりに
例外発生を確認できたところに対してのみ try-catch 構文を使っていますが,細かくは動作検証していません.
なお,IEは起動すらしていません.あしからず...
直前になってお知らせするのも何ですが,9月10日(水)に行われる FLOSS桜山 第17回勉強会 で簡単にお話させていただいてきます.
内容は
- DeLLa.JS の紹介
- にこぐらふ の中身
- +α
といった感じです.
現段階で発表資料は何もできていません>< 早くなんとかしないと...
はじめに
改めてお知らせ.
DeLla.JS 「JavaScript 第5版」読書会,の 6回目を行います.
日時,会場,費用
日時は 9月13日(土)の 13:00 ~ 19:00.
今回も VISH株式会社 様のセミナールームをお借りして行います.aodagさん,いつもありがとうございます.
そして費用.今回も参加については無料ですが,読書会中につまむお菓子やドリンクの買い出しのために 2~300円ほどいただいています.懇親会(後述します)の費用も別途発生します,念のため.
参加方法
上記ページの「読書会参加者」の項目を直接編集,お名前を追加していただきます.
なお,Googleグループのメンバーである必要がありますので,事前に「グループに参加」していただく必要があります.
懇親会
読書会後,有志で懇親会を行う予定です.
同ページ の「懇親会参加者」の項目を直接編集,お名前を追加していただくことで参加表明となります.
おわりに
現段階ではまだ十分に空きがありますので,興味のある方はぜひいっしょに読みましょう!
はじめに
9月 6日(土) に行われた WCAN 2008 Autumn へ参加してきました.
以下,簡単な報告でも.
本編
SESSION 1
Business Architechs 森田さんのお話.
同社における最近のお仕事について,ちょっとした裏話(?)を交えての紹介や,森田さんご本人が担当(ディレクション?)された短納期なプロジェクトの実際の進め方について,といった内容でした.
その他,日本の暮らし二十四節気めぐり 言の葉草 | 伊勢志摩の旅 よいとこせ をグッドデザイン賞の 2次審査に出展されたときのお話なんかも.
SESSION 2
同じく Business Architechs 伊原さんのお話.
「コンテンツ仕様書」の基本とかどのように作っていくべきかとか,や,コンポーネントベースの設計と実装についての内容でした.
簡単に個人的まとめ
お話に出るWebサイトが規模の大きいものばかり(個人的な視点では)のため,小規模なものばかりを扱う自分にとっては縁遠いかな,と思いました.最初は.
が,クライアントの要望をどのようにしてWebサイトとして形にするか,そのための考え方・進め方,や,設計や実装で作業的に(?)重複が発生するだろう部分を共通化するための手法など,参考・実践すればどんな規模の業務でももっとうまく進められるだろうな,と捉えるに至りました.
Lightning Talks
前回の WCAN 2008 Summer と同様,2セッションの間に行われました.今回の発表者は10名 (含む,当日の乱入).前回に増して多様な内容でした.
せっかくの機会なので,今回もその中の 1人として 「Webで 『Dragon Quest』 のようなことをしてみる with JavaScript」 というタイトルでやらせていただきました.
これでようやく私も「自作プレゼンツール」を持つことができました...て言えるのかな?
それにしても,アップルップル 山田さんがつくられたカウントダウンタイマ,特定のフォームから入力したコメントが流れるのがとても楽しかったです.今後もぜひ使っていただきたいものです.
発表リストとツッコミコメントの一覧は以下から.
懇親会
トライデント コンピュータ専門学校 の先生やアノ企業(一応伏せ)のWeb部門の方,そしてアップルップルに最近入られたスタッフの方々を始め,(多くはありませんが)いろいろな方と挨拶させていただきました.
あと,NPUG (日本 PostgreSQL ユーザ会 名古屋支部)の沢田さんとも改めて名刺を交換させていただきました.LTお疲れ様でした.
その後は三次会,四次会と続き,解散は翌朝 6時前...でした.ま,いつものことなんですけどね.
おわりに
前回からいろいろと新しい試みが行われている WCAN,今後も積極的に参加させていただきます.名古屋の中心的Web系イベントを応援し続けたいですね.もっとも,自分も精進せねば,ですが...
はじめに
今月,いくつかの勉強会等へ参加も,その報告をまったくエントリしていなかったので,淡い記憶をたどりながらまとめて挙げておきます.
これを描いている風景は,さながら夏休みの最終日に絵日記をまとめて書いたあの日のよう...?
目次
- 8月 1日(金): Webeggs呑み会 #2
- 8月 2日(土): DeLLa.JS 「JavaScript第5版」読書会 #5
- 8月 8日(金): OSC 2008 Nagoya 前夜祭
- 8月 9日(土): OSC 2008 Nagoya
- 8月15日(金): 帰省
- 8月23日(土): Python東海 第0回
- 8月28日(木): hagino_3000 さんと夕食
8月 1日(金): Webeggs呑み会 #2
フリーで活動されている方がメインで集まるというこの呑み会に,主催である CSNagoya の toyoshi さんのお誘いをいただき,参加してきました.
気がつけば,自転車とか水泳とかマラソンとかの話をしていたような気がします...
プロジェクタを使った簡単なおしゃべりを募集していたので,Dragon Quest なアレ について少ししゃべらせていただきました.
8月 2日(土): DeLLa.JS 「JavaScript第5版」読書会 #5
DeLLa.JS 「JavaScript第5版」読書会の 5回目を行いました.今回も 株式会社VISHさん のセミナールームを使わせていただきました.
今回は 「9.3 JavaScript の『クラス』」~ 9章の最後まで,を読みました.
JavaScriptでは継承の実装が難しそうだということがわかった気がします.1段階の継承のみであればそれなりに簡単だけど,「サブクラスのサブクラス」 のようなものを定義するときにさてどうするか,ということになるんですね.
Lingr のログは次のとおり.
懇親会の後,日本Androidの会 の富永さんが加わって朝までカラオケしてました.
8月 8日(金): OSC 2008 Nagoya 前夜祭
OSC 2008 Nagoya の前夜祭,という名の呑み会へ行ってきました.場所は 風来坊 金山店.主催は ミラクルリナックスの吉岡さん だったり.
その後,terurouさん,clairvyさん の 3人で二次会,というかラーメンを食べました.翌日のことを考えて終電前解散したのですが,clairvyさんが見せてくれました.
やべぇ。寝過ごした。ここ何処?
Twitter / clairvy: やべぇ。寝過ごした。ここ何処?
8月 9日(土): OSC 2008 Nagoya
OSC 2008 Nagoya へ参加してきました.オープンソースなイベント参加自体初なので後で知りましたが,名古屋での開催は今年が初めてなんですね.
それはそうと,会場入り口で不覚にもカメラを落としてしまいましたorz 幸い動作には影響していないようですが,ボディの何個所かが削れました.
お昼の 「勉強会大集合」 セッションの中で,主催の samurai20000 さん が DeLLa.JS の紹介.alert( ... ); によるプレゼンがおしくも動かなかったようで Keynote での発表となりました.
ちなみに,参加したセッションは次のとおりです.前日の睡眠不足がたたって,ときどき意識を失ってたなぁ...
- 日本PostgreSQL 初心者向けセミナー
- Android勉強会 in OSC2008Nagoya
- 名古屋の勉強会大集合!
- Gainer/Funnelが誘うフィジカルコンピューティングへの招待状
- いまさら聞けない! Sambaによるファイルサーバ構築入門
懇親会での Lightning Talks では,みなさん叫びまくってましたね.ネタもいい感じにしこまれていたり.この辺の発表術はいろいろ参考にしたいですね.
二次会では,びぎねっと の宮原さんが 「メガネラボ」 という名前をお気に召したようで,客員研究員としてどうのこうの...というお話が始まりました.
以後,四次会まで(ry
9月12日,13日に開催の OSC 2008 Shimane,地元の友人にも会えるかな,と楽しみにしていましたが,都合諸々の理由でで行けず...残念.まぁそのうち島根はぶらっとしてみたいですね.
8月15日(金): 帰省
前日夜に帰省したものの,当日早朝,家族の用事で来た道を戻るような感じで岐阜県海津市方面へ.予想外に早く着いてしまったので,多度大社 へ立ち寄りました.提灯だらけでとてもきれいでした.でも,カメラを忘れたので写真を撮れませんでした...orz
その帰り,カメラを取りに自宅へ寄りました.
ちなみに,「実家に帰省」 って 「筋肉痛が痛い」 とか 「IT技術」 とか 「HTTPプロトコル」みたいな感じでキモイな,と思いました.
8月23日(土): Python東海 第0回
Pythonの知識はほぼ皆無ながら,これから学ぶきっかけに,ということで参加しました.
主な内容は次のとおり.
Mercurial や Google App Engine,まだどちらにも触れたことがありませんが,それらがどのような感じのものであるかということがわかりました.
あと,Pythonの文法もちょっとだけ学びました.インデントを意識する,ということろが個人的に新鮮ですね.
次回は 9月27日(土)に決まりました.それまでに Python のコードを書くぞー...と,その前に,Python 2.5 をインストールしないと.
8月28日(木): hagino_3000 さんと夕食
プールへ行く前にちょうど目に入ったつぶやき.
今夜は名古屋、着いたら何しよー .
Twitter / はぎー: 今夜は名古屋、着いたら何しよー .
ということで,去る 5月の JUI の懇親会でお会いした hagino_3000 さんと名古屋駅西口近くにある はなの舞 名古屋駅西店 で食事してきました.
夜行列車までの短い時間ながら,熊野とか開発とかカードゲームとか某アニメーション作品とか,おもしろいお話ありがとうございました.
東海道線雨で運転停止してぅ、ひどい!
Twitter / はぎー: 東海道線雨で運転停止してぅ、ひどい! .
まだ豊橋に着かないって何事?新快速の無いJR東海はゆっくり過ぎる。ゆっくりうんこ! .
Twitter / はぎー: まだ豊橋に着かないって何事?新快速の無いJR東海はゆっ…
翌朝気づきましたが,県内で一晩過ごされたのですね...
おわりに
というわけで,半ばやっつけ的に書き殴ってきましたが,いつにも増していろいろな方とお会いできた月だったと思います.このつながりを今後も大切にしていかないとですな.
そういえば海とか行ってないなぁ.まぁ週 2回プール行ってるからいいか.
...このエントリ,結局 8月末に間に合いませんでした >< 小学校だったら今頃は廊下に立たされてますね,こりゃ.
おまけ
お仕事用のWebサイトをリニューアルしました.
...とはいえ,まだまだ修正部分は多々ありますけどね.












読みはいわた.名古屋市在住.