在document.write()之前获取文档HTML。

时间:2019-01-01 19:03:28

标签: javascript html pageload document.write

我希望能够在加载页面之前 以字符串的形式获取页面的HTML,并使用我的JavaScript扩展名调用document.write();。是否可以在加载页面之前获取部分或全部HTML?谢谢您的帮助

3 个答案:

答案 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.innerHTMLdocument.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'


另一种解决方案是显示:无页面。修改页面,然后使用事务处理效果使页面显示出来。给用户带来相同的外观。