Skip to content

load script for old browsers (experimental) #22

Description

@virtualitems

function load(uri, names) {

if (!uri instanceof URL) {
throw new Error('uri must be an instance of URL');
}

if (!Array.isArray(names)) {
throw new Error('names must be an array');
}

const xhr = new XMLHttpRequest();
xhr.open('GET', uri, false);
xhr.send();

if (xhr.status !== 200) {
throw new Error('Error al cargar el script: ' + xhr.status);
}

let tail = '; ({ __esModule: true, ' + names.join(', ') + '});';
const code = xhr.responseText + tail;
const module = eval(code);
return module;
}

const m1 = load(new URL('https://unpkg.com/react@18/umd/react.development.js'), ['React']);
const m2 = load(new URL('https://unpkg.com/react-dom@18/umd/react-dom.development.js'), ['ReactDOM']);

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions