Skip to content

Commit 83cfac3

Browse files
authored
Merge pull request #448 from contentstack/VE-6722-init-optimisation
Optimisation: `init` to emit postMessage on `DOMContentLoaded`
2 parents 856cd9c + af6acf5 commit 83cfac3

2 files changed

Lines changed: 8 additions & 5 deletions

File tree

src/livePreview/__test__/live-preview.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -460,7 +460,7 @@ describe("testing window event listeners", () => {
460460
document.body.appendChild(descPara);
461461
document.body.appendChild(linkPara);
462462

463-
addEventListenerMock = vi.spyOn(window, "addEventListener");
463+
addEventListenerMock = vi.spyOn(document, "addEventListener");
464464
});
465465

466466
afterEach(() => {
@@ -482,7 +482,7 @@ describe("testing window event listeners", () => {
482482
livePreviewInstance = new LivePreview();
483483

484484
expect(addEventListenerMock).toBeCalledWith(
485-
"load",
485+
"DOMContentLoaded",
486486
expect.any(Function)
487487
);
488488
readyState.mockRestore();

src/livePreview/live-preview.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,13 @@ export default class LivePreview {
3939

4040
if (config.enable) {
4141
if (
42-
typeof document !== undefined &&
43-
document.readyState === "complete"
42+
typeof document !== undefined
4443
) {
45-
this.requestDataSync();
44+
if(document.readyState === "interactive" || document.readyState === "complete"){
45+
this.requestDataSync();
46+
} else {
47+
document.addEventListener("DOMContentLoaded", this.requestDataSync);
48+
}
4649
} else {
4750
window.addEventListener("load", this.requestDataSync);
4851
}

0 commit comments

Comments
 (0)