Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Почему не работает библиотека d3js (https://javascript.ru/forum/misc/51887-pochemu-ne-rabotaet-biblioteka-d3js.html)

Xantrax 24.11.2014 08:53

Почему не работает библиотека d3js
 
Здравствуйте, подскажите почему не работает подключенная библиотека d3js? Я так понимаю, текст должен меняться на тот что в скрипте, но WebStorm подсказки(автодополнение строки) не выдает по данной функции(.text)...

<!DOCTYPE html>
<html>
<head>
    <script type="text/javascript" src="file:///d:/MyJavascript/First/D3_tutorial/d3.js"></script>
</head>
<body>
    <p>D3 tutorial</p>
    <script>
        d3.select("p").text("Hello World");
    </script>
</body>
</html>

jsnb 24.11.2014 09:57

Скорее всего библиотека не была подключена. Попробуй использовать относительный путь к скрипту.

Xantrax 24.11.2014 11:00

Но ведь d3.select он почему-то видит и select он тоже видит, т.е. d3.select() отлично видится, а вот text() нет....
Поэтому считаю чточто библиотека подключена...

рони 24.11.2014 11:06

Xantrax,
:blink:
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
</head>

<body>
   <p>D3 tutorial</p>
    <script>
        d3.select("p").text("Hello World");
    </script>

</body>

</html>

Xantrax 24.11.2014 19:15

Цитата:

Сообщение от рони (Сообщение 342584)
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>

А теперь скачайте эту библиотеку и подключите ее локально. Из интернета-то и я могу...
Я спрашиваю про конкретный случай, а вы кроме того, что подключили из интернета, так еще и минимальную версию библиотеки...

tsigel 24.11.2014 19:19

жаль нет смайлика "Рука лицо".

Xantrax,
Между минифицированной версией и полной нет никакой разницы кроме размера файла.

Подключить файл с локального диска так же просто как и из интернета, надо лишь указать верный путь.

jsnb 24.11.2014 19:39

Цитата:

Сообщение от tsigel
Между минифицированной версией и полной нет никакой разницы кроме размера файла.

А вот и нет. ;) Там в неминифицированной версии используются юникодные символы (ε, π) и если не указывать кодировку на странице, то браузер не может корректно прочитать код. При минификации всё это безобразие естественно убирается.

Xantrax, попробуй указать кодировку на странице:
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <script src="d3.js"></script>
</head>
<body>
    <p>D3 tutorial</p>
    <script>
        d3.select("p").text("Hello World");
    </script>
</body>
</html>

Xantrax 26.11.2014 08:43

Цитата:

Сообщение от jsnb (Сообщение 342703)
Xantrax, попробуй указать кодировку на странице:
<meta charset="utf-8">

Спасибо, помогло.

Xantrax 28.11.2014 16:06

Продолжим тему.
Не работает код:
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Test</title>
    <script src="d3.js"></script>
</head>
<body>
        <script>
            var Array = [10,15,20,25,30];

            d3.select("body").selectAll("p")
                    .data(Array)
                    .enter()
                    .append("p")
                    .text("New Paragraph");
        </script>
</body>
</html>

По идее должно создаться 5 элементов <p></p>, однако Firebug выдает:
TypeError: Array is not a constructor
http://localhost:63342/Test/d3.js
Line 766

Объясните пожалуйста, что я делаю не так...

jsnb 29.11.2014 06:07

Array - это встроенный "класс" JS. Измени имя переменной.


Часовой пояс GMT +3, время: 21:26.