Подтвердить что ты не робот

Uncaught SyntaxError: Неожиданный токен =

Я только что перешел из локальной версии мини-версии d3.v3 в версию разработки. Он отлично работал при использовании мини-версии, но используя мою локальную копию http://d3js.org/d3.v3.js дает мне ошибку в заголовке, ссылаясь на эту строку:

var € = Math.PI, µ = 1e-6, d3_radians = € / 180, d3_degrees = 180 / €;

Когда я включаю размещенный файл, он отлично работает.

4b9b3361

Ответ 1

Проблема в том, что вы обслуживаете D3 с кодировкой символов ISO-8859-1 (часто по умолчанию для браузера), тогда как D3 должен обслуживаться кодировкой UTF-8. Обычно это происходит из-за отсутствия метатега в верхней части страницы загрузки HTML:

<!DOCTYPE html>
<meta charset="utf-8">

Требуется мета-специфицированная кодировка, потому что d3js.org обслуживается GitHub Pages и не указывает кодировку в заголовке ответа Content-Type. Поэтому кодировка выводится из загружаемого HTML-документа.

Если вы предпочитаете, вы можете указать атрибут charset в теге script. Перед тестированием убедитесь, что вы очистили кеш браузера, поскольку кешированная копия сохранит кодировку символов с момента ее первоначального доступа:

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

Ошибка с мини-версией не возникает, поскольку имена переменных заменяются эквивалентами ASCII. (Я не помню, если символы UTF-8 в строках формата также заменяются escape-последовательностями, но я по-прежнему рекомендую использовать D3 как UTF-8 во всех случаях.)

Проблемы с кодированием также могут произойти, если вы загрузили D3, просмотрев исходный код в своем браузере, а затем используя copy-paste, поэтому я рекомендую загрузить d3.v3.zip.

Ответ 2

это определенно проблема с кодировкой, постарайтесь сосредоточиться на этом.

Открытие Chrome с помощью ссылки, которую вы разместили (http://d3js.org/d3.v3.js) Я вижу также двухбайтовые символы:

 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 / π;

Я попытался использовать этот загруженный файл с моими проектами, и все в порядке.