相关疑难解决方法(0)

试图在脚本标记上触发onload事件

我正在尝试按顺序加载一组脚本,但onload事件并没有为我开火.

    var scripts = [
        '//cdnjs.cloudflare.com/ajax/libs/less.js/1.3.3/less.min.js',
        '//cdnjs.cloudflare.com/ajax/libs/handlebars.js/1.0.0-rc.3/handlebars.min.js',
        MK.host+'/templates/templates.js'
    ];

    function loadScripts(scripts){
        var script = scripts.shift();
        var el = document.createElement('script');
        el.src = script;
        el.onload = function(script){
            console.log(script + ' loaded!');
            if (scripts.length) {
                loadScripts(scripts);
            }
            else {
                console.log('run app');
                MK.init();
            }
        };

        $body.append(el);
    }

    loadScripts(scripts);
Run Code Online (Sandbox Code Playgroud)

我猜想当使用jQuery将元素附加到DOM时,el.onload等本机事件不会触发.如果我使用原生,document.body.appendChild(el)那么它会按预期激发.

javascript jquery onload

89
推荐指数
2
解决办法
10万
查看次数

将MathJax集成到SystemJS构建中

SystemJS用来构建一个Angular 2应用程序,我想开始MathJax在组件中使用.我安装了:

npm install --save-dev mathjax
npm install --save @types/mathjax
Run Code Online (Sandbox Code Playgroud)

MathJax现已安装在/node_modules/mathjax.当我的组件执行时import "mathjax",文件/node_modules/mathjax/MathJax.js已加载.到现在为止还挺好.

问题是该文件然后尝试使用相对于项目根目录而不是MathJax安装目录的路径加载其他文件.

例如,MathJax.js尝试加载

/extensions/MathMenu.js  404 Not found
/extensions/MathZoom.js  404 Not found 
Run Code Online (Sandbox Code Playgroud)

正确的路径是

/node_modules/mathjax/extensions/MathMenu.js
/node_modules/mathjax/extensions/MathZoom.js
Run Code Online (Sandbox Code Playgroud)

快速查看源文件内部显示URL是这样引用的:

[MathJax]/extensions/MathMenu.js
Run Code Online (Sandbox Code Playgroud)

知道我应该在哪里解决这个问题吗?我知道我不应该更改MathJax.js文件本身,因为更新后将覆盖任何更改.使用htaccess或其他服务器端重定向也没有意义.

我知道我可以使用CDN加载一个有效的MathJax包:

<script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=AM_SVG"></script>
Run Code Online (Sandbox Code Playgroud)

但是我正在尝试学习如何将库集成到我的构建设置中.

build mathjax systemjs angular

3
推荐指数
1
解决办法
349
查看次数

标签 统计

angular ×1

build ×1

javascript ×1

jquery ×1

mathjax ×1

onload ×1

systemjs ×1