'Node' 未定义。我们如何在应用程序级别定义?
'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)中的示例如下,我们可以在任何其他 javascript 文件中使用 Node.ELEMENT_NODE 吗?它会影响我们使用 Node.ELEMENT_NODE:
的所有其他 javascript 文件吗
<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 对象不应在加载页面时造成明显差异。
我在变量范围方面遇到了一些问题。如果我们在一个 js 文件中定义,我们如何在另一个 js 文件中使用(这里我的意思是说我们是否要在整个应用程序中使用一个变量)?我们能做到吗?
示例:在我们的 IE(IE-8 和更低版本的 IE)中,我们面临节点类型的问题。我们在这么多 javascript 文件中使用常量示例:Node.ELEMENT_NODE 这给少数浏览器带来了问题('Node' 未定义) 我们必须在所有文件中用“1”替换这个常量。我们可以在起始 html 文件中用
定义,而不是在所有地方(这么多文件)替换它我们的起始 html 文件(即 index.html)中的示例如下,我们可以在任何其他 javascript 文件中使用 Node.ELEMENT_NODE 吗?它会影响我们使用 Node.ELEMENT_NODE:
的所有其他 javascript 文件吗<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 对象不应在加载页面时造成明显差异。