1

我一直在对我正在处理的几个网站进行一些性能分析,我注意到一个大问题是内联脚本。对于外部脚本,我编写了一个 http 处理程序,它将 javascript 组合、缩小和 gzip 到一个文件中。然后通过散列文件名将其存储以供以后重复使用。

我想知道(不确定这是否是一个好主意,但我发布以获得一些反馈)是如果我删除所有脚本元素,其中包含脚本文本并将它们合并到一个文件中。然后,我使用与外部脚本相同的过程并将它们组合成一个脚本。

约翰

4

2 回答 2

1

内联脚本总是进入页面内部,因此每个帖子都需要遍历或往返服务器。由于您使用的是 MVC,因此很容易在项目中仅包含非侵入性的脚本文件,因为您对呈现的 html 有相当多的控制。

您还想查看SquishIt

格兹,克里斯。

于 2010-06-19T15:54:15.537 回答
0

可以将内联 JavaScript 与外部文件一起缩小和捆绑。

正如我在这里提到的,在为 ASP.net 构建期间缩小内联 javascript?

使用模板化 Razor 助手,您可以创建如下扩展方法:

public static MvcHtmlString AddScriptSource(this HtmlHelper helper, Func<dynamic, HelperResult> source, string key)
{
    string scriptSource = source(null).ToHtmlString();

    // Cache scriptSource here

    return MvcHtmlString.Empty;
}

你会像这样使用它:

@Html.AddScriptSource(@<text>$(document).ready(function() { $('h1').text('The current controller is @ViewContext.RouteData.Values["controller"].ToString()'); });</text>, "test")
于 2012-12-03T17:27:13.423 回答