2009-07-15 67 views
1

这是情况。JQuery/IFrames奇怪的观察

function scrollLog(line) { // Assume Firefox 
    // alert("weird"); 
    frames['log'].find(line); 
}; 

这是我在文档准备就绪时调用的函数。所写的代码并不总是触发。但是,取消注释警报行,并且警报被触发后,find函数始终会触发。有任何想法吗?

编辑:这可能是由于加载()的问题,加载的iframe的时间没有完成所有的时间? (这是相当大的日志文件)

感谢,
迈克尔

回答

2

当JavaScript尝试与其他东西进行通信时,经常添加警报会做些时髦的事情。我用闪光灯体验过这种情况,当发出警报时会留下闪光灯加载的时间,它会起作用。删除警报将打破一切。

在这里我会说,既然你把一个警报,它给时间框架加载,因此你可以访问它。如果您没有提醒,可能无法完全加载。尝试在访问之前检查帧是否已加载。

+0

检查帧是否被加载的语法是什么? – Dirk 2009-07-15 16:40:28

+0

你可以做iframe.onload =功能(){}我想 – marcgg 2009-07-15 16:42:38

+0

谢谢,那是 – Dirk 2009-07-15 16:44:18

1

我认为这个问题可能是主文档DOM可以在iframe的DOM文档加载之前加载。

您是否尝试过将它放在框架元素上?

$(frames['log']).ready(function() {}); 
+0

是的,这就是我发布后我的想法 - 会很快尝试。 – Dirk 2009-07-15 16:36:50

+0

没有工作。尝试其他方式 – Dirk 2009-07-15 16:42:48

+0

感谢您的建议,marcgg的“onload”语法证明是可行的。 – Dirk 2009-07-15 16:45:04