[英]How do I find out the DOM node at cursor in a browser's editable content window using Javascript?
[英]How do I write content to another browser window using Javascript?
我已經使用window.open()打開了一個新窗口,並且我想使用window.open()調用中的引用,然后將內容寫入新窗口。 我嘗試通過使用myWindow.document.body.innerHTML = oldWindowDiv.innerHTML將HTML從舊窗口復制到新窗口; 但這是行不通的。 有任何想法嗎?
window.open()
返回的引用是對子窗口的window
對象的引用。 因此,您可以做平時可以做的任何事情,下面是一個示例:
var myWindow = window.open('...')
myWindow.document.getElementById('foo').style.backgroundColor = 'red'
請記住,這僅在父窗口和子窗口具有相同的域時才有效。 否則,跨站點腳本安全限制將阻止您。
我認為這可以解決問題。
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()
}
myWindow.document.writeln(documentString)
Vijesh提到的表單解決方案是在窗口之間通信數據的基本思想。 如果您正在尋找一些庫代碼,那么有個很棒的jQuery插件:WindowMsg(由於奇怪的Stack Overflow自動鏈接錯誤,請參見底部的鏈接)。
正如我在此處的答案中所述: 如何在GMail中實現聊天窗口的彈出功能? WindowMsg在每個窗口中使用一個表單,然后使用window.document.form ['foo']哈希進行通信。 正如Dan上文所述,這僅在窗口共享一個域時才有效。
就像在另一個線程中提到的那樣,您可以使用JSON.org中的JSON 2庫以這種方式序列化javascript對象以在窗口之間發送,而不必只使用字符串進行通信。
WindowMsg:
http://www.sfpeter.com/2008/03/13/communication-between-browser-windows-with-jquery-my-new-plugin/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.