javascript
javascript调用Flash里对象的方法(函数)搞了五个小时。
搞了幾個小時后,才發現,之前走的路是錯的。
今天在Firefox瀏覽器上測試一個javascript調用Flash中的一個對象的方法時遇到問題了,
一搞就整整搞了一個下午。
我記得之前我用Flash8的時候沒有遇到過這樣的問題。
我的程序大概是這樣,我用Flash制作了一個菜單,默認情況下,打開網頁時,這個菜單隱藏,當鼠標放在一個小圖標上后,這個菜單顯示出來,并且會根據當前的網頁數據情況,顯示菜單中的幾項,同時隱藏幾項不需要顯示的菜單項。
我在Flash中使用ExternalInterface.addCallback 注冊了一個方法名叫:setMenuItemVisible(b:Boolean)
打算在網頁中的javascript中調用。
可誰知程序寫好后,在IE瀏覽器下運行一切正常,但在Firefox上老是提示錯誤:
無法在javascript中調用 setMenuItemVisible() 方法。
我開始到百度去搜索,找了一個多小時后,終于找到了一篇文件:
http://www.coolcode.cn/show-291-1.html
我把這篇內容在我的百度空間收藏了一下:
http://hi.baidu.com/personnel/blog/item/8c04cd119effe919b8127b47.html
原來因為瀏覽器的原因,如果在IE以外的大多數瀏覽器上執行javascript調用Flash中的函數時,一般要在 window.οnlοad=function(){載入Flash}
不然,在Flash中注冊的一些對外的函數將無法在javascript中調用。
本來以為到這里原因找到了,可是接下來又遇到了一個非常頭痛的問題。
因為我的Flash是先隱藏,在javascript觸發事件后,才顯示,我使用的是
flash.style.display="none";
flash.style.display="";
在Firefox上測試的時候發現,當在這顯示和隱藏兩種狀態下轉換的時候,每次Flash都會重新載入一次,真暈!
后來又到百度搜索了一下,找到了這么一篇文章,現在我收藏了一下:
http://hi.baidu.com/personnel/blog/item/a8f40fb3025decaed8335a43.html
最終重寫了Flash代碼,因為之前的代碼邏輯上在Firefox上不是好辦法。
?
2009-08-12
轉載于:https://www.cnblogs.com/personnel/p/4582979.html
總結
以上是生活随笔為你收集整理的javascript调用Flash里对象的方法(函数)搞了五个小时。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OC-数组排序-NSSortDescri
- 下一篇: 一群猴子排成一圈,按1,2,...,n依