阅读javascript源码

时间:2009-04-27 10:50:02

标签: javascript

在我的html文件中,我将其作为

<script src='http://otherdomain/file.js' ></script>

当我运行我的网页时,其他javascript使用docuemnt.write命令创建了一些html内容。

如何使用html页面上的javascript动态读取动态html?

有可能吗?

5 个答案:

答案 0 :(得分:3)

您可以覆盖document.write只是存储输入而不是写入。完成后,将其恢复为正常行为:

<script>
var outputBuffer = "", old = document.write;
document.write = function(buffer) {
    outputBuffer += buffer; // store the contents for later use
};
</script>
<script src="http://otherdomain.com/file.js"></script>
<script>
document.write = old; // restore document.write to normal behavior
document.write(outputBuffer); // if you want to write it out
</script>

工作演示:http://jsbin.com/isuqi

答案 1 :(得分:2)

如果您知道其他JavaScript编写其内容的位置,则很容易阅读。例如,如果所有内容都写入以下div-container:

<div id="updatable"></div>

然后您可以通过调用document.getElementById("updatable").childNodesdocument.getElementById("updatable").innerHTML

之类的内容来检索它

答案 2 :(得分:1)

如果您只需要在构建的页面上使用实际元素,那么您可以使用javascript来修改DOM。 (W3Schools有tutorial

例如,您可以获取对标识为"myID"的标记的引用,如下所示:

myTag = document.getElementById("myID");

myTag.style = <new style>;
  etc.

如果您想要新页面的原始HTML源代码,可以拨打innerHTML

myHTML = document.documentElement.innerHTML;

答案 3 :(得分:0)

如果您不需要适用于任何浏览器但仅用于分析的解决方案,您可能会从突变事件中获得所需内容。

http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-eventgroupings-mutationevents

查看DOMNodeInserted事件。当您在树中添加元素时,在顶层文档中注册处理程序的时间比在被调用时要多。对于您可能想要的每个操作,都有适合的事件类型。我不确定它支持的程度,但可能值得尝试

答案 4 :(得分:0)

如果您只是想进行调试,请使用IE Web开发人员工具或firebug查看生成的源代码。 :)