我们应该能够更改 HTML INPUT 标记的 TYPE 属性吗?
例如,我们正在这样做:
原始html:
<input type="text" />
通过 jQuery,我们将其更改为:
<input type="number" />
这似乎在 iOS 的 Safari 中运行良好。我没想到这会是一个问题。
但现在我们在某些 Android 设备上发现了一些问题,并且在进行一些研究时,我发现提到某些浏览器出于安全原因根本不允许您更改类型属性。
问题:1)这是真的吗? 2)如果是这样,具体原因是什么?我无法弄清楚如果他们允许的话这会导致什么样的安全问题。
更新:
到目前为止,似乎是的,这是真的,但不是由于任何标准实践或规范......只是某些浏览器不喜欢它。即 IE,我猜还有某些版本的 Android 浏览器。
最佳答案
什么安全原因?这都是客户端。无论如何,你永远不应该相信客户端的任何东西。
客户可以在浏览器中和沿途更改任何他们想要的内容。这绝对不存在安全问题。
我怀疑某些浏览器不允许您更改类型属性,因为浏览器必须在内存中创建全新类型的对象,或者类似的其他奇怪情况。它与安全无关。
关于javascript - 通过 JS 更改 TYPE 属性。这是安全问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9420538/