为什么浏览器开发人员工具不显示输入字段值?

Art*_*sov 3 javascript

当我检查具有值的输入字段时,调试器中的值显示为空,如下所示:

在此输入图像描述

我只是想知道为什么?调试器性能?或许与安全有关的事情?或者我可能需要打开/关闭一些东西?

我之所以想知道它是因为它在某些情况下使我的调试更加困难,例如现在当字段加载为空时,控制台记录.value返回应该加载的值但由于某种原因没有:

console.log( 'before LoadFromLocalStorage' );
console.log( 'input element:' );
console.log( document.getElementById( 'email' ) );
console.log( 'input element value:' );
console.log( document.getElementById( 'email' ).value );



document.getElementById( 'email' ).value = sessionStorage.email;


console.log( 'after LoadFromLocalStorage' );
console.log( 'input element:' );
console.log( document.getElementById( 'email' ) );
console.log( 'input element value:' );
console.log( document.getElementById( 'email' ).value );
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

当我设置超时足够长时,它实际上会显示在字段中.在大约75%的测试中,1ms就足够了,但有时甚至在100ms超时时也无法显示.所以在那段时间显然发生了一些事情,但我不知道是什么.如果我能在实际出现在输入字段中时进行记录,那将是非常好的.


编辑:

我用空输入字段解决了这个问题.我element.innerHTML += "a lot of html"在我的代码中使用过其他地方,并且由于其破坏性,它在完成附加html之前擦除了所有输入字段.我用它替换它,.insertAdjacentHTML它就像一个魅力.

Que*_*tin 7

你在找错了地方.

value 属性表示您未修改的默认值.

当前值显示在DOM value 属性中.

截图