作者cloudfly (堅持到底)
看板Flash
標題[問題]如何在flash裡鎖右鍵
時間Sat Dec 13 20:34:27 2008
小弟目前是用flex實作一個系統
裡頭有一個textArea是讓使用者輸入文字使用
我想預防使用者複製貼上,所以希望可以把右鍵的複製貼上功能拿掉
上網找了好久,還是沒能想到解決方案
自己本來是有幾個方向去嘗試
1.利用javascript的鎖右鍵程式,但是我發覺沒有用
因為發佈時是swf檔內嵌在一個html網頁中
很顯然javascript只對網頁部分的鎖右鍵有用
對於swf檔完全沒用,仍然會顯示出右鍵的功能
而textArea元件是整個包在swf檔裡頭的,所以此方法宣告放棄。
2.利用flash裡的ContextMenu類別
this.contextMenu.hideBuiltInItems();//隱藏預設的右鍵選項
但是我看F1似乎都沒說到可以把複製貼上的選項移走
只能隱藏基本flash右鍵的那些選單
如列印、顯示重繪區域等
而在文字欄位上的剪下、複製、貼上、刪除等選項不曉得從何處設定起
所以這部分就延宕在此,不知從何下手了!
3.找尋網路上封鎖滑鼠的小軟體
找個好久,似乎沒有針對封鎖右鍵的軟體
也許是我找的不夠仔細(= =但我google2天了)
如果有此種軟體的話,當然是最簡便的了,
奈何似乎不易尋找。
所以要請板上的前輩們幫忙
有沒有什麼方法可以做到我想完成的功能呢!
最重要就是不能讓使用著copy和paste文字框裡的內容
感謝大家的幫忙了!
---------------------------------------------
補上範例
1.這是textArea的enable=true
http://140.115.135.105/textArea/ch01_ext_01.html
2.這是textArea的enable=flase
http://140.115.135.105/textArea/textArea.html
這個方法,似乎可以解決右鍵複製貼上問題
但是輸入的顏色跟版面似乎怪怪的..= =
而且當滑鼠的focus點到其他地方,就無法再點回文字欄位繼續輸入
看來這好像也不太可行
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 192.192.86.202
1F:推 shingoliang:沒辦法完全鎖右鍵吧..防君子不防小人... 12/13 21:02
2F:→ shingoliang:他用printscreen加上OCR 照樣可以複製.. 12/13 21:04
3F:推 tka:如果是針對不能複製跟貼上的"動作" 12/13 21:23
4F:→ tka:把enable設成false應該就可以了吧 12/13 21:23
5F:→ tka:如果是不想讓人抄襲,那就不要公開 12/13 21:24
6F:推 aquarianboy:嗯,推樓上 :) 12/13 22:31
7F:→ cloudfly:我不擔心print screen,因為使用對象是小朋友 12/14 00:54
8F:→ cloudfly:所以不想讓小朋友使用複製貼上的方式增加字數 12/14 00:55
9F:→ cloudfly:而是希望他們一個字一個字打,所以才需要鎖右鍵 12/14 00:56
10F:→ cloudfly:tka大指的是將textArea的enable屬性設成false嗎 12/14 00:57
11F:→ cloudfly:但是這樣使用者不就不能輸入了..?? 12/14 00:57
12F:推 cjcat2266:那麼就偵測keyboard,依照按下的鍵來把字加入文字欄位? 12/14 01:07
※ 編輯: cloudfly 來自: 218.175.36.206 (12/14 01:17)
※ 編輯: cloudfly 來自: 218.175.36.206 (12/14 01:19)
13F:→ cloudfly:依照按下的鍵??那我不就全部都要傾聽了..因為使用者每一 12/14 01:20
14F:→ cloudfly:個鍵都可能會用到..= = 12/14 01:20
15F:推 cjcat2266:搭配 String.fromCharCode() 應該不難做吧 12/14 01:31
16F:→ tka:那如果用setTimeout 每250ms 瘋狂的去 12/14 01:41
17F:→ tka:Clipboard.generalClipboard.clear(); 12/14 01:42
18F:→ tka:這樣子可以嘛 不小心又使用了暴力法 XD 12/14 01:43
19F:推 tka:複製貼上除了滑鼠還有 ctrl+c ctrl+v 歐 12/14 01:48
21F:→ cloudfly:ㄏ..不過小學生應該還不曉得Ctrl+C和Ctrl+V 12/14 03:03
22F:→ cloudfly:所以那個問題就先不解決..較急迫的就是右鍵的複製貼上 12/14 03:07
23F:→ cloudfly:Clipboard.generalClipboard.clear()這個是什麼意思呢? 12/14 03:08
24F:→ cloudfly:是將複製的內容清除嗎 12/14 03:09