2016-02-09 54 views
3

所以基本上我想要做的是打開一個窗口與本地文件的位置(假設在同一目錄中),並將該HTML文件的正文文本作爲字符串存儲到運行JavaScript的HTML頁面中,然後關閉新窗口,就好像它從未真正打開過一樣,所以它的所有用途都是它的文本。 JavaScript正文加載。Javascript - 使用window.open()訪問另一個HTML文件;

function test(){ 
    var x = document.getElementById("fill"); 
    var w = window.open('../HTML/HtmlPlaceholder.html'); 
    var cont = w.document.body.textContent; 
    x.innerHTML = cont; 
} 

但是當發生這種情況沒有什麼實際進入X(與「補」的ID的元素)。 任何想法我做錯了什麼?

+0

如果你做'的console.log(續)'什麼呢控制檯告訴你? –

回答

1

window.open打開它有它自己的線程和事件的另一扇窗,

你有兩個選擇

- 要麼等待一段時間,檢查內容

試試這個

function test(){ 
    var x = document.getElementById("fill"); 
    var w = window.open('../HTML/HtmlPlaceholder.html'); 
    setTimeout(function(){ 

     var cont = w.document.body.textContent; 
     x.innerHTML = cont; 

     console.log (cont); 
    }, 2000); 
} 

- 或使用window.onload事件彈出本身

HtmlPlaceholder.html

window.onload = function(){ 

    var x = window.opener.document.getElementById("fill"); 
    x.innerHTML = document.body.innerHTML; 
}; 
+0

由於這是一個作業,HTML文件名給我們,但無法編輯,我只能用第一個選項,它工作正常。但是,如何在內容被檢查並存儲到當前頁面後關閉打開的窗口? – Sean

+0

@Sean'x.close()'會做到這一點,'x'是打開的子窗口的句柄 – gurvinder372

+0

非常感謝你,最後一件事情,你認爲2000年會是最低的你設置延遲if你不知道身體內容有多大?只是問,因爲採取這種長期感覺有點笨重,但沒關係。 – Sean

相關問題