связывание сжатых js со страницей htm в asp.net - PullRequest
0 голосов
/ 04 ноября 2011

Я распаковал файл javascript с помощью инструмента gzip и поместил его в мой проект asp.net.Теперь я хочу связать этот сжатый js со страницей htm в том же проекте.Я пытался

<script type="text/javascript" src="Communicator.js.gz"></script>

, но не работает ... Есть ли способ связать их ??

1 Ответ

0 голосов
/ 04 ноября 2011

Хотя это необычно, но сделать это можно, по-видимому:

gZip your JavaScript

После того, как вы сжимаете свои скрипты, вам может понадобиться добавить правило перезаписи, чтобы сообщить браузеру, что делать в вашем .htaccess (или эквивалентном) файле:

AddEncoding gzip .gz
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{HTTP_USER_AGENT} !Safari
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*)$ $1.gz [QSA,L]

Предполагается, что вы используете mod_rewrite или mod_rewrite аналогичную программу перезаписи (например, ISAPI_Rewrite3 в IIS).

Если вы работаете на IIS7.x, вам нужно создать правило IIS7 UrlRewrite, которое будет выглядеть примерно так:

<system.webServer>
  <rewrite>
    <rules>
      <rule name="Imported Rule 1" stopProcessing="true">
        <match url="^(.*)$" ignoreCase="false" />
        <conditions logicalGrouping="MatchAll">
          <add input="{HTTP_ACCEPT_ENCODING}" pattern="gzip" ignoreCase="false" />
          <add input="{HTTP_USER_AGENT}" pattern="Safari" ignoreCase="false" negate="true" />
          <add input="{REQUEST_FILENAME}.gz" matchType="IsFile" ignoreCase="false" />
        </conditions>
        <action type="Rewrite" url="{R:1}.gz" appendQueryString="true" />
      </rule>
    </rules>
  </rewrite>
</system.webServer>

Приведенное выше правило было сгенерировано средством импорта IIS7 UrlRewrite mod_rewrite и не проверено.

Как я уже говорил выше, это будет довольно необычная ситуация, поскольку большинство веб-серверов теперь настроены на дефляцию или сжатие контента, если они могут.

...