& # 39;节点# 39;是未定义的.我们如何在应用程序级别定义
'Node' is undefined. How can we define in application level?
我正面临变量作用域的一些问题。如果我们在一个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对象在加载页面时不会造成明显的差异。
相关文章:
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- 没有在Angular应用程序中定义firebase(在firebase迁移之后)
- 如何在ExtJs4应用程序上为视图、存储和模型设置自定义文件夹名称
- 制作自定义铬应用程序顶部栏
- 使用javascript为web应用程序自定义键盘快捷键
- 如何在Sencha Touch应用程序中实现自定义Toast
- 注入应用程序的角度控制器未定义
- Ionic应用程序在部署后给出ReferenceError:未定义Promise
- JSHint 错误:未定义我的应用程序 (W117)
- 如何在 Rails 应用程序中向 Galleria 添加自定义描述
- 应用程序.js未在开发中加载(未捕获的引用错误:未定义 $)
- Javascript 运行时错误:“应用程序未定义”
- 测试Ember.JS应用程序失败,返回ReferenceError:未定义Ember
- 要求多页&多应用程序未执行定义回调
- 为什么谷歌应用程序脚本抛出'引用错误:“;粗体“;未定义'使用.setBold()时
- Rally应用程序SDK 2.0rc1-未捕获引用错误:未定义集会
- $injector:modulerr将自定义模块注入Angular应用程序
- 自定义右键单击UI上下文菜单(复制、粘贴、剪切)用于整个应用程序(所有网页)跨所有浏览器而非单个网页
- Webpacked Angular2应用程序类型错误:无法读取属性'getOptional'的未定义
- 如何为AngularJS应用程序定义两种模式(夜间/白天)