Spaces:
Build error
Build error
fix: expect malformed url in iframes
Browse files
backend/functions/src/services/jsdom.ts
CHANGED
|
@@ -66,12 +66,20 @@ export class JSDomControl extends AsyncService {
|
|
| 66 |
} else if (thisSnapshot?.html) {
|
| 67 |
x.innerHTML = thisSnapshot.html;
|
| 68 |
x.querySelectorAll('script, style').forEach((s) => s.remove());
|
| 69 |
-
|
| 70 |
-
|
| 71 |
-
|
| 72 |
-
|
| 73 |
-
|
| 74 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 75 |
}
|
| 76 |
});
|
| 77 |
}
|
|
|
|
| 66 |
} else if (thisSnapshot?.html) {
|
| 67 |
x.innerHTML = thisSnapshot.html;
|
| 68 |
x.querySelectorAll('script, style').forEach((s) => s.remove());
|
| 69 |
+
if (src) {
|
| 70 |
+
x.querySelectorAll('[src]').forEach((el) => {
|
| 71 |
+
const imgSrc = el.getAttribute('src')!;
|
| 72 |
+
if (URL.canParse(imgSrc, src!)) {
|
| 73 |
+
el.setAttribute('src', new URL(imgSrc, src!).toString());
|
| 74 |
+
}
|
| 75 |
+
});
|
| 76 |
+
x.querySelectorAll('[href]').forEach((el) => {
|
| 77 |
+
const linkHref = el.getAttribute('href')!;
|
| 78 |
+
if (URL.canParse(linkHref, src!)) {
|
| 79 |
+
el.setAttribute('href', new URL(linkHref, src!).toString());
|
| 80 |
+
}
|
| 81 |
+
});
|
| 82 |
+
}
|
| 83 |
}
|
| 84 |
});
|
| 85 |
}
|