色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

javascript兩個窗口怎么傳值

李明濤1年前7瀏覽0評論
隨著互聯網技術的發展,動態網頁已成為互聯網中不可或缺的一部分,而JavaScript作為一種高級編程語言,在網頁應用中也扮演著至關重要的角色。在開發中,我們往往需要在兩個窗口之間傳遞數據,接下來,本文將討論JavaScript中如何傳值到另一個窗口。
首先考慮第一種情況,我們在父窗口中打開一個子窗口,并希望在子窗口中能夠獲取到父窗口傳遞的值。這時候,我們需要采用window.open()函數打開一個新的窗口,并把父窗口中需要傳遞的數據以某種形式傳遞到子窗口。
pre標簽中代碼:
<button onclick="openWindow()">打開子窗口</button>
<script>
function openWindow() {
var name = "Jack";
var newWindow = window.open("child.html");
newWindow.name = name;
}
</script>

在上面的示例中,我們使用window.open()函數打開了一個名為child.html的子窗口,并且將name變量的值傳遞給了子窗口。子窗口可以通過window.name屬性獲取傳遞過來的值。
pre標簽中代碼:
<script>
var name = window.name;
alert("父窗口傳遞的name值為:" + name);
</script>

可以看到,在子窗口中可以輕松地獲取到父窗口傳遞的值,這種方式適用于所有瀏覽器。
接下來考慮第二種情況,我們在一個頁面中打開了兩個iframe窗口,我們想在第一個iframe窗口中的輸入框中輸入文字,然后把輸入的文字傳遞給另一個iframe窗口中。
pre標簽中代碼:
<iframe src="iframe1.html" id="iframe1"></iframe>
<iframe src="iframe2.html" id="iframe2"></iframe>
<script>
window.onload = function() {
var iframe1 = document.getElementById("iframe1");
var iframe2 = document.getElementById("iframe2");
iframe1.contentDocument.getElementById("input1").onblur = function() {
iframe2.contentWindow.postMessage(this.value, "*");
}
}
</script>

在上述代碼中,我們通過選取文檔元素的方法選取了需要傳遞數據的時候選中的文本框,當該文本框失焦(onblur事件觸發)時,我們使用postMessage()方法將文本中的值通過窗口間消息傳遞API傳遞到另一個窗口。
pre標簽中代碼:
<scrip>
window.addEventListener('message', function(event) {
var iframe2 = document.getElementById("iframe2");
iframe2.contentDocument.getElementById("p1").innerText = event.data;
});
</scrip>

在上述代碼中,我們使用了window.addEventListener()方法監聽了message事件,當該事件觸發時,我們通過event.data屬性獲取到窗口中傳遞過來的數據,并將數據展示到第二個iframe窗口中。
總結:
在本文中,我們討論了JavaScript中如何在兩個窗口之間傳遞值。通過使用window.open()函數打開新窗口,我們可以輕松地將父窗口的數據傳遞到子窗口中。通過使用iframe窗口和窗口間消息傳遞API,我們可以在兩個iframe窗口之間傳遞數據。這些方法為我們的開發工作提供了更多的可能性,讓我們可以更好地應對各種互聯網應用的開發需求。