确定HTML输入字段如何获取其值的源(即:JavaScript代码,服务器代码,浏览器缓存等)

时间:2011-08-01 19:59:26

标签: javascript html input firebug mozilla

是否可以在HTML输入框上设置断点(比如使用Firebug或其他插件)并确定输入字段中实际设置的值是什么? OR 确定值的(最后)来源 - 意味着什么值设置为最后?我知道如何使用Firebug将断点设置到JavaScript中,但不是相反。我很确定输入框的价值正在发生在客户端,因为它只发生在Mozilla Firefox中(我认为它已在我上一个问题的链接中得到证明)。我不知道是否有任何其他方式可以在客户端填充输入字段而不是JavaScript。如果你知道某种方式,请发表评论,我会投票给你。

有关详细信息,请参阅此问题: ASP.NET TextBox (HTML input field) populates with username automatically when form loads

如果你能告诉我这个问题的答案,我会让你对这两个问题(这个和上面的链接)都有所了解。

3 个答案:

答案 0 :(得分:1)

您可以将onChange处理程序绑定到INPUT元素,然后将信息记录到控制台。 console.trace在这里也会有所帮助(如果您使用的是Firebug)。

答案 1 :(得分:1)

不,这在Firefox / Firebug中是不可能的。您可以做的最好的事情是让JS(通常)通知您,或在发生更改时记录更改。

Chrome稍好一些,因为它可以让您设置全局事件侦听器断点。因此,如果您在键盘,鼠标和控件事件上设置断点,那么Chrome将进入触发这些事件的相应JS代码(如果有)。 (当输入发生变化时,其中一个通常会触发。)

在大多数浏览器中,尤其是Firefox,输入可以通过以下方式之一获得值:

  1. 用户操作。
  2. 的Javascript。
  3. 浏览器扩展程序/插件或插件。
  4. 在许多情况下,浏览器将填写最后的用户值,除非指示不这样做。见"Three Aspects of Autocompletion"
  5. 预定义值,编码为HTML。

  6. 使用Firebug's profiler,您可以更好地了解JS在页面加载期间可能正在做什么。

    将此类代码添加到页面顶部的<HEAD>部分。 :

    <script type="text/javascript">
        console.profile("Startup JS Profiler");
        window.addEventListener ("load", function() {
                console.profileEnd("Startup JS Profiler"); 
            }, 
            false 
        );
    </script>
    

    然后在页面加载时观察控制台。

答案 2 :(得分:0)

在有人回答这个问题之前,Firefox没有确定来源的工具。但我确实发现浏览器确实自己设置了数据。 Mozilla中的记住密码功能自己在TextBox / input字段中设置文本。请参阅我的问题中超链接的详细信息。