IE7的“查看源”按钮如何与javascript交互?

时间:2009-01-28 17:00:54

标签: asp.net javascript html internet-explorer-7 view-source

我正在调试其他人的代码,用于使用ASP.NET制作的具有一些javascript效果的网页。这是我们预先填充可编辑数据的表单,其中一个文本框的填充值不正确。

我知道后面的代码中的文本框正在填充正确的值,但是在那里和浏览器之间会被覆盖。

在试图找出发生的地方时,我遇到了一个有趣的情况。如果我右键单击有问题的元素并选择“查看页面源”,我可以向下滚动到元素并查看

<input name="RecurrenceProperties$TextBox57" type="text" value="HEY ITS THE RIGHT VALUE" id="RecurrenceProperties_TextBox57" />

但是渲染的html和IE开发人员工具栏中的错误值。

这似乎是一个线索,但我不太了解“查看源”如何工作来告诉窗帘背后发生了什么。生成“查看源”源和实际呈现的页面之间会发生什么?

编辑:我通过在javascript中出现ID的各个地方设置断点来找到它出错的地方(不是很优雅,但我找到了它)。

禁用javascript和使用IE8的建议非常有帮助。谢谢。

4 个答案:

答案 0 :(得分:8)

您在“查看源代码”中看到的是已获取的原始HTML。 HTML不包含通过DHTML / JavaScript完成的任何更改。


更新

受到Manik评论的启发,这是一个跨浏览器 1 书签,用于显示<body>内的呈现

javascript:"<pre>"+document.body.innerHTML.replace(/([&<>])/g,function(c){return"&"+{"&":"amp","<":"lt",">":"gt"}[c]+";";})+"</pre>"

1 虽然似乎不适用于Safari。谁知道为什么?

答案 1 :(得分:4)

如果您想查看javascript对您网页的影响,请在页面上使用IE8或FireFox / Firebug查看它(不)正在做什么。

如果案例实际上显示了错误的元素,并且隐藏了正确的元素,它们也会为您提供有关Css样式的信息。

答案 2 :(得分:2)

如前所述,“查看源代码”将显示服务器发送的HTML,通过JavaScript进行的修改不会反映在“查看源代码”中。

我建议查找可能正在修改“RecurrenceProperties_TextBox57”文本框值的任何JavaScript代码。检查源的<script type="text/javascript"></script>区域是否有引用该文本框的代码。

答案 3 :(得分:1)

如果是我,我要做的第一件事就是禁用javascript并加载页面。这将缩小您的错误来得非常快,特别是如果您怀疑javascript有问题。

就视图源所做的而言,它显示了浏览器正在解释的内容......从服务器发送的代码。这些代码都不在视图源中执行。