在一个网站上,http://imgthis.com/blog/?p=34,我有两个加载在带图像库的iframe中的JavaScript,一个是Lytebox,它是一个Light Box 2减少图像库弹出窗口的克隆,另一个是节目在一堆div中只有一个div。该lytebox脚本工作,直到显示只有一个被调用,从这一点上它在IE FF和Opera的破此错误(Chrome和Safari浏览器也不会引发错误):它打破后,必须解决JavaScript冲突
Uncaught exception: TypeError: Cannot convert 'window.parent.frames[window.name]' to object Error thrown at line 223, column 1 in (imageLink, doSlide, doFrame) in [url to script]: var anchors = (this.isFrame) ? window.parent.frames[window.name].document.getElementsByTagName('a') : document.getElementsByTagName('a'); called from line 204, column 56 in() in [url to script]: myLytebox.start(this, false, false);
重新加载页面以使任何工作重新开始。
我假设它是一个冲突,因为它只发生在其他脚本被调用之后。在演出之前只有一个被调用,它完美的作品。
这是展示其嵌入到页面中只有一个代码:
function showonlyone(thechosenone) {
var newboxes = document.getElementsByTagName('div');
for(var x=0; x<newboxes.length; x++) {
name = newboxes[x].getAttribute('name');
if (name == 'newboxes') {
if (newboxes[x].id == thechosenone) {
newboxes[x].style.display = 'block';
}
else {
newboxes[x].style.display = 'none';
}
}
}
}
我几乎失去了为他们如何能是相互矛盾的,因为他们正在寻找不同的元素,虽然我的JavaScript ISN”如此强大,也许它会让世界变得一切。
在FF中通过Firebug的确切被抛出的错误是“window.parent.frames [window.name]是未定义的”,不知道是否缩小了它。 – 2010-11-06 21:47:26
现在我已经将它从“window.parent.frames [window.name]”更改为“window.parent.frames ['imgthis']”,它似乎正在处理所有事情。虽然我仍然想知道为什么第一个不起作用。 – 2010-11-06 22:24:28