就結論來說,Flash 沒有任何方法可阻擋滑鼠右鍵,除了AIR可自訂右鍵外,在一般瀏覽器中的Flash右鍵一定會出現Flash選單,即使把content menu關掉。
即然Flash Player不能阻擋右鍵,那麼換個想法,瀏覽器是否可擋滑鼠右鍵?,答案當然可行,簡單的想法就是給Flash蓋上一層看不見的元件擋掉右鍵操作,並透過Javascript把右鍵行為傳給Flash
這個做法雖然簡單,但每個Flash都要準備一個覆蓋元件就很麻煩,另一個比較好的做法是直接監聽Flash元件,當有右鍵行為發生時,阻擋瀏覽器事件並改成Flash事件,這種做法簡潔且方便,重點是網路上已有現成的Library可用,www.uza.lt所提供的RightClick Library就可解決這個問題,值得一提的是RightClick使用前必需把wmode改成transparent或opaque,且RightClick只會觸發右鍵行為給Flash,如果要操作Flash內的元件,可搭配MouseRollOver、stage.mouseX、stage.mouseY。
補上一些demo:
UZA demo:http://uza.lt/rightclick/
Adobe captivate demo: http://blogs.adobe.com/captivate/2009/01/Right-Click-BlogDemo.htm
Flash遊戲─快樂神仙:可使用右鍵使用道具 http://kl.linekong.com/
RightClick下載:http://code.google.com/p/custom-context-menu/
Uza's Blog:http://www.uza.lt/
參考文章:http://www.adobe.com/devnet/captivate/articles/rightclick.html