2009-07-15 34 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