如何组合javascripts并在asp.net网站上加载页面后加载它们?

时间:2012-11-02 06:42:06

标签: javascript asp.net performance onload

我刚刚阅读了SE Post,其中解释的问题与我提出的问题类似。如果可能,Yslow建议组合所有外部javascripts。我实际上已经采用内部javascripts并将它们变成外部.js文件并将其放在我的/ scripts文件夹中,根据我在某些网站上发现的一些建议。但这引出了我的2个(类似)问题;我并不认为需要单独的帖子。

(1) - 我如何组合javascript代码?只需留下一个空白行,然后将其他javascript复制并粘贴到另一个之后,依此类推,直到它们都在一个文件中?

(2) - 我有一个包含5个母版页的asp.net网站。 5个中的4个有6个javascript文件(全部缩小,有些是我自己使用的一些压缩工具)。但我在SE帖子和网上看到你应该在页面加载后加载脚本。你是如何在asp.net网站上做到这一点的?我所有的.js文件都在

@bluesmoon给出了一个很好的,彻底的答案,但我无法理解它:

To load a script after page load, do something like this:

// This function should be attached to your onload handler
// it assumes a variable named script_url exists.  You could easily
// extend it to use an array of scripts or figure it out some other
// way (see note late)
function lazy_load() {
    setTimeout(function() {
            var s = document.createElement("script");
            s.src=script_url;
            document.body.appendChild(s);
        }, 50);
}

This is called from onload, and sets a timeout for 50ms later at which point it will 
add a new script node to the document's body. The script will start downloading after 
that. Now since javascript is single threaded, the timeout will only fire after onload 
has completed even if onload takes more than 50ms to complete.

我真的不明白他在说什么或如何实施它。所以......我只需要帮助结合javascripts 并加载它们(或者它)页面加载后;我没有看到任何说'#34; onload"在我的母版页或.aspx页面中。感谢您提供给我的任何帮助或指导!

1 个答案:

答案 0 :(得分:1)

查看Cassette并在结束身份标记

之前渲染您的捆绑包