<form id="search" action="/search" method="get" autocomplete="off">
<div>
<input type = "button" name = 'test_button" value = "test" />
</div>
</form>
<script>
document.getElementById("test_button").value = "changed_test"
</script>
正如上面的HTML代码所示,我已经定义了一个名为test_button
且值为test
的按钮,并使用脚本标记中的代码更改了它的值。
现在我正在调试一个大型网页,它在Linux中使用Firebug和Firefox这样的机制。
我想知道如何找到更改value
的<input ... />
属性的脚本,但网页太大,各种<script>
和自动执行的匿名函数使得几乎不可能手动找到特定的script
。
由于我在Linux,我不能使用任何Microsoft工具来搜索整个网页。我只有Firebug和Chrome。 Firebug能意识到吗?有没有人有一个好主意如何找到改变<script>
的特定value
?
使用按钮在表单后面添加一些这样的代码到文档:
<script>
var node = document.getElementById("test_button");
Object.defineProperty(node, 'value', {
set: function() { throw new Error('button value modified'); }
});
</script>
当任何东西试图修改按钮的value
时,这将抛出一个错误。
展开错误,然后单击显示的最后一个行号。这将直接转到设置按钮值的行。
这是一个演示:http://jsfiddle.net/XSJZN/
在Chrome 17中测试过。