簡體   English   中英

如何使用Ajax將頁面帶入我的網站,然后等待頁面完全加載的腳本和所有

[英]How to use Ajax to bring a page into my site then wait until it is fully loaded scripts and all

我有一個將頁面拉入動態界面的站點。 當前,主頁要求外部頁面需要加載任何javascript。 大多數javascript外部頁面具有的對象是在頁面被拉入時建立的,但首先會導致問題。

由於某種原因,我很難解釋,因此這里有一個簡單的過程。

1.請求拉入頁面

2.基於傳遞給函數的變量,創建一個特定的對象,該對象將與來自頁面的物理html關聯(這是外部Javascript)

3.將頁面加載到對象框架中

此流程要求將外部javascript附加到主頁,而不是要拉入的頁面。

我想切換第2步和第3步,但是我想我需要一種方法來知道頁面及其所有腳本在嘗試創建指定對象之前已完全加載,但是我不知道該怎么做。

我正在使用jQuery,並希望可以在沒有插件的情況下完成此操作,但是如果需要,那就這樣吧。

謝謝

更新資料

好問題。 因此,頁面是我們此時構建的本地頁面,因此我們知道會發生什么。 頁面也被加載到基本的div結構中。

具體地說,主頁發出獲取頁面的請求。 該頁面以字符串形式返回,然后粘貼到主頁上的div元素中。 這些頁面更像是我猜的片段。 但是它們的范圍可能從相當復雜到需要一點JavaScript到根本不使用任何JavaScript。

並且外部javascript通常將通過腳本標簽添加,而不是內聯的。

由於頁面的動態性質,我們不使用IFRAME,因此它們會導致模塊移動的問題。

如果您使用的是iframe,那么我想您正在更改它的src屬性。 要獲得有關該iframe完成加載的警報,您應該在iframe的頁面上添加一個腳本:

<script>
    $(window).load(function() {
        alert("All Done");
    });
</script>

如果您只是通過AJAX請求頁面的字符串版本並填充div,則需要一些額外的JavaScript來檢測那些動態加載的腳本文件何時已完成下載到客戶端。

我將訪問此鏈接以幫助您入門。

Nick和Mic解決方案的結合。

在IFRAME頁面中,您需要一種方法來確定何時完成內容加載或准備就緒,然后提醒您的主頁:

<script>
    $(function() {
        parent.frameReady();
    });
</script>

在您的主頁中,您可以從IFRAME中編寫鈎子代碼:

<script>
    function frameReady() {
        // attach custom js to iframe here
    }
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM