開了源代碼,我想通過window.open()如何從webside通過window.open
我的代碼從網站獲得源代碼非常簡單:
var myWindow = window.open("http://localhost/test.php?test=7", "myWindow", "width=200,height=100");
alert(myWindow.document.body.innerHTML);
而且我不知道爲什麼警報是空白的。 你能幫我嗎? 問候
開了源代碼,我想通過window.open()如何從webside通過window.open
我的代碼從網站獲得源代碼非常簡單:
var myWindow = window.open("http://localhost/test.php?test=7", "myWindow", "width=200,height=100");
alert(myWindow.document.body.innerHTML);
而且我不知道爲什麼警報是空白的。 你能幫我嗎? 問候
要獲得從使用window.open
打開一個網站的JavaScript代碼,你可以做這樣的事情:
var myWindow = window.open(...);
myWindow.onload = function() {
var scripts = myWindow.getElementsByTagName("script");
// ... get the inner text of each script
}
然而,這隻能用於內嵌腳本;對於腳本引用,您也必須打開這些頁面,然後閱讀它們的文本。這,或者你可能可以發送一個GET請求給他們。
至於你的提醒是空白的,它可能是一個或兩個的兩個理由,我想:你作用於mywindow的
window.open
返回的窗口不會立即爲您準備好DOM。因此,在嘗試閱讀正文HTML之前,您可能必須等待窗口使用onload
或類似的東西加載。非常感謝! – Star089
試試這個代碼:
var myWindow = window.open("http://localhost/test.php?test=7", "myWindow", "width=200,height=100");
myWindow.onload = function() {
setTimeout(function(){
alert(myWindow.document.documentElement.outerHTML)
}, 2000);
}
聽起來像是你需要通過AJAX來做到這一點。你究竟想在這裏做什麼? –
'innerHTML'與源代碼不一樣,因爲'innerHTML'包含了腳本編寫的所有修改(刪除和添加的元素)。你想獲得源代碼或DOM樹結構? – jcbp
你有彈出式窗口攔截器嗎? – Robin