2011-07-27 106 views
0

我有我想從頁面加載2秒後下載一個EXE網址:像這樣:下載文件?

var handle = 0; 
    function Download() { 
     window.location = "exeUrl"; 
     clearInterval(handle); 
    } 
    $(document).ready(function() { 
     handle = setTimeout('Download()', 5000);    
    }); 

NOW:我的問題是window.location的將刷新頁面和下載功能將被召回?

+0

爲什麼不使用的,而不是window.location的window.open依靠當前頁面??? – Marwan

+0

讓我們考慮這個頁面,因爲我的下載頁面 – Hiyasat

+0

什麼是烏拉圭回合的服務器端技術asp.net或php還是什麼? – Marwan

回答

2

嘗試

window.location.href = "exeUrl"; 

代替。

此外,

setTimeout(Download, 2000); 

最好:

setTimeout('Download()', 2000); 
+0

不,功能是下載還是叫 – Hiyasat

+1

哦,我明白了。因此,瀏覽器打開'.exe'文件並*重新載入上一頁(因爲'.exe'文件沒有瀏覽器渲染的圖形表示),因此重新啓動下載?! – jensgram

+0

不完全,當前頁面將重新加載,所以頁面加載將會再次調用 – Hiyasat

1

可能像

function Download() { 
    window.open("exeUrl"); 
    clearInterval(handle); 
} 

彈出窗口攔截器會干擾這裏:(

或者你可以添加的東西像

function Download() { 
    var ifr = document.createElement('iframe'); 
    ifr.src='exeUrl'; 
    ifr.style.width = '1px'; 
    ifr.style.height = '1px'; 
    ifr.style.border= 'none'; 
    ifr.style.position= 'absolute';ifr.style.margin= '-20px -20px'; 
    document.body.appendChild(ifr); 
    clearInterval(handle); 
} 
+0

我知道,但這是我的下載頁面,我不希望任何彈出 – Hiyasat

+0

添加另一種方法來我的答案:) – walialu

+0

感謝,但不是解決辦法,我正在尋找+1 – Hiyasat

0
var handle = false; 
    function Download() { 
     if(handle)return; 
     handle=true;window.location = "exeUrl"; 
    } 
    $(document).ready(function() { 
     setTimeout('Download()', 5000);    
    }); 

應該工作:)