Skip to content

Commit b942ce8

Browse files
authored
Update live-view.js
1 parent 19f380b commit b942ce8

File tree

1 file changed

+55
-47
lines changed

1 file changed

+55
-47
lines changed

live-view.js

Lines changed: 55 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -520,53 +520,7 @@ function renderLiveViewHTML(file) {
520520
}
521521

522522
// fetch scripts
523-
frameDocument.querySelectorAll('script').forEach(async (script) => {
524-
525-
// if script is external
526-
if (script.src) {
527-
528-
const linkHref = new URL(script.src);
529-
const fileName = linkHref.pathname.slice(1);
530-
531-
if (linkHref.origin == window.location.origin) {
532-
533-
const file = Object.values(modifiedFiles).filter(file => (file.dir == selectedFile.dir.split(',') && file.name == fileName));
534-
let resp;
535-
536-
if (!file[0]) {
537-
538-
resp = await git.getFile(selectedFile.dir.split(','), linkHref.pathname.slice(1));
539-
540-
} else {
541-
542-
resp = file[0];
543-
544-
}
545-
546-
addScript(frameDocument, decodeUnicode(resp.content));
547-
548-
// remove original tag
549-
script.remove();
550-
551-
} else {
552-
553-
addScript(frameDocument, '', script.src, script.type);
554-
555-
// delete original
556-
script.remove();
557-
558-
}
559-
560-
} else {
561-
562-
addScript(frameDocument, script.textContent, '', script.type);
563-
564-
// delete original
565-
script.remove();
566-
567-
}
568-
569-
})
523+
fetchLiveViewScripts(frameDocument);
570524

571525
// fetch images
572526
frameDocument.querySelectorAll('img').forEach(async (image) => {
@@ -710,6 +664,60 @@ function renderLiveViewHTML(file) {
710664
}
711665

712666

667+
async function fetchLiveViewScripts(frameDocument) {
668+
669+
// fetch scripts
670+
await asyncForEach(frameDocument.querySelectorAll('script'), async (script) => {
671+
672+
// if script is external
673+
if (script.src) {
674+
675+
const linkHref = new URL(script.src);
676+
const fileName = linkHref.pathname.slice(1);
677+
678+
if (linkHref.origin == window.location.origin) {
679+
680+
const file = Object.values(modifiedFiles).filter(file => (file.dir == selectedFile.dir.split(',') && file.name == fileName));
681+
let resp;
682+
683+
if (!file[0]) {
684+
685+
resp = await git.getFile(selectedFile.dir.split(','), linkHref.pathname.slice(1));
686+
687+
} else {
688+
689+
resp = file[0];
690+
691+
}
692+
693+
addScript(frameDocument, decodeUnicode(resp.content));
694+
695+
// remove original tag
696+
script.remove();
697+
698+
} else {
699+
700+
addScript(frameDocument, '', script.src, script.type);
701+
702+
// delete original
703+
script.remove();
704+
705+
}
706+
707+
} else {
708+
709+
addScript(frameDocument, script.textContent, '', script.type);
710+
711+
// delete original
712+
script.remove();
713+
714+
}
715+
716+
});
717+
718+
}
719+
720+
713721
function addScript(documentNode, code, src, type) {
714722

715723
const script = documentNode.createElement('script');

0 commit comments

Comments
 (0)