gpt4 book ai didi

javascript - 如何在从父窗口调用的子窗口中设置输入文本值?

转载 作者:行者123 更新时间:2023-12-01 16:18:17 24 4
gpt4 key购买 nike

我想在子窗口中设置文本框值,该值是从父窗口传递的,我使用的是HTML和Javascript,请先谢谢,我的代码如下。

在父窗口中

var newWindow = window.open('child.html');
newWindow.id = 1;
newWindow.init();

在子窗口中
function init(){
document.getElementById('id').value = id;
}

我认为我的代码没有调用init()函数。
我努力了
window.open('child.html').document.getElementById('id').value += 1;

在我的父窗口中,它不起作用。

最佳答案

您需要等待页面实际加载到子页面中:

var newWindow = window.open('child.html');
newWindow.addEventListener("DOMContentLoaded", function() {
newWindow.id = 1;
newWindow.init();
});

根据用于加载 scriptinit标记,您可能需要采取一些防御措施:
var newWindow = window.open('child.html');
newWindow.addEventListener("DOMContentLoaded", function() {
tryInit();
function tryInit() {
if (!newWindow.init) {
setTimeout(tryInit, 10);
return;
}
newWindow.id = 1;
newWindow.init();
}
});

您可能会在20秒后放弃(例如),因此如果出现问题,它不会一直循环播放。

关于javascript - 如何在从父窗口调用的子窗口中设置输入文本值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59765111/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com