我正在调试别人的网页代码,该网页是用 ASP.NET 制作的,带有一些 JavaScript 效果。这是一种我们预先填充可编辑数据的表单,其中一个文本框填充了错误的值。
我知道文本框在后面的代码中填充了正确的值,但在文本框和浏览器之间的某个地方它被覆盖了。
在试图找出发生的情况时,我遇到了一个有趣的情况。如果我右键单击有问题的元素附近并选择“查看页面源代码”,我可以向下滚动到该元素并查看
<input name="RecurrenceProperties$TextBox57" type="text" value="HEY ITS THE RIGHT VALUE" id="RecurrenceProperties_TextBox57" />
但是渲染的 html 和 IE 开发人员工具栏中的值都是错误的。
这似乎是一个非常好的线索,但我对“查看源代码”的工作原理了解不够,无法了解幕后发生的事情。 “查看源代码”源的生成和页面实际渲染之间会发生什么?
编辑:我通过在 javascript 中出现 ID 的所有地方放置一个断点发现了问题所在(不太优雅,但我找到了)。
禁用 javascript 并使用 IE8 的建议非常有帮助。谢谢。
最佳答案
通过“查看源代码”您看到的是已获取的原始 HTML。 HTML 不包含通过 DHTML/JavaScript 完成的任何更改。
<小时/>更新
受 Manik 评论的启发,这里有一个跨浏览器1书签,用于显示 <body>
内渲染的内容:
javascript:"<pre>"+document.body.innerHTML.replace(/([&<>])/g,function(c){return"&"+{"&":"amp","<":"lt",">":"gt"}[c]+";";})+"</pre>"
1 但似乎不适用于 Safari。有谁知道为什么吗?
关于asp.net - IE 7's "“查看源代码”按钮如何与javascript交互?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/488450/