2009-06-17 38 views
0

我在page1.php中下面的代碼:如果我在同一時間調用閃光燈功能作爲href鏈接將閃光燈功能始終執行?

<a href="page2.php" onClick="javascript:callFlash();">Go to page</a> 

這Flash影片上page1.php中調用函數和打開使page2.php。

我的問題是這樣的:

我可以肯定的是,閃光功能將始終被調用,執行完則page2.php叫過嗎? (Flash函數實際上將一些數據保存到本地共享對象中)。

或者我應該在閃光燈功能中添加一些代碼到getURL("page2.php");

任何想法 歡呼

回答

2

如果你確實需要的頁面了閃光燈功能完成後,再保證,唯一的辦法就是從閃光燈功能重定向因爲你已經想通打開。

2

首先在onclick屬性中不包含「javascript:」僞協議。

嘗試使用onclick="return callFlash()" - 這樣,瀏覽器必須等待JS函數在鏈接之前完成。我不知道你用來調用AS函數的方法,但是如果它是同步的(也就是說可以不使用回調函數或者其他的東西就可以返回數據到JS),那麼AS函數將會在之前完成JS函數,並且在頁面重裝之前。所以這應該是安全的。

0

問題的答案是否定的。

有一個簡單的解決方法。簡單地停止click事件的傳播,讓閃存做重定向:

<a href="page2.php" onClick="stop_and_call(event);"/> 

的JavaScript:

function stop_and_call(e) 
{ 
    if (!!(window.attachEvent && !window.opera)){ 
     // this is IE 
     e.returnValue = false; 
     e.cancelBubble = true; 
    } else { 
     e.preventDefault(); 
     e.stopPropagation(); 
    } 
    e.stopped = true; 
    callFlash(); 
}