2011-01-31 32 views
3
不工作

我們有嵌入在網頁(使用SWFObject V2.2),而且在頁面上調用到以下方式閃光燈一些鏈接一個Flash遊戲:外部接口調用到Flash在IE9

window.document["flashObjectId"].flashMethod(); 

這對我們已經嘗試包括IE7和8所有的瀏覽器偉大的工作,但是在IE9它生成以下錯誤:「SCRIPT438:對象不支持此屬性或方法」。

它在兼容模式下工作,所以我嘗試添加一個meta標籤告訴IE9默認使用兼容模式,但因爲我們的遊戲在Facebook中的IFrame的運行,沒有工作。

我試圖引用flash對象每一個方式,我能想到的JavaScript,但我一直在IE9中得到同樣的錯誤消息。如果任何人有任何信息可以幫助我在IE9中工作,我將非常感激!

+0

參見http://stackoverflow.com/questions/7523509/script5007-unable-to-get-value-of-the-property-setreturnvalue-object-is-null/8100743#8100743 – whoisbenli 2011-11-11 22:34:01

回答

0

我有同樣的問題,但我沒有使用SWFObject的或AC_RunActiveContent.js。

我的解決方案是:swf用HTML和AC_RunActiveContent.js發佈。然後我用閃存輸出替換了我當前的代碼,並開始工作。

0

你覺得這個怎麼樣?

function getFlashObject(movieName) { 
    if (navigator.appName.indexOf("Microsoft") != -1) { 
     //alert("IE"); 
     if (typeof (window[movieName].flashMethod) == 'function') { 
      // < IE9 
      movie = window[movieName]; 
     } 
     else if (typeof (document[movieName].flashMethod) == 'function') { 
      // >= IE9 
      movie = document[movieName]; 
     } 
    } 
    else { 
     // NON IE 
     movie = document[movieName]; 
    } 

    return ((movie) ? true : false); 
} 

$(document).ready(function() { 
    if(getFlashObject("flashObjectId")) { 
     movie.flashMethod(); 
    } else { 
     alert("Failed to initialize"); 
    } 
}