2013-09-29 1 views
8

Когда я запускаю приложение-получатель на устройстве хромирования, он переходит к URL-адресу, где размещается мой html, чтобы получить приложение-приемник для его запуска.chromecast загрузка старой версии моего приемника app

Однако, когда я обновляю содержимое источников HTML и JS на размещенном сервере и закрываю приложение на хрометре и снова запускаю приложение-приемник, я часто получаю старую версию приложения, а не обновленную версию это уже на сервере.

Я думаю, что это должна быть проблема с кешем. Я отключил кеш через инструменты разработчика через порт отладки (9222), перезагрузил устройство, создал манифест кэша, который говорит ему ничего не кэшировать, он все равно не работает, каждый раз, когда я запускаю приложение-получатель на устройстве, он постоянно вытягивает старую версию приложения из URL-адреса.

У кого-нибудь есть какие-либо советы или решения относительно того, как я могу заставить хромоту вытащить последнюю версию уже на хостинг-сервере?

спасибо! :)

Просто последующее наблюдение, выполняя завиток в командной строке, я всегда получаю последнюю версию. Просто, что устройство хромирования продолжает получать более старую версию.

+0

Если это помогает, мое приложение-получатель размещается на страницах github (ветвь gh-pages). Возможно, это проблема с тем, что CDN не обновляет данные. – jchionh

ответ

2

к Chromecast будет кэшировать приемник, если он в настоящее время загружены. Он будет запрашивать новый приемник, если он находится на рабочем столе.

Вы можете запустить другое приложение на своем Chromecast, а затем снова запустить приемник.

из командной строки, вы могли бы сделать что-то вроде:

curl http://<ip of Chromecast>:8008/apps/YouTube 

для запуска YouTube приемник, то вы могли бы начать свой собственный снова.

+0

Итак, если я сделаю window.close() в приемнике, чтобы перейти на главный экран, а затем снова запустить ресивер, будет ли chomecast выводить новую версию из URL-адреса? Или мне нужно специально запустить другое приложение, как вы сказали выше, а затем снова запустить приемник? спасибо! :) – jchionh

+0

После вызова window.close() он не должен кэшировать его. P.S, не забывайте √ ответ. –

+0

Спасибо за подтверждение :) Если это поведение, и я все еще получаю старую версию приложения-получателя при повторном запуске, это означает, что проблема не в хромоте, а, скорее всего, из-за проблемы кеширования прокси-сервер или CDN. – jchionh

3

Вы также можете попробовать добавить <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE"> к вашему получателю. В случаях, когда я сталкивался с этими проблемами, перезагрузка устройства хромирования всегда очищала кеш.

НТН, Али

+0

Это сработало для меня, когда метод window.close() не сделал этого. Спасибо – cottonBallPaws

5

Откройте консоль DEBUG (javascript) http:// your chromecast ip:9222/ в браузере Chrome, когда ваш приемник виден.

Затем введите команду window.location.reload(true); в нижней части консоли. Это работает каждый раз, когда я это пробовал. Это также хороший способ протестировать работу с прерывистым сеансом в вашем приложении, так как обновление прерывает любые подключения, которые была настроена для страницы. Так что это не идеально, но он загрузит новый контент.

+0

Этот код работает сейчас, но я предлагаю для дальнейшего использования придерживаться документации и использовать window.location.reload (true); (истинные значения для forceGet - загрузка из кеша или нет) – JakubKnejzlik

+0

Является ли эта функциональность по-прежнему применимой в этот день и возраст (в конце ноября 2014 года)? Мне не повезло увидеть что-нибудь, когда я попытался это сделать. –

 Смежные вопросы

  • Нет связанных вопросов^_^