【问题标题】:Internet Explorer Doesn't Support JavaScript?Internet Explorer 不支持 JavaScript?
【发布时间】:2014-03-27 06:01:45
【问题描述】:

我最近在阅读有关 Node.js 的文章,并得到了一个关于 JavaScript 和 Internet Explorer 的有趣陈述:

Internet Explorer 实际上并不支持 JavaScript 或 ECMAScript;它支持一种称为 JScript 的语言。近年来,JScript 已全面支持 ECMAScript 3 标准,并有部分 ECMAScript 5 支持。但是,JScript 也以与 Mozilla JavaScript 相同的方式实现专有扩展,并且具有 ECMAScript 没有的功能。

来源:http://chimera.labs.oreilly.com/books/1234000001808/ch01.html#chap2_id35941400

坦率地说,我完全无法理解上述说法。我知道微软有自己的VBScript,它允许在 IE 中使用 JavaScript,这就是为什么 JS 比任何其他脚本语言都更受欢迎的原因。这个说法是真的吗?如果是,那么 IE 的脚本引擎会将原生 JavaScript 翻译成 JScript,否则是什么情况?

【问题讨论】:

  • JScript 基本上是 JavaScript,微软不得不使用另一个名称的原因是商标问题,而不是因为它有什么不同。
  • 这就像我们有html标准一样,每个浏览器对如何渲染html都有自己的解释。某些功能可能不受支持或超出规范,但最终仍是浏览器呈现 html。
  • “Internet Explorer 实际上并不支持 JavaScript 或 ECMAScript;它支持... Jscript。近年来,JScript 已完全支持 ECMAScript 3 标准” '不支持 ECMAScript,但他们完全支持它。那好吧。

标签: javascript internet-explorer


【解决方案1】:

ECMAScript 是官方标准,JavaScript 和 JScript 是该标准的实现。就像 CPython 和 Jython 是 Python 的实现一样。

通常,如果涉及浏览器,它们都不一定完全支持标准或提供额外的非标准功能,部分原因是它们在官方标准还不存在时开始发展。

来自Wikipedia about JScript

[Microsoft] 不想就商标问题与 Sun 打交道,因此他们将自己的实现称为 JScript。很多人认为 JScript 和 JavaScript 是不同但相似的语言。事实并非如此。它们只是同一种语言的不同名称,名称不同的原因是为了解决商标问题

来自Microsoft documentation about JScript

JScript 是 ECMA 262 语言规范(ECMAScript Edition 3)的 Microsoft 实现。除了少数例外(为了保持向后兼容性),JScript 是 ECMA 标准的完整实现。

【讨论】:

  • 那么,我所提到的中给出的陈述是错误的?因为如果我采用你提到的定义(这似乎是正确的),那么这个定义是完全错误的
  • 嗯,第一句话好像有点奇怪。你不能说浏览器不支持 ECMAScript 并且在下一句中说它使用了与 ECMAScript 兼容的东西。但其余的似乎是正确的:JScript 与 ES3 兼容,但也具有非标准特性。你可以对 Firefox 说同样的话:Firefox 不支持 JScript,它使用 JavaScript。它与 ES3 兼容,但也具有非标准特性。正确的是 IE 不支持 JavaScript ;)
  • @AwaisQarni:我会说声明 "[...] 实际上并不支持 JavaScript 或 ECMAScript [...]" 充其量是非常可疑的。如果我们引入 DOM 脚本,那就另当别论了。
  • @FelixKling 是的,同意。如果我们删除第一个语句,那么由于您的解释很好, else 似乎是可以理解的。为此 +1 :-)
  • 嗯... DOM 脚本蛋糕。
【解决方案2】:

好吧,这主要取决于您使用的IE版本,因为您没有提到没有人可以肯定地说

【讨论】:

    【解决方案3】:

    我认为不是这样,而是 Microsoft 为您提供了在 IE 上启用 Javascript 的选项,如下所示:

    • 下拉工具菜单
    • 选择 Internet 选项...
    • 单击结果窗口顶部的“安全”选项卡
    • 点击自定义级别按钮
    • 将列表向下滚动到 Active Scripting 条目
    • 选中启用单选按钮。
    • 在所有对话框中单击“确定”。

    同样Jscript 与 Javascript 相同

    JScript 是 Microsoft 的 ECMAScript 标准[2] 的方言,即 用于 Microsoft 的 Internet Explorer。

    JScript 被实现为 活动脚本引擎。这意味着它可以“插入”到 OLE 支持 Active Scripting 的自动化应用程序,例如 Internet Explorer、Active Server Pages 和 Windows 脚本宿主。[3]它 也意味着此类应用程序可以使用多个 Active Scripting 语言(例如,JScript、VBScript、PerlScript 等)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      • 2017-08-27
      • 1970-01-01
      • 2011-05-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多