<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
的{{1}}属性的脚本,但网页太大,各种<input ... />
和匿名函数都是自动的-executed使得几乎不可能手动找到特定的<script>
。
由于我在Linux,我不能使用任何Microsoft工具来搜索整个网页。我只有Firebug和Chrome。 Firebug能意识到吗?有没有人知道如何找到更改script
的具体<script>
?
答案 0 :(得分:28)
将这样的代码添加到文档中,紧跟在表单后面的按钮:
<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中测试。