javascript - 为什么自关闭脚本不适用于 ExtJS?

标签 javascript html extjs

我正在关注ExtJS tutorial并尝试创建一个新页面。它有效。

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title id='title'>HTML Page setup Tutorial</title>

        <!-- ** CSS ** -->
        <!-- base library -->
        <link rel="stylesheet" type="text/css" href="ext-3.3.1/resources/css/ext-all.css" />

        <!-- overrides to base library -->


        <!-- ** Javascript ** -->
        <!-- ExtJS library: base/adapter -->
        <script type="text/javascript" src="ext-3.3.1/adapter/ext/ext-base.js"></script>
        <!-- ExtJS library: all widgets -->
        <script type="text/javascript" src="ext-3.3.1/ext-all-debug.js"></script>


        <!-- overrides to library -->

        <!-- extensions -->

        <!-- page specific -->

        <script type="text/javascript">
            // Path to the blank image should point to a valid location on your server
            Ext.BLANK_IMAGE_URL = '../../resources/images/default/s.gif';

            Ext.onReady(function () {

                console.info('woohoo!!!');

            }); //end onReady
        </script>

    </head>
    <body>
    </body>
</html>

但是,如果我将脚本标记行更改为使用自结束标记,如下所示,它将不起作用。

<!-- ExtJS library: base/adapter -->
<script type="text/javascript" src="ext-3.3.1/adapter/ext/ext-base.js"/>

在 Firebug 中,它提示 Ext.EventManager is undefined 。我有两个问题

  1. 在脚本中使用自关闭标签通常是一个坏主意吗?我读过这篇post但在我看来,它是在谈论 xhtml。

  2. 我正在尝试学习 Javascript。虽然我知道修复它的方法是不使用自结束标签,但我仍然想知道为什么 FireFox 认为 Ext.EventManager未定义?

最佳答案

  1. 是的,这是一个坏主意。脚本标签需要一个结束标签,如 HTML specification - The script element 中所示。

  2. 不同的浏览器有不同的处理错误代码的方式。每个浏览器都试图充分利用情况,但他们对于每种情况下的最佳方案有不同的看法。处理某些不正确代码的一种方法是忽略它,这可能是脚本在 Firefox 中不执行的原因。

此外,由于您没有 doctype 标记,因此该页面默认为 HTML,而不是 XHTML,因此您根本无法使用自关闭标记。

关于javascript - 为什么自关闭脚本不适用于 ExtJS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5216786/

相关文章:

javascript - 使用 Angular 6 上传 JSON 文件

javascript - 如何优化 Javascript 使其更短

javascript - 将相同的元素附加到不同的元素

javascript - NVD3 图表顶部边距确保图表标题的空间不起作用

javascript - 如何更改表内元素的顺序?

html - 在 HTML5 中,将登录/注销链接放置在语义正确的导航标签中

javascript - 使用 puppeteer 选择表格的第二行

javascript - EXTjs:未捕获的类型错误:controller.setView 不是函数

javascript - ExtJS 5 : spreadsheet drag select with shown cell tooltip

javascript - 迭代特定类型的 Ext JS 表单组件