我用window.open()打開了一個新窗口,我想用window.open()調用的引用將內容寫入新窗口。我試圖使用myWindow.document.body.innerHTML = oldWindowDiv.innerHTML將舊窗口中的HTML複製到新窗口;但這是行不通的。有任何想法嗎?如何使用Javascript將內容寫入另一個瀏覽器窗口?
11
A
回答
10
通過window.open()
返回的引用是子窗口的window
對象。所以,你可以做任何事情,你通常會做的,這裏有一個例子:
var myWindow = window.open('...')
myWindow.document.getElementById('foo').style.backgroundColor = 'red'
請記住,如果父和子窗口具有相同的域這隻會工作。否則跨站腳本安全限制會阻止你。
0
myWindow.document.writeln(documentString)
5
我認爲這樣做會有效果。
function popUp(){
var newWindow = window.open("","Test","width=300,height=300,scrollbars=1,resizable=1")
//read text from textbox placed in parent window
var text = document.form.input.value
var html = "<html><head></head><body>Hello, <b>"+ text +"</b>."
html += "How are you today?</body></html>"
newWindow .document.open()
newWindow .document.write(html)
newWindow .document.close()
}
0
Vijesh提到的表單解決方案是在Windows之間溝通數據的基本思想。如果你正在尋找一些庫代碼,這裏有一個很棒的jQuery插件:WindowMsg(由於奇怪的Stack Overflow自動鏈接錯誤,請參閱底部的鏈接)。
正如我在我的回答中所述:How can I implement the pop out functionality of chat windows in GMail? WindowMsg在每個窗口中使用一個窗體,然後在窗口中使用window.document.form ['foo']散列進行通信。正如Dan在上面提到的,這隻有在窗口共享一個域時纔有效。
同樣如另一個線程中提到的,您可以使用JSON.org中的JSON 2 lib來以這種方式序列化在窗口之間發送的JavaScript對象,而不必單獨使用字符串進行通信。
WindowMsg:
http://www.sfpeter.com/2008/03/13/communication-between-browser-windows-with-jquery-my-new-plugin/
相關問題
- 1. 將瀏覽器內容縮小到瀏覽器窗口大小
- 2. 如何使用JavaScript在Web瀏覽器中打開另一個窗口?
- 3. 一旦另一個窗口關閉,更改瀏覽器窗口
- 4. 如何使整個瀏覽器窗口
- 5. JavaScript:使用瀏覽器打開窗口
- 6. 用JQuery將內容寫入新窗口
- 7. 使用extjs在瀏覽器內創建一個窗口瀏覽器
- 8. 內容淡入用戶滾動瀏覽器窗口
- 9. 將文本寫入另一個窗口
- 10. 如何使用javascript瀏覽json內容?
- 11. 使用JavaScript在另一個窗口中打開XML內容
- 12. 使用瀏覽器窗口調整內容大小
- 13. 如何將一個窗口「嵌入」另一個窗口
- 14. 將內容從父頁面添加到新瀏覽器窗口
- 15. 將頁面內容調整爲瀏覽器窗口寬度
- 16. JavaScript嵌入內容窗口
- 17. 如何確認瀏覽器窗口已打開,並使用Javascript?
- 18. 如何使用javascript在瀏覽器中關閉打印窗口
- 19. 如何關閉使用JavaScript的Firefox瀏覽器窗口?
- 20. 如何使用JavaScript打開新的瀏覽器窗口?
- 21. Lua - 如何將字符串寫入編輯器或瀏覽器窗口
- 22. Javascript:將Console.debug()輸出寫入瀏覽器?
- 23. 如何使用JQuery從另一個窗口寫入現有的HTML窗口
- 24. 當瀏覽器窗口填滿整個瀏覽器窗口時,SVG顯示viewBox外的內容
- 25. 使JavaFX WebView瀏覽器內容適合窗口
- 26. 如何使用Xlib將一個窗口的內容複製到另一個窗口?
- 27. 將內容插入使用iPad的內置瀏覽器
- 28. 如何使用WatiN將焦點設置到瀏覽器窗口
- 29. 如何將'window'JSObject從一個瀏覽器傳遞給另一個瀏覽器?
- 30. 獲取另一個窗口的內容
它實際上是同源策略(http://www.w3.org/html/wg/html5/#same-origin)這基本上意味着你必須訪問頁面在相同的域上,在相同的端口上,並且使用相同的協議(例如https://example.com不能寫入http://example.com,https://example.com:8080等) – olliej 2008-10-04 07:34:10