Respond.js на поддомене с использованием Tumblr

Мой сайт отзывчивый. В разделе блога используется поддомен, указывающий на Tumblr, но междоменная версия Respond.js не работает. Я делаю это:

<script src="http://www.stevechab.com/scripts/respond.min.js"></script>
<link href="http://www.stevechab.com/scripts/respond-proxy.html" id="respond-proxy" rel="respond-proxy">
<link href="http://www.stevechab.com/scripts/respond.proxy.gif" id="respond-redirect" rel="respond-redirect">
<script src="http://www.stevechab.com/scripts/respond.proxy.js"></script>

Я предполагаю, что проблема заключается в том, что response.proxy.gif и response.proxy.js не находятся на blog.stevechab.com ... но разве это не противоречит цели иметь междоменную версию Respond.js? Правильно ли мое предположение или я что-то упустил? Есть ли обходной путь для этого?

Примечание: я попробовал http://www.tumblr.com/themes/upload_static_file... без игры в кости.

2 ответа

Решение

Процитировать respond.js Прочти меня:

Respond.js работает, запрашивая первоначальную копию вашего CSS через AJAX, поэтому, если вы размещаете свои таблицы стилей в CDN (или поддомене), вам нужно загрузить страницу прокси, чтобы включить междоменную связь.

Моё упор. Междоменная версия предназначена для того, чтобы вы могли обрабатывать таблицы стилей, загруженные из другого домена, кроме respond.js работает над. Однако в случае Tumblr к смеси добавлен третий домен: static.tumblr.com, где приземлились ваш прокси-скрипт и gif. Это не может и не будет работать.

@ Стив Чаб,

Есть две причины, по которым answer.js & response.proxy.js не работают для вас.

  1. У вас был файл response-proxy.html в исходном домене, в то время как файл должен был обслуживаться из вашего субдомена (blog.stevechab.com) или любого другого внешнего домена.

  2. Кажется, есть ошибка с response.js / response.proxy.js при ссылке на файл css с относительным URL. Чтобы исправить это, используйте абсолютный URL. Ваш основной сайт использует относительную ссылку для таблицы стилей CSS, а ваш блог - абсолютную ссылку.

    • Примечание. Ошибка вызвана функциями ajax / xml response.proxy.js.


Пожалуйста, ознакомьтесь с новой рабочей разметкой, чтобы узнать, как answer.js & response.proxy.js работает на вашем сайте.

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="http://www.stevechab.com/styles/styles.css">
<!--[if (lt IE 9) & (!IEMobile 7)]>
<link href="//blog.stevechab.com/scripts/respond-proxy.html" id="respond-proxy" rel="respond-proxy">
<link href="//www.stevechab.com/scripts/respond.proxy.gif" id="respond-redirect" rel="respond-redirect">
<![endif]-->
</head>
<body>
<!-- Your content goes here. -->

<!--[if (lt IE 9) & (!IEMobile 7)]>
<script src="//www.stevechab.com/scripts/respond.min.js"></script>
<script src="//www.stevechab.com/scripts/respond.proxy.js"></script>
<![endif]-->
</body>
</html>
Другие вопросы по тегам