Skip to content

Polyfilled scripts don't load if there aren't <script> tags #380

@zshall

Description

@zshall

The problem:

I've been running into issues using Vime's HLS provider in SvelteKit on a browser that requires the hls.js library to function. My application is bundled with the output being <link rel="modulepreload" href="..."> tags, not <script src="..."></script> tags.

In the loadScript function which loads hls.js, line 62 queries for the first <script> tag on the page:

const firstScriptTag = document.getElementsByTagName('script')[0];

If there isn't one then the library can't be loaded.

A workaround:

You can modify SvelteKit's app.html to add an empty script tag which allows the loadSdk() call to work:

<!DOCTYPE html>
<html lang="en">
	<head>
		<script>// empty script tag to satisfy conditions for loadSdk();</script>
		%sveltekit.head%
	</head>
...

One potential fix may be that if there aren't any script elements a loaded library could be prepended to the <head> or appended to the <body>.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions