Какая ссылка на скрипт JavaScript связана с каждым ScriptResource.axd?
Google Page Speed говорит, что мы должны объединить внешний JavaScript. Справедливо.
Я знаю, что способ сделать это - использовать тег CompositeScript внутри asp:ScriptManager.
<asp:ScriptManager runat="server">
<CompositeScript>
<Scripts>
<asp:ScriptReference Name="AjaxControlToolkit.Common.Common.js" Assembly="AjaxControlToolkit" />
<asp:ScriptReference Name="AjaxControlToolkit.Calendar.CalendarBehavior.js" Assembly="AjaxControlToolkit" />
< ... />
</Scripts>
</CompositeScript>
</asp:ScriptManager>
Что я не знаю, так это то, какие ссылки на сценарии добавить. На моей странице у меня много
<script src="/ScriptResource.axd?d=big-string-here" type="text/javascript"></script>
Как мне узнать, что <asp:ScriptReference Name="x" Assembly="Y" />
теги я должен добавить к тегу CompositeScript?
Там есть пользовательский контроль с этой конкретной целью, и мы даже уже использовали его раньше, но я не могу найти его снова, Google.
РЕДАКТИРОВАТЬ
Пользовательский контроль, который я искал, это ScriptReferenceProfiler. Как это использовать.
Я все еще принял ответ ниже, потому что он может помочь кому-то еще в той же ситуации.
1 ответ
Я полагаю, что если вы используете ToolkitScriptManager AJAX Toolkit, то в любом случае он по умолчанию объединит все скрипты ScriptResource и WebResource (вам не нужно упоминать об этом). См. Следующие связанные посты: Как мне объединить файлы WebResource.axd и ScriptResource.axd, чтобы уменьшить количество запросов к моему серверу ASP.NET?
В.NET4 ScriptManager также должен делать то же самое: http://www.hanselman.com/blog/ASPNETAjaxScriptCombiningAndMovingScriptResourceaxdsToStaticScripts.aspx