查找更改标记的value属性的脚本

问题描述 投票:9回答:1
<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

javascript html firebug
1个回答
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中测试过。

© www.soinside.com 2019 - 2024. All rights reserved.