|
|
@@ -44,7 +44,7 @@ this.singlefile.lib.lazy.content.loader = this.singlefile.lib.lazy.content.loade
|
|
|
};
|
|
|
|
|
|
function process(options) {
|
|
|
- const hooksFrame = singlefile.lib.hooks.content.frame;
|
|
|
+ const frames = singlefile.lib.hooks.content.frames;
|
|
|
return new Promise(async resolve => {
|
|
|
let timeoutId, idleTimeoutId, maxTimeoutId, loadingImages;
|
|
|
const pendingImages = new Set();
|
|
|
@@ -76,10 +76,10 @@ this.singlefile.lib.lazy.content.loader = this.singlefile.lib.lazy.content.loade
|
|
|
}, options.loadDeferredImagesMaxIdleTime * 1.2);
|
|
|
maxTimeoutId = await deferForceLazyLoadEnd(timeoutId, idleTimeoutId, maxTimeoutId, observer, options, cleanupAndResolve);
|
|
|
observer.observe(document, { subtree: true, childList: true, attributes: true });
|
|
|
- addEventListener(hooksFrame.LOAD_IMAGE_EVENT, onImageLoadEvent);
|
|
|
- addEventListener(hooksFrame.IMAGE_LOADED_EVENT, onImageLoadedEvent);
|
|
|
- if (typeof hooksFrame != "undefined") {
|
|
|
- hooksFrame.loadDeferredImagesStart();
|
|
|
+ addEventListener(frames.LOAD_IMAGE_EVENT, onImageLoadEvent);
|
|
|
+ addEventListener(frames.IMAGE_LOADED_EVENT, onImageLoadedEvent);
|
|
|
+ if (frames) {
|
|
|
+ frames.loadDeferredImagesStart();
|
|
|
}
|
|
|
|
|
|
async function onImageLoadEvent(event) {
|
|
|
@@ -100,8 +100,8 @@ this.singlefile.lib.lazy.content.loader = this.singlefile.lib.lazy.content.loade
|
|
|
|
|
|
function cleanupAndResolve(value) {
|
|
|
observer.disconnect();
|
|
|
- removeEventListener(hooksFrame.LOAD_IMAGE_EVENT, onImageLoadEvent);
|
|
|
- removeEventListener(hooksFrame.IMAGE_LOADED_EVENT, onImageLoadedEvent);
|
|
|
+ removeEventListener(frames.LOAD_IMAGE_EVENT, onImageLoadEvent);
|
|
|
+ removeEventListener(frames.IMAGE_LOADED_EVENT, onImageLoadedEvent);
|
|
|
resolve(value);
|
|
|
}
|
|
|
});
|
|
|
@@ -122,8 +122,8 @@ this.singlefile.lib.lazy.content.loader = this.singlefile.lib.lazy.content.loade
|
|
|
|
|
|
function lazyLoadEnd(idleTimeoutId, observer, resolve) {
|
|
|
clearAsyncTimeout(idleTimeoutId);
|
|
|
- if (typeof hooksFrame != "undefined") {
|
|
|
- singlefile.lib.hooks.content.frame.loadDeferredImagesEnd();
|
|
|
+ if (singlefile.lib.hooks.content.frames) {
|
|
|
+ singlefile.lib.hooks.content.frames.loadDeferredImagesEnd();
|
|
|
}
|
|
|
setAsyncTimeout(resolve, 100);
|
|
|
observer.disconnect();
|