[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 04/11 00:11 / Filesize : 129 KB / Number-of Response : 435
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

bbs2chreaderスキンスレッド part3



76 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/06(木) 22:59:11 ID:g/zoHdNm0]
>>52
よくぞ聞いてくれました。
色々と試行錯誤しましたが、最終的な実装における手法は至って簡単ですよ。

まず、脆弱性の対策で出来なくなったのは、「対話的操作無し」でクリップボードに
コピーすることです。逆に言うと、「対話的操作」があれば、コピーは可能なのです。
「対話的操作」というのは、マウスのクリックやキー入力などのことを指しています。
なので、ユーザさんに Flash のボタンを押してもらえるなら、それで解決なのです。
で、どうやってボタンを押してもらうか。ここが試行錯誤のポイントでした。

これまでもコピーの為に、メニューを「クリック」しているのですから、そのクリック操作を
どうにかボタンに渡せないか、ということを考えたのですが、これは出来ませんでした。
次に正攻法で、メニュー内にコピー用のボタンを用意したりもしたのですが、
操作性やスタイルとの連携や他にも幾つか問題があって、これも断念しました。
そこで、改めてメニューの「クリック」を利用出来ないか、色々と実験してみたところ
ボタンクリック時のマウスアップ・ダウンだけでもコピーが可能なことが分かりました。

ならばということで、コピーのサブメニューの背後にマウスアップに反応するボタンを
隠しておき、メニューの選択をクリックからマウスダウンで反応するように変更して、
メニューをクリックしてみると、マウスダウンでメニューが消え、直後のマウスアップで
ボタンが反応して、ちゃんとコピーが出来たのです。

その後も、ボタンをどう隠すか、マウスダウンしながらメニューの外に移動しても
ちゃんとボタンに反応させるにはどうすれば良いか、などなど試行錯誤ポイントは
あったのですが、最終的には

・「コピー」のサブメニュー表示時に全画面を覆う透明なボタンを最背面に表示
・マウスダウン直後にボタンを最前面に移動してイベントを拾わせる

という実装に落ち着きました。まだ一部改良の余地がありますが…
そういう訳で、特殊なことはやっていませんが、Flash 側がマウス「クリック」時だけ
コピーを許可するように仕様変更しないことを、祈るばかりです…






[ 続きを読む ] / [ 携帯版 ]

全部読む 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<129KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef