0
我正在爲測試人員使用一個簡單的界面,我正在編寫一個HTML頁面。我需要做的是當用戶按下按鈕時打開一個特定的URL(URL觸發另一臺服務器上的Hudson/Jenkins作業)。下面是我使用來完成這個代碼:setTimeout不執行傳遞函數
function triggerJob() {
var url = "...";
var trigger = window.open(url);
setTimeout(function() {trigger.close();}, 1000);
}
有兩點要注意:
- 我這知道完成的事情我想要做的好方法。我已經使用jQuery實現瞭解決方案,出於某種原因,以這種方式查詢URL時,Hudson服務器上的作業不會被啓動。奇怪的是,當我使用同一臺機器上的Ruby腳本查詢它時,它工作得很好。
- 我必須做超時,因爲如果我只是打開窗口,然後立即關閉它,瀏覽器會做它應該做的事情,但是對於Hudson服務器來說,註冊並啓動作業太快了。
- 我曾嘗試在除了
trigger.close();
之外的其他語句內匿名函數,並且它們也不被執行。毫無疑問,setTimeout沒有執行它應該是的塊。
謝謝你的任何幫助,你可能會給我。我一直在這玩弄了幾個小時,無法弄清楚爲什麼我的代碼沒有正確執行超時。
這似乎適用於我,你測試什麼瀏覽器? – Headshota 2012-07-16 20:52:39
重複? http://stackoverflow.com/questions/5149552/jquery-not-closing-window – turtlepick 2012-07-16 20:53:00
我使用Chrome瀏覽器。這不是重複的,因爲我甚至沒有使用jQuery,只是原生JavaScript函數。 – 2012-07-16 20:59:21