& # 39;节点# 39;是未定义的.我们如何在应用程序级别定义

'Node' is undefined. How can we define in application level?

本文关键字:应用程序 定义 节点 未定义 我们      更新时间:2023-09-26

我正面临变量作用域的一些问题。如果我们在一个js文件中定义,我们如何在另一个js文件中使用(这里我的意思是说如果我们想在整个应用程序中使用一个变量)?我们能做到吗?

示例:在我们的IE (IE-8及更低版本的IE)中,我们面临节点类型的问题。我们在许多javascript文件中使用常量,例如:Node。ELEMENT_NODE这是给一些浏览器的问题('Node'是未定义的)我们必须在所有文件中将这个常数替换为"1"。与其在所有地方(这么多文件)替换它,我们能否在开始的html文件中定义

示例如下,在我们的起始html文件(即index.html),我们可以使用Node。ELEMENT_NODE在任何其他javascript文件?它对我们使用Node的所有其他javascript文件有影响吗?ELEMENT_NODE:

<script type="text/javascript">
    if (!window.Node){
        Node = {  
            ELEMENT_NODE                :  1,
            ATTRIBUTE_NODE              :  2,
            TEXT_NODE                   :  3,
            CDATA_SECTION_NODE          :  4,
            ENTITY_REFERENCE_NODE       :  5,
            ENTITY_NODE                 :  6,
            PROCESSING_INSTRUCTION_NODE :  7,
            COMMENT_NODE                :  8,
            DOCUMENT_NODE               :  9,
            DOCUMENT_TYPE_NODE          : 10,
            DOCUMENT_FRAGMENT_NODE      : 11,
            NOTATION_NODE               : 12
        };
    }

创建一个存放javascript代码的文件

// your-script.js
if (!window.Node){
    Node = {  
        ELEMENT_NODE                :  1,
        ATTRIBUTE_NODE              :  2,
        TEXT_NODE                   :  3,
        CDATA_SECTION_NODE          :  4,
        ENTITY_REFERENCE_NODE       :  5,
        ENTITY_NODE                 :  6,
        PROCESSING_INSTRUCTION_NODE :  7,
        COMMENT_NODE                :  8,
        DOCUMENT_NODE               :  9,
        DOCUMENT_TYPE_NODE          : 10,
        DOCUMENT_FRAGMENT_NODE      : 11,
        NOTATION_NODE               : 12};
    }
}

然后,在你的网站的每一页添加这一行:

<script src="your-script.js"></script>

最好将这一行放在</body>(结束标记)之前。这将在加载所有其他内容后执行javascript。当然,您仍然可以将这一行放在您想要的地方。

注意:这里的文件名为"your-script.js",但你可以随意命名。

这将包括所有页面中的代码。然后,它将从任何地方访问。


如果您仍然对这个解决方案有问题,请等待所有的脚本加载完成后再执行任何代码:

window.onload = function ()
{
    // Javascript code goes here
}

确保脚本位于每个页面的顶部。不要把它放在结束正文标记之前,也不要把它放在onload事件中。创建一个具有简单属性的普通Javascript对象在加载页面时不会造成明显的差异。