我希望能够在加载页面之前 以字符串的形式获取页面的HTML,并使用我的JavaScript扩展名调用document.write();
。是否可以在加载页面之前获取部分或全部HTML?谢谢您的帮助
答案 0 :(得分:1)
尝试一下:
document.documentElement.innerHTML
或那个:
document.documentElement.outerHTML
答案 1 :(得分:1)
尝试使用jQuery ajax加载页面
$(document).ready(function() {
$.ajax({
type: "GET",
url: "page.html",
data: { },
success: function(data){
// in data is returned page.html html code
}
});
});
document.documentElement.innerHTML
或document.documentElement.outerHTML
将存储仅在该脚本之前加载的页面代码
答案 2 :(得分:1)
document.write发生在document。$(document).ready()或document.onload之前。 onload事件之后的document.write(页面已加载的信号)将覆盖文档。因此,对于使用javascript设置页面的某些部分,最佳做法通常是使用getElementById并对其进行写入。
document.write期间唯一可用的东西是文档文件中位于其上方的那些东西,它不是文档功能,而是常规实现。
IE
<p id="line1">1st line of html output</p>
<script>
alert(document.getElementById("line1").innerText);
</script>
<script>
alert(document.getElementById("lastline").innerText);
</script>
<p id="lastline">last line of html output</p>
通常会在警告框中显示“ HTML输出的第一行”
随后在控制台中出现错误...未捕获的TypeError:无法读取null的属性'innerText'
另一种解决方案是显示:无页面。修改页面,然后使用事务处理效果使页面显示出来。给用户带来相同的外观。