Django, CloudFront и response.js

Я пытаюсь заставить медиа-запросы работать в IE 8, и у меня Respond.js работает хорошо в развитие. Однако, когда я развертываю это в своей производственной среде, Respond.js не работает, это волшебство. Я следовал инструкциям на GitHub по настройке CDN (мы используем S3 и Cloudfront) и убедился, что весь javascript и файл response-proxy.html доступны по указанному URL-адресу.

Моя текущая теория состоит в том, что это Django останавливает AJAX Respond.js где-то по пути, в частности, о чем свидетельствует эта строка в моем журнале Django:

WARNING Wed, 03 Oct 2012 15:22:13 +0000 base xxx xxxxxxx Not Found: /https://dxxxxxxxxxxxx.cloudfront.net/j/r/respond-proxy.html

Похоже, он пытается найти /https://d... на локальном сервере. Строка появляется несколько раз на запрос страницы.

Вот код:

<link rel="stylesheet" type="text/css" media="screen" href="https://dxxxxxxxxxx.cloudfront.net/static/css/style.css" />
<script type="text/javascript" src="/static/js/respond.src.js"></script>
<link href="https://dxxxxxxxxxx.cloudfront.net/static/js/respond-proxy.html" id="respond-proxy" rel="respond-proxy" />
<link href="/static/js/respond.proxy.gif" id="respond-redirect" rel="respond-redirect" />
<script type="text/javascript" src="/static/js/respond.proxy.js"></script>

Обратите внимание, что мой CSS сжимается с помощью django-compressor, как и другие мои JS. Приведенный выше код находится за пределами блока {% Compress %}.


person kevinharvey    schedule 03.10.2012    source источник


Ответы (1)


Оказывается, мне нужно было взломать response.proxy.js, чтобы заставить это работать. Я закомментировал строку 74 в checkBaseUrl():

//          href = bref + href;

Обратите внимание, что это могло быть вызвано другим JS, запущенным на моей странице, и может не быть (вероятно, нет?) ошибкой в ​​response.proxy.js.

person kevinharvey    schedule 04.10.2012