今天非常鬱悶,被linkinfo.dll這個木馬搞的我死去活來,最後把機器搞定了,我就得重新安裝所有的環境,死了算了。但接著更鬱悶的事也來了,運行Flex的程序發現IE7提示:Alternate HTML content should be placed here. This content requires the Adobe Flash Player。
這個問題在我上次重新裝系統後就出現過,在firefox是完全正常的表現,在IE7就無法運行,但很奇怪的事,問過幾個網友,他們運行之後,同樣是IE7卻沒有這樣的問題。我很迷惑,上次遇到這個問題,問kenshin和黑白都告訴我是flash的版本不對,後來莫名其妙他就可以了,所以沒有放在心上,這次我就重視起來,按照flash版本的問題,我找了下資料,有人說是生成的AC_OETags.js有問題,我就看了下,果然不出所料。
if (!version)
{
try {
// version will be set for 2.X player
axo = new ActiveXObject(“ShockwaveFlash.ShockwaveFlash”);
version = “WIN 2,0,0,11″;
} catch (e) {
version = -1;
}
}
如果這樣的話,在IE7中運行的情況,這個js最後一個運行到的是返回WIN 2,0,0,11,然後截取到版本為2與你要求的FLASH版號對比(如9),然後就提示版本太舊了,產生這個原因,網絡上有人解釋說是因為FLASH並沒有嚴格按照COM組件的標準,在獲取版號時產生錯誤。但為什麼裝系統之前,我莫名其妙的就可以在IE7中調試我的flex程序呢?是不是fdk的問題?如果誰了解這樣的情況具體原因,請發給我mail:cfugorg@gmail.com,謝謝
另外如果IE7是這樣情況的朋友,兩種解決方法,拋棄IE7,用firefox來執行,一定沒有問題。或是修改這段code:
if (!version)
{
try {
// version will be set for 2.X player
axo = new ActiveXObject(“ShockwaveFlash.ShockwaveFlash”);
version=axo.GetVariable(“$version”);
} catch (e) {
version = “WIN 2,0,0,11″;
}
}
保存後仍然可以運行在IE7中哦!
厲害的當當:
感謝你的實作分享.
恩…這件事情我也遇到過
後來逛網查資料
發現一個比較傻瓜的方法:
1.請先下載以下的flash player 反安裝軟體,將player反安裝(直接用window裡面的移除不行喔^^)
http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_14157
2.然後重新開機,再安裝debug版本的player就好哩^^