為了維護方便, 我習慣將所有的swf內的連結利用ExternalInterface 的方式呼叫javascript檔案,藉由js函數來回傳連結, 以方便程式人員可以直接編修, 但是如果利用ie 開啟一個頁面有兩個以上swf同時使用ExternalInterface 的話,會使ie 出現 out of memory的錯誤訊息, 解決這個問題的方法有兩種, 一種是呼叫改用swfObject
方式來箝入swf, 另一種是取代掉原本的 __flash_unloadHandler函數
:
__flash_unloadHandler = function()
{
if (externalProbSet) return;
externalProbSet = true;
for (var obj in fspobjs)
{
var theObj = eval(obj);
theObj.style.display = "none";
for (var prop in theObj)
{
if (typeof(theObj[prop]) == "function")
{
theObj[prop]=null
}
}
}
if (__flash_savedUnloadHandler != null)
{
__flash_savedUnloadHandler();
}
}
if (window.onunload != __flash_unloadHandler)
{
__flash_savedUnloadHandler = window.onunload;
window.onunload = __flash_unloadHandler;
}
上一篇:
水波效果的理论 下一篇:
flash交互整理