【发布时间】:2013-11-20 08:05:33
【问题描述】:
浏览了问题,关于“ReferenceError foo is not defined”主题的类似问题很少。但是,我无法检测到代码中的错误并使其正常工作。它在 Chrome 和 Safari 中运行良好,但在 IE、Opera 和 Firefox 中运行良好:
HTML 中的代码
<a href="javascript:foo(1)" target="_parent">
将放置在标题中的javascript称为
<script type="text/javascript" src="http://www.site.com/include/script.js"></script>
定义如下:
function foo(language){
url = window.parent.location.href;
parts = url.split('/');
page = parts[3];
newUrl = "";
if (language == 1){
newUrl = "http://www.site1.com/" + page;
} else if (language == 2){
newUrl = "http://www.site2.com/" + page;
} else{
newUrl = "http://www.site3.com/" + page;
}
window.parent.window.location.href = newUrl;
}
阅读我测试的相关问题更改为window.foo = function(language){...},但没有帮助。
看起来简单明了,但由于某种原因 foo 在 IE 和 firefox 中未定义。
应该添加javascript在“top.html”中,这是每个页面的嵌入iframe。 chrome 以某种方式管理这个,而 IE 没有(但如果我浏览到 http://www.site1.com/top.html 并单击调用重定向(语言)的按钮,脚本可以工作;)
【问题讨论】:
标签: function internet-explorer firefox undefined referenceerror