由于标记“文件:”,无法加载脚本

时间:2018-11-09 14:48:54

标签: javascript jasmine

我有一个将外部脚本添加到页面顶部的功能。现在,我正在为此功能编写一些Jasmine测试,并且存在以下问题:

当我在茉莉花测试中启动该功能时,该脚本将添加到标题中,但是控制台中出现错误:

GET file:url_of_external_script net::ERR_FILE_NOT_FOUND

此错误在我的函数行中发生:

headElement.appendChild(oScript);

仅此函数即可正常工作,但是在茉莉花测试中,将脚本添加到头部是一个问题。奇怪的是,错误消息中脚本URL的前面有标签“ file:”。

这是我的代码:

JS:

function loadScript() {

        var headElement = document.getElementsByTagName('HEAD').item(0); 
        var oScript = document.createElement("script");
        oScript.type = "text/javascript";
        oScript.src = "url_of_external_script";
        headElement.appendChild(oScript);
}

茉莉花测试:

describe('loadScript', function () {

    var oScript;

    beforeAll(function () {

        oScript = document.createElement("script");
        oScript.type = "text/javascript";
        oScript.src = 'url_of_external_script';

    });


    afterAll(function () {

        var scripts = document.getElementsByTagName('script');
        var script = scripts[scripts.length-1];
        document.head.removeChild(script);
    });


    it('Test if script is loaded into the head', function () {

        loadScript();
        var scripts = document.getElementsByTagName('script');
        var script = scripts[scripts.length-1];

        console.log(script);
        console.log(script);

        expect(script).toEqual(oScript);
    });

有人提出了一个想法,为什么茉莉花在将脚本正确添加到头部时会遇到这个问题? 顺便说一下,在这个例子中我不能使用jQuery。

0 个答案:

没有答案