2

私のウェブサイトはレスポンシブです。ブログ セクションは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>

問題は、respond.proxy.gif と Respond.proxy.js が blog.stevechab.com にないことだと思います...しかし、それは Respond.js のクロスドメイン バージョンを持つ目的を無効にしませんか? 私の仮定は正しいですか、それとも何か不足していますか? これに対する回避策はありますか?

注: http://www.tumblr.com/themes/upload_static_fileを試しました ... ダイスはありません。

4

2 に答える 2

6

@スティーブ・チャブ、

Respond.jsRespond.proxy.jsが機能しなかった理由は 2 つあります。

  1. 元のドメインにRespond-proxy.htmlファイルがありましたが、ファイルはサブドメイン ( blog.stevechab.com ) またはその他の外部ドメインから提供されているはずです。

  2. 相対URLでcssファイルにリンクすると、respond.js / respond.proxy.jsにバグがあるようです。これを修正するには、絶対 URL を使用してください。メイン サイトでは CSS スタイルシートに相対 URL を使用し、ブログでは絶対 URL を使用しています。

    • 注: バグは、respond.proxy.js ajax/xml 関数によって引き起こされます。


以下は、Respond.jsRespond.proxy.jsを Web サイトで動作させるために再作成された動作マークアップです。

<!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>
于 2012-09-12T20:11:15.047 に答える
3

respond.jsreadmeを引用するには:

Respond.js は、AJAX を介して CSS の元のコピーを要求することで機能します。そのため、スタイルシートを CDN (またはサブドメイン)でホストする場合は、クロスドメイン通信を有効にするためにプロキシ ページをアップロードする必要があります。

–私の強調。クロスドメイン バージョンは、作業中のドメインとは別のドメインから読み込まれたスタイルシートを処理できるようにすることを目的としてrespond.jsいます。ただし、Tumblr の場合、3 つ目のドメインがミックスに追加されstatic.tumblr.comます: プロキシ スクリプトと gif が到達した場所です。それは機能しませんし、機能しません。

于 2012-05-25T15:54:01.880 に答える