【问题标题】:Firefox vs Chrome JavaScript interpreter differences and similaritiesFirefox vs Chrome JavaScript 解释器的异同
【发布时间】:2018-04-30 10:02:54
【问题描述】:

<html>

<body bgcolor="WHITE">
  <p>Paragraph 1</p>
  <script type="text/javascript">
    //Script block 1
    alert("Fisrt Script Block");
  </script>
  <p>Paragraph 2</p>
  <script type="text/javascript">
    //Script block 2
    alert("Second Script Block");
  </script>
  <p>Paragraph 3</p>
</body>

</html>

我保存了这个 html 文件,然后在 Firefox 和 Chrome 中执行它。

在 chrome 中运行代码时,警报框(两者)首先弹出,然后显示段落内容。而在 Firefox 中,首先会加载段落标签中的内容,然后是第一个警报,然后是第二个段落,然后是第二个警报,然后单击确定按钮后,会显示第三个段落内容。
如据我所知,这种差异是由于 Firefox 和 Chrome 使用的解释器不同,我确信这一点。

我的问题是,这种行为叫什么?我的意思是拥有自己的口译员的行为,它被称为什么吗?

任何帮助将不胜感激。谢谢!

【问题讨论】:

  • 不同的公司,不同的产品,不同的优化 -> 不同的解释器。

标签: javascript html web


【解决方案1】:

3 个同时工作的进程:

  1. 正在下载
  2. 阅读/解释/执行
  3. 建筑/绘图

要回答您的问题,可以将其称为“浏览器行为”..?

【讨论】:

    【解决方案2】:

    正如 Justinas 所说,“不同的解释器”……
    我不知道这种行为的任何名称。

    关键是,如果脚本按渲染顺序执行,这不是问题。
    这是一个 sn-p,即使 p 尚未显示,脚本也能正常工作:

    <html>
    
    <body bgcolor="WHITE">
      <p id="p1">Paragraph 1</p>
      <script type="text/javascript">
        //Script block 1
        alert("Fisrt Script Block");
        document.getElementById("p1").style.color = "red";
      </script>
      <p id="p2">Paragraph 2</p>
      <script type="text/javascript">
        //Script block 2
        alert("Second Script Block");
        document.getElementById("p2").style.color = "green";
      </script>
      <p id="p3">Paragraph 3</p>
    </body>
    
    </html>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-19
      • 2015-02-09
      • 2014-01-23
      相关资源
      最近更新 更多