Как связаться с gzipped JavaScript в документе HTML?

Вы распечатываете карту, а не строку JSON, так как данные JSON уже проанализированы. Если вы просто хотите посмотреть на сетевой протокол для отладки, лучший способ сделать это - открыть Network Monitor в симуляторе, где вы увидите все HTTP-запросы и сможете скопировать тело ответа JSON.

Однако вы все равно можете преобразовать Map обратно в JSON, используя:

Log.p("results   " + JSONParser.mapToJson(results));

Обратите внимание, что вы должны использовать Log.p() и Log.e() для записи строк / исключений, так как это будет работать лучше на устройствах .

6
задан tereško 1 July 2012 в 19:36
поделиться

3 ответа

mod_deflate и gzhandler php оба основаны на zlib, так в этом смысле существует мало различия к браузеру, как содержание сжимается.

в ответ на Ваше первое беспокойство можно установить модуль определенная .htaccess информация как это:

<IfModule mod_deflate.c>
  # stuff
</IfModule>

в ответ на Ваше второе беспокойство можно обнаружить для поддержки браузера в PHP:

if (strstr($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') ) {
  ob_start('ob_gzhandler');
  header("Content-Encoding: gzip");
// etc...
}

вот являются некоторые непротестированным .htaccess, который должен смочь обработать согласование сжатых по сравнению с несжатыми .js файлами: (источник)

<FilesMatch "\\.js.gz$">
  ForceType text/javascript
  Header set Content-Encoding: gzip
</FilesMatch>
<FilesMatch "\\.js$">
  RewriteEngine On
  RewriteCond %{HTTP_USER_AGENT} !".*Safari.*"
  RewriteCond %{HTTP:Accept-Encoding} gzip
  RewriteCond %{REQUEST_FILENAME}.gz -f
  RewriteRule (.*)\.js$ $1\.js.gz [L]
  ForceType text/javascript
</FilesMatch>    
10
ответ дан 8 December 2019 в 18:43
поделиться

Если браузер правильно устанавливает, это Accept-Encoding заголовок, необходимо смочь сказать, может ли браузер поддерживать gzip:

Accept-Encoding: gzip,deflate
2
ответ дан 8 December 2019 в 18:43
поделиться

Лучший способ достигнуть этого состоит в том, чтобы Ваш сервер поддерживал встроенный gzip. Вы взяли бы ".gz" от обоих, которые src тега script приписывают и хранят файл на несжатом сервере. Если бы клиент поддерживал его, то сервер автоматически отправил бы сценарий как gzip закодированный результат. Это действительно стоит Вашему серверу некоторого дополнительного ЦП, но файл сжат для тех клиентов, которые поддерживают его, в то время как клиенты старшего возраста все еще получают расширенную версию.

Проверьте mod_deflate для apache2. mod_gzip является эквивалентом для Apache 1.x.

1
ответ дан 8 December 2019 в 18:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: