Как использовать внешний js-скрипт и css для пользовательского диалогового окна

#javascript

#javascript

Вопрос:

Может кто-нибудь мне помочь. Потому что я только начал изучать JavaScript.

Я использую пользовательский диалог приглашения, прежде чем он заработает, когда я использую XMLHttpRequest, но вместо этого я хочу использовать «выборку», потому что он новый и лучше.

при использовании выборки диалоговое окно не отображается, и я получаю сообщение об ошибке «слой не определен»

Вот мой маленький вопрос, как я могу правильно его назвать layer.js а layer.css из ответа? Я называю это так (это диалоговое окно сообщения):

 layer.open({
        title: "<strong>"   formTitle   "</strong>",
        content: "<strong>"   msg   "</strong>",
        maxWidth: 500,
    });
  

Вот мой код.

 !function () {
    try {
        if (typeof (eval(layer)) == "function") { }
    } catch (e) {
        
        var css = 'https://cdn.bootcss.com/layer/3.0.1/skin/default/layer.css';
        var js = 'https://cdn.bootcss.com/layer/3.0.1/layer.min.js';

        var a = document.createElement("style");
        a.type = "text/css";
        DownloadStringAsync(css).then(_css => a.innerText = _css);
        document.getElementsByTagName("head")[0].appendChild(a)

        var a = document.createElement("script");
        DownloadStringAsync(js).then(_js => a.text = _js);
        document.getElementsByTagName("head")[0].appendChild(a)
    }

    var url = amp.mediaProxy.facade.config.media.originalSrc;
    var title = ampl_title;
    
    var formTitle = "Url Parser v1.0";
    var msg = `${title}<br>${GetTitle()}<br>`;

  
    try {
        var fileName = `TEST.txt`;
        SaveToFileAsync(url, fileName);
    } catch (err) {
        layer.open({
            title: "Error",
            content: err.message
        });
    }
     layer.open({
        title: "<strong>"   formTitle   "</strong>",
        content: "<strong>"   msg   "</strong>",
        maxWidth: 500,
    });
          
    async function DownloadStringAsync(url) {
        let response = await fetch(url, {
            method: "GET",
            cache: "no-cache",
        });
        let data = await response.text()
        return data;
    }

    function SaveToFileAsync(url, filename) {
        fetch(url, {
            method: "GET",
            cache: "no-cache",
        }).then(async function (t) {
            const b = await t.blob();
            var a = document.createElement("a");
            a.href = URL.createObjectURL(b);
            a.setAttribute("download", filename);
            a.click();
        });
    }

    function GetTitle() {
        return document.getElementsByClassName("hero-image-rating eps-line")[0].innerText   "n";
    }
}();