将 "const"重新定义为 Internet Explorer 的 "var"的 Javascript 垫片

标签 javascript internet-explorer

Internet Explorer 不支持“const”关键字。我可以使用垫片来检查是否支持“const”,如果不支持,则将其重新定义为 var 吗?我想如果它能强制保持恒定性就好了,也许可以使用 object.Freeze,但我可以使用简单的 shim。

更新:我想要这个,这样我就可以使用现有的使用“const”的 Javascript 库,而无需修改它们。显然,查找/替换可以工作,但它很困惑而且不太易于维护。

最佳答案

你可以写一个服务器端的 shim,所以当 .js 文件被请求时,任何 const 都会被替换为 var流式传输到浏览器。 (需要适当的断字/空格检测)

由于您在服务器上,因此您无法检测浏览器功能,并且必须依赖 User-Agent 字符串来仅针对 IE 执行此操作,或者让在客户端浏览器上运行的 javascript 告诉服务器它需要非常量代码。

我对真正由 Java servlet 支持的“userprefs.css”文件做了类似的事情,专门为每个用户构建和流式传输该文件。

关于将 "const"重新定义为 Internet Explorer 的 "var"的 Javascript 垫片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6587189/

相关文章:

php - 将 PHP 数组传递给 JavaScript 函数不起作用

javascript - 当您在网站上按 F5 而不是使用 enter 时,图像会消失

javascript - IE 9 还能像旧版 IE 和 Netscape/Firefox 一样使用 Javascript 签名吗?

javascript - IE 中的 "Object does not support this property or method"

html - 替代 Internet Explorer 8 上的独生子女

css - W3C盒模型与IE5盒模型相比有什么优势?

javascript - 当我将鼠标悬停在同一个元素上时,我希望它变暗 - Vanilla JS

javascript - 与 typescript 语法混淆

javascript - jQuery next() 和/或 remove() 在 IE 中崩溃?

javascript - 创建不带 while 的 JavaScript 循环