2015-11-02 65 views
1

我使用pym.js動態調整了按預期方式工作但僅在瀏覽器窗口調整大小後才工作的iframe。在此之前,iframe的高度約爲150px。我試圖讓這到目前爲止,我已經試過在頁面加載工作:頁面加載時的javascript語法

jQuery(document).ready(
    function() { 
    var pymParent = new pym.Parent('personalise', '<?php echo $iframeUrl ?>', {}); 
}); 

誰能幫助我正確的語法?

+0

那麼這是文檔就緒,而不是窗口onload。 – epascarello

回答

3

當你的iframe中加載了下面的代碼,您可以只執行你的函數:

$(iframe).load(function() { 

// Do stuff 

}); 
+0

對不起,如果這是基本的,我已經添加了以下內容。我需要用什麼替換「iframe」或「function」? '' – user3783905

+0

如果您要調整大小的iframe具有id或class,則應將「iframe」更改爲此。 ('.class'或'#id'就像CSS一樣,不要忘了包含apostophes)。 –

+0

iframe上沒有id或class,因爲pym.js從父id創建實際的iframe元素(在我的情況下是#personalise) – user3783905

0

我曾經有加載問題與Firefox尤其如此。正如您已經提到的,在窗口加載時加載。

window負載= init;

window.onload = init;

(校正:負載不加載)

這裏的一個跨瀏覽例如:

if (window.addEventListener) 
window.addEventListener('load', ready, false) 
else if (window.attachEvent) 
window.attachEvent('onload', ready) 

參見ARTICLE

更新

嘗試將匿名函數包裝爲聲明函數(例如, pymParent()),然後在窗口事件上加載它。

window.onload = pymParent; 

function pymParent() { 
    var pym = new pym.Parent({'personalise', '<?php echo $iframeUrl ?>', {}}); 
    return pym; 
} 
+0

這是有益的感謝。我試過基本的例子,但我可能把它放在錯誤的地方,因爲我無法設置屬性'onload'的undefined: user3783905

+0

'window.load = init;'不正確 – epascarello

+0

剛抓住並編輯它,謝謝。 – zer00ne