外部HTML数据不完整
outerHTML data is not complete
HTML:
<div id="WholeNew">
<script>func2()</script>
<img src="x" onerror=func1() />
</div>
.JS:
function func1()
{
console.log(arguments.callee.caller.arguments[0].target.parentNode.outerHTML);
}
function func2()
{
console.log(document.currentScript.parentNode.outerHTML);
}
现在查看控制台中的输出:
对于 func1():
<div id="WholeNew">
<script>func2()</script>
<img src="x" onerror=func1() />
</div>
对于 func2():
<div id="WholeNew">
<script>func2()</script>
</div>
为什么两个输出都有差异,因为func1()
document.currentScript.parentNode
func2()
document.callee.caller.arguments[0].target
元素是相同的<div>
?我需要来自func2()
<div>
的完整外部 HTML .
问题是,在请求document.currentScript.parentNode
时,文档尚未准备就绪。尝试检索DOMContentLoaded
上的outerHTML
:
function func2()
{
currentScriptReference = document.currentScript;
document.addEventListener('DOMContentLoaded', function(){
console.log(currentScriptReference.parentNode.outerHTML);
}, false);
}
工作堆积器:https://plnkr.co/edit/koZ1xDlpFacm7r9uY8lC?p=preview
控制台日志的结果:
<div id="WholeNew">
<script>func2()</script>
<img src="x">
</div>
相关文章:
- 如何将json数据显示为html
- 使用html中的外部javascript进行数据验证
- 无法将数据从firebase获取到我的html页面
- JS验证ajax返回的html中的表单数据
- 将HTML表格导出到excel时,无法将数据加载到excel文件中
- 编辑HTML表的源数据
- PHP:显示sqlite数据库中的html格式数据,使用tinymce保存
- 在页面呈现之前更改HTML数据
- 如何放置'选择'基于angularJS中数据的html选项
- 有没有一种方法可以仅使用HTML/CSS来隐藏基于特定值的数据单元格
- AngularJS-需要在index.html页面中访问来自服务的数据
- AngularJS加载JSON数据,然后从中解析/加载HTML
- tu如何将id放在填充了json数据的html表td上
- 在HTML页面上显示node.js服务器中的数据
- 函数jquery.html()不提供数据属性集值
- 从远程站点获取数据 - HTML 表
- 如何保存和访问复选框数据 HTML
- 在下拉列表中显示保存的数据 - html 选择标签
- 避免使用jQuery显示的数据.html在页面重新加载后丢失
- 使用javascript根据元素的数据html将类附加到元素中