2013-05-21 20 views
6

mam to w moim pliku index.html ale nie pokazuje punkt, który chcę dodać z D3Najprostszy D3.js przykład nie działa

<!DOCTYPE html> 
<html> 
    <head> 
    <title> D3 page template </title> 
    <script type="text/javascript" src = "d3/d3.v3.js"></script> 
    </head> 

    <body> 
    <script type="text/javascript"> 
     d3.select("body").append("p").text("new paragraph!"); 
    </script> 
    </body> 
</html> 

ścieżce gdzie ja przedstawieniu D3.js powinny być poprawne, ponieważ jeśli zrobię element inspekcji w przeglądarce, mogę kliknąć link D3 i przeniesie mnie on do kodu źródłowego.

enter image description here

+0

To działa dla mnie ... –

+2

Stosować http://d3js.org/d3.v3.min.js w src do d3 –

+0

również załączył obraz błędu, który otrzymałem. –

Odpowiedz

15

Brakuje zestaw znaków na stronie HTML. Dodaj coś takiego:

<meta charset="utf-8"> 

Źródłem un-minified D3 obejmuje rzeczywistą symbol Pi, który dezorientuje przeglądarkę jeśli zestaw znaków nie jest zdefiniowana.

+0

wow ... interesujące. Dzięki –

+1

Tak, tak właśnie myślałem. Może to kampania "stealth" autorstwa @mbostock, aby zachęcić ludzi do poznawania Unicode i zestawów znaków :-) – explunit

+0

+1 Very Nice Catch! Ja również zastanawiałem się, dlaczego dostałem błąd z niezminializowanego kodu, a kod min był w porządku. – markE

5

Zakładam, że testujesz to bez serwera WWW. Jeśli tak, to twój adres URL będzie czytać plik: // .... nie http: // ..

Dzięki temu żądanie JavaScript przejdzie do pliku: ///.../D3/d3/d3 .v3.js, który nie będzie miał właściwego zestawu nagłówków odpowiedzi, takiego jak zestaw znaków i MIME.

Zawsze można dostać go z CDN, aby uniknąć tego problemu:

<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> 
+0

Dzięki to działa dla mnie. dla mnie mam poniżej w moim pliku, ale nie działa, Po dodaniu zestawu znaków z cdn zadziałało. Dlaczego tam potrzebował? – AKS