通常,當使用window.open打開窗口時,我可以通過使用window.opener()來訪問調用者窗口,是否可以在模態對話框(window.showModalDialog)中執行類似操作?我可以從ModalDialog窗口中獲得開啓器窗口嗎?
回答
正如你可以在comment的MSDN網頁上了解showModalDialog
(感謝佩卡),
[T]他
window.opener
方法返回null
,而不是向 打開的窗口中的引用。所以你不能刷新 打開的窗口與window.opener.location.refresh()
(如果,例如,你可以使用showModalDialog
打開編輯對話框 )。如果你想要做的是 刷新打開的窗口中每次 的ModalDialog
關閉,易於 (包括window.location.refresh()
調用showModalDialog
後右)。但是,如果您只有 想要刷新 中的開放窗口,某些情況下(例如,開放 窗口需要一段時間才能刷新),那麼您可以通過傳遞dialogArgument
來做到這一點。更聰明(我認爲)的方法是 通過窗口參考本身作爲
dialogArgument
。在撥打 的電話窗口中,使用window.showModalDialog('newurl.asp', window)
。在被調用的對話框 中檢索參考var window_opener = window.dialogArguments
。您可以使用 存儲在 變量window_opener
中的窗口引用代替window.opener
,以便從被調用的對話框中刷新調用窗口 。請注意,Firefox和Chrome(適用於 實例)似乎不具備這些 限制,並出現治療
ModalDialogs
更像普通 窗口。請記住,如果您使用這些瀏覽器之一進行 測試,則需要 ,但打算讓您的應用程序在 所有瀏覽器中運行。
非常好,謝謝 – Rubans 2010-06-24 16:00:06
- 1. 我可以從Chrome或Firefox窗口打開IE窗口
- 2. 獲得從窗口
- 3. 添加Javascript到ModalDialog窗口
- 4. 獲取開啓器窗口(IE)的窗口大小
- 5. 打開新窗口時可以刪除父窗口嗎?
- 6. 刷新開啓器窗口
- 7. Xcode窗口可以是「文檔」窗口而不是「瀏覽器」窗口嗎?
- 8. 我們可以向窗口服務發送窗口消息嗎
- 9. 從Flex打開自定義IE窗口或可以自定義窗口嗎?
- 10. 你可以在Outlook Addin(VSTO)中打開窗體或窗口嗎
- 11. 你可以調用模態窗口中的模態窗口嗎?
- 12. 我可以在不同的窗口中打開Tumblr書籤嗎?
- 13. 我可以在C#中使用窗口鉤子來確定窗口是否獲得或失去焦點嗎?
- 14. 我無法推窗口,或從窗口中打開
- 15. 我可以從C#控制檯窗口獲得複製/粘貼功能嗎?
- 16. 我可以在另一個窗口中插入一個窗口嗎?
- 17. 對於窗口定義,我可以使用WPF窗口中的XamlReader.Load或InitializeFromXaml嗎?
- 18. 從主PyQt窗口啓動一個PyQT窗口,並獲得用戶輸入?
- 19. 從回調窗口功能(Windows OS)中刪除窗口可以嗎?
- 20. WPF容器窗口/子窗口。可能?
- 21. Ajax Modal窗口可以訪問父窗口PHP數據嗎?
- 22. GEF可以使用SWT窗口作爲彈出窗口嗎?
- 23. 我可以運行對從「窗口」機
- 24. Javascript:如何獲得Chrome的開窗器窗口ID
- 25. JFrames可以放在父窗口中嗎?
- 26. 在Enyo窗口加載顯示ModalDialog
- 27. eclipse開啓X11窗口
- 28. 動畫窗口開啓(二)
- 29. 幾個窗口可以同時以不同的窗口狀態在MDI窗體中打開嗎?
- 30. 可可得到主窗口
相關:http://msdn.microsoft.com/en-us/library/ms536759.aspx – 2010-06-24 11:39:15
答案在鏈接中。我現在無法制定出完整的答案 – 2010-06-24 11:59:01