【发布时间】:2014-06-27 16:34:11
【问题描述】:
这是 HTML 页面:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="test.js"></script>
</head>
<body>
<script type="text/javascript">
var myobject = new mynamespace.main.Main ("This is string.");
</script>
</body>
</html>
Ant 这是 test.js:
var mynamespace =
{
main:
{
controller: {},
view: {}
},
elements: {}
};
mynamespace.main.Main = function (string)
{
this.string = string;
this.controller = new mynamespace.main.controller.Controller (this.string);
}
mynamespace.main.controller.Controller = function (string)
{
this.view = new mynamespace.main.view.View (string);
this.element = new mynamespace.elements.Element (string);
console.log ("Controller, string: " + string);
}
mynamespace.main.view.View = function (string)
{
console.log ("View, string: " + string);
}
mynamespace.elements.Element = function (string)
{
console.log ("Element, string: " + string);
}
两个文件都放在同一个文件夹中。
Internet Explorer 11 返回错误:SCRIPT5009:对象 mynamespace 未定义。
此代码只有在我将 test.js 的代码放入 HTML 页面时才有效。请问怎么解决?
我不使用任何像 jQuery 这样的库。
【问题讨论】:
-
你可能需要一个结束
</head>标签 -
李:对不起,我忘了写在这里。还是不行。
-
test.js 是否与您的页面被访问在同一个文件夹中?您是否检查过您可以毫无问题地访问 test.js?
-
@JLRishe:是的,test.js 在同一个文件夹中,我可以在浏览器中访问它。
-
我遇到了同样的问题,在我的情况下,这是因为 js 文件中的一些注释标签。它不喜欢这些类型的标签
标签: javascript javascript-namespaces