d3.v3 の縮小版のローカル コピーの使用から開発版に切り替えました。縮小版を使用すると問題なく動作しましたが、 http://d3js.org/d3.v3.jsのローカル コピーを使用すると、次の行を参照してタイトルにエラーが表示されます。
var € = Math.PI, µ = 1e-6, d3_radians = € / 180, d3_degrees = 180 / €;
ホストされたファイルを含めると、正常に動作します。
d3.v3 の縮小版のローカル コピーの使用から開発版に切り替えました。縮小版を使用すると問題なく動作しましたが、 http://d3js.org/d3.v3.jsのローカル コピーを使用すると、次の行を参照してタイトルにエラーが表示されます。
var € = Math.PI, µ = 1e-6, d3_radians = € / 180, d3_degrees = 180 / €;
ホストされたファイルを含めると、正常に動作します。
問題は、D3 を ISO-8859-1 文字エンコード (多くの場合ブラウザーのデフォルト) で提供しているのに対し、D3 は UTF-8 エンコードで提供する必要があることです。通常、これは、読み込み中の HTML ページの上部にメタ タグがないために発生します。
<!DOCTYPE html>
<meta charset="utf-8">
d3js.orgはGitHub Pagesによって提供され、Content-Type 応答ヘッダーで文字セットを指定していないため、メタ指定の文字セットが必要です。したがって、文字セットは、読み込み中の HTML ドキュメントから推測されます。
必要に応じて、script タグに charset 属性を指定できます。キャッシュされたコピーは、最初にアクセスしたときの文字エンコーディングを保持するため、テストの前にブラウザーのキャッシュをクリアしてください。
<script src="http://d3js.org/d3.v3.js" charset="utf-8"></script>
変数名が同等の ASCII に置き換えられるため、縮小版ではエラーは発生しません。(フォーマット文字列内の UTF-8 文字が同様にエスケープ シーケンスに置き換えられた場合、私は思い出すことはありませんが、すべての場合に D3 を UTF-8 として提供することをお勧めします。)
ブラウザでソースを表示してからコピー アンド ペーストを使用して D3 をダウンロードした場合にも、エンコードの問題が発生する可能性があります。そのため、 d3.v3.zipのダウンロードをお勧めします。
それは間違いなくエンコーディングの問題です。それに焦点を当ててみてください。
投稿したリンク ( http://d3js.org/d3.v3.js )を Chrome で開くと、2 バイト文字も表示されます。
var π = Math.PI, ε = 1e-6, d3_radians = π / 180, d3_degrees = 180 / π;
「ページを名前を付けて保存...」でファイルをかろうじて保存し、Sublime Text ( http://www.sublimetext.com/ ) などのエディターで開くと、正常に動作し、次のように表示されます。
var π = Math.PI, ε = 1e-6, d3_radians = π / 180, d3_degrees = 180 / π;
このダウンロードしたファイルを自分のプロジェクトで使用しようとしましたが、問題ありません。