我們想實現一個創新的UI。我們正在做的事情如下:
- 當用戶點擊一個菜單項鍊接時,$ .get(url)被調用,我們將取出在url中引用的頁面的HTML內容。
- 然後,我們將該內容填充到輸出格中,然後在填充之前刪除該輸出格的任何內容。
這是我們實際正在做的事情的削減版本,但它的目的是說明我目前面臨的問題。
實際上,當使用$ .get(url)包含純HTML的頁面時,我沒有任何問題。但是,如果使用$ .get(url)獲取的頁面包含Ext.NET代碼,那麼我沒有返回任何東西。
實際發生的事情是,Ext.NET代碼本身調用其他腳本並在DOM中插入元素。這導致了一個問題,因爲我的代碼執行到之前 Ext.NET有時間插入我試圖訪問的內容。
因此,一個天真的嘗試來解決這個問題將是等到Ext.NET完成填充頁面,然後將代碼執行返回到回調函數。問題是我該如何做到這一點?有沒有更好的方法來實現我想要做的事情,即確保$ .get(url)完全運行它的過程,以便我的輸出div正確填充?
我想我可以放棄使用iFrame的路線,但我想避免這種情況,如果可能的話,因爲這會增加複雜的界面。
@ david1dMcLean:不幸的是,這不起作用,即我得到相同的結果。 – DavidS
我還沒有使用EXT.net呢..但有沒有辦法讓它等到dom被加載?不知道這是如何工作的,因爲你正在調用它的頁面已經被加載.. *思考*確定如何在外部頁面加載後將變量設置爲true ...外部頁面上的js加載但不直到變量的值被設置爲true。這意味着一切都被加載..你可能需要通過自定義事件實現 - > http://www.truerwords.net/articles/web-tech/custom_events.html - 是舊的,但我相信它仍然有效(沒有嘗試過新的IE或FF思想)。 –
@ david1dMcLean:謝謝你的輸入。我也有這個計劃,但我認爲我需要走下iframe的路線,而且我已經遇到了可怕的事情。 – DavidS