Ответ 1
Попробуйте указать кодировку UTF-8 в документе хоста HTML:
<meta http-equiv="content-type" content="text/html; charset=UTF8">
Я просто загрузил D3.js из d3js.org (ссылка на zip файл), разархивировал его и ссылался на него в следующем HTML-страница:
<html>
<head>
<title>D3 Sandbox</title>
<style>
</head>
<body>
<script src="/d3.v3.js"></script>
</body>
</html>
Но когда я загружаю эту страницу, моя консоль (в Chrome) дает мне эту ошибку:
Uncaught SyntaxError: Unexpected token ILLEGAL: line 2
Не нравится символы pi и e в начале файла. Errrr... что я могу сделать по этому поводу? Я обслуживаю файл с помощью python SimpleHTTPServer.
Обновление: да, я знаю, что могу просто ссылаться на версию CDN, но я бы предпочел использовать файл локально.
Попробуйте указать кодировку UTF-8 в документе хоста HTML:
<meta http-equiv="content-type" content="text/html; charset=UTF8">
Это звучит как проблема с кодировкой. Я рекомендую Абсолютный минимум Каждый разработчик программного обеспечения Абсолютно, положительно должен знать о Unicode и наборах символов (без отговорок!). Несмотря на несколько снисходительное название, он содержит очень полезную информацию. В частности, похоже, что ваш сервер обслуживает файл d3.v3.js
с неправильной кодировкой.
Добавить 'charset = "utf-8" '
<script src="/d3.v3.js" charset="utf-8"></script>
Я попытался установить кодировку в документе и в теге script, но Chrome, похоже, не заботится. Не уверен, что я делаю что-то неправильно.
Я нашел успех, выполнив его с помощью uglify с опцией -ascii-only.
UPDATE: отключает параметр View- > Encoding в Chrome, но не в Auto-Detect, а в некоторой западной кодировке. Не знаю, почему, но изменение, которое разрешило проблему. Смешно, что эта настройка будет превзойти свойство charset прямо на теге script. Учитывая, что пользователи могут находиться в одной и той же ситуации и не смогут понять это, я все равно буду использовать uglify для обеспечения успеха.
Проверьте, есть ли знак плюса между всеми вашими конкатенациями строк, если вы не создадите эту ошибку.