2012-05-08 75 views
0

是否可以通過另一個窗口打開警報消息?我做了一個window.open()然後我顯示一條警告消息。但是,該警報消息使我回到包含顯示消息的JavaScript的窗口。這種行爲是有道理的。但是我想顯示幫助信息,用於當前向用戶顯示的新窗口。有沒有辦法通過alert()獲得該功能,還是有其他方法可以做到這一點?在不同的窗口顯示一條提醒消息

window.open(url, _blank); 
alert('Do step 1, then step 2, then step 3 to get to the page'); 
// The step above returns the focus to the original window 

有沒有辦法解決這個問題?

**編輯**

得到了穆薩的答案,但有因爲我用的setTimeout修改它,衝進瀏覽器抑制的問題。通常情況下,他的答案應該有效。這是工作的代碼。

external_window = window.open(url,'_blank'); // Open external window. 
    message_window = window.open (url,'_blank','width=600,height=200,top=200,left=300'); // Open message window. 
    self.focus(); // Keep focus on original window. 
    setTimeout(function() { external_window.focus(); message_window.focus(); }, 4000); // After delay, focus on external window, then on message window 

這樣在瀏覽器抑制問題時具有正確的效果。

回答

1
var newWindow = window.open(url, _blank); 
newWindow.alert('Do step 1, then step 2, then step 3 to get to the page'); 
+0

太棒了!我會看看這是否有效。 – user823527

+0

因爲我必須在setTimeout()中執行此操作,所以不會顯示警報。瀏覽器取消了它。是否有不同的方式可以從該窗口向用戶顯示消息? – user823527

+0

爲了解決瀏覽器禁止問題,我使用第二個window.open完成了警報:var message_window = window.open(url,'blank');'。然後我做了'external_window.focus();'然後是'message_window.focus();'讓消息出現在相關窗口的頂部。在setTimeout函數內都可以獲得所需的延遲。請參閱原始問題中的編輯以瞭解實際代碼。 – user823527