0
我想創建一個函數,在'onStart'選項加載fancybox時調用。 代碼將需要檢查頁面是否已加載超過7秒但尚未完成。如果fancybox在7秒內沒有完成加載,該功能將殺死Fancybox模式。下面是我目前的位置,但我已經太過分了,並且相信它不能完成。如果語句運行功能在Fancybox'onStart'document.ready之前
$.fancybox({
'autoScale': false,
'centerOnScroll': false,
'enableEscapeButton': false,
'hideOnOverlayClick': false,
'href': "link Removed",
'showCloseButton': false,
'onStart': function() {
$.fancybox.showActivity();
window.onload = function() {
var a = new Date();//get seconds of loading start
}
var b = new Date();//get seconds after loading started
var difference = (b - a)/1000;
if (document.readyState !== "complete" && difference >= 7) {
parent.$.fancybox.close();
}
},
'onComplete': function() {
$('#fancybox-frame').load(function() { // wait for frame to load and then gets it's height
$('#fancybox-content').height($(this).contents().find('body').height() + 30);
});
$.fancybox.hideActivity();
},
'type': 'iframe'
});
@Alan_N:也嘗試'父。 $ .fancybox.cancel()'而不是'parent。$。fancybox.close();' – JFK
Sushanth,感謝您的更正。我會執行。我認爲它可能無法正常工作的唯一原因是,因爲我使用的是type:iframe,Fancybox認爲它在iframe啓動時完成加載,對嗎?正在加載的內容是必須填寫簡單表單的第三方來源。如果這種方式行不通,我認爲下一步是將代碼放在iframe內容的頭部。 JFK,感謝您的意見,我會做出改變。 –
@Sushanth:這似乎是一個很好的方法,但我如何從iframe轉換到內聯。這也正在改變發佈到fancybox中的文件。被調用的文件將不再具有html/head/body標籤,因爲它現在被作爲內聯對象處理。 –