javascript - 在新打开的窗口中访问元素
问题描述
我想用 JavaScript 打开一个 html 文件并将一些数据写入它的一些元素。我尝试了以下方法:
var info_window = window.open('info_print.html')
info_window.document.getElementById('new_info').innerHTML = data;
但是当我拥有#new_info
元素时出现此错误:
cannot set property 'innerHTML' of null
我该怎么办?我检查了评论的问题,但这不是我的问题。
解决方案
假设您info_print.html
实际上包含您正在寻找的元素,那么您需要等待 Window 在访问它之前加载它。
这是使用onload
事件的简单解决方案:
var info_window = window.open('info_print.html');
info_window.addEventListener('load', function() {
info_window.document.getElementById('new_info').innerHTML = data;
});
推荐阅读
- r - data.table() 根据列顺序给出虚假结果
- sql - 连接表并返回正确的聚合
- javascript - 使用 REST API 从 localhost 开发时处理 CORS - Streamlabs API
- kotlin - 构造函数注入期间的 Dagger Lazy
- git - GitKraken 中的文件历史记录
- build.gradle - Gradle 获得依赖但不在构建时使用它
- json - jq 散列数组到 csv
- php - 试图获取非对象的属性({{$perfil->id}}) - Laravel 错误
- sas - 格式化日期变量不起作用
- javascript - 反应 createElement 不工作返回 [object Object]