flash和javascript互動時 出現“對象不支援此屬性或方法”錯誤的解決方案

來源:互聯網
上載者:User
在 Javascript 控制 Flash FLV視頻播放器 --國外開源 這篇文章介紹了JW_FLV_Player這個開源播放器,在使用的過程中還是遇到一些問題的。比如在申明flash object時,如果播放器嵌套在form裡面,就立即需要用 player_id儲存這個flash對象,不然swf執行註冊回呼函數的時候找不到player_id。因為swf是尋找全域的player_id變數,放到form裡面自然就找不到了。會出現“player_id”未定義的錯誤。

如果事先想把包含flash的圖層隱藏起來,在執行player_id的一些方法時就會出現“對象不支援此屬性或方法”。這個問題困擾了我很久。圖層隱藏與否player_id變數看起來都是一樣的,為什麼一個就有方法一個沒有?後來利用寫div的innerHTML方式,也是出現這種情況。冷靜分析了一下,想想原理,終於發現是由於swf沒有執行造成的。object對象雖然建立了,但是裡面的swf並沒有執行,而在swf中對player_id註冊了一些回呼函數。所以就出現了“對象不支援此屬性或方法”。

總結推斷一下,div隱藏了,裡面的object雖然已經建立,但是swf並沒有執行。用innerHTML寫入object,雖然object已經存在,但swf也沒有來的及執行。解決方案就是在寫入innerHTML後,間隔一段時間再執行以後的操作。使用setTimeOut()。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.