Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.06.2009, 14:46
Интересующийся
Отправить личное сообщение для uncher4 Посмотреть профиль Найти все сообщения от uncher4
 
Регистрация: 04.02.2009
Сообщений: 22

амперсанды в javascript
Валидатор ругается на & в документе и требует их заменить на &
Беда в том, что ссылки, которые формируются с помощью javascript не работают.
Т.е. например:
var url = "?v1=1&v2=2&v3=3"         // работает, но не проходит валидацию
var url = "?v1=1&v2=2&v3=3" // проходит валидацию, но не работает

Какой может быть выход?
Ответить с цитированием
  #2 (permalink)  
Старый 30.06.2009, 15:01
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

С какого перепуга валидатор валидирует строки в JavaScript?
Ответить с цитированием
  #3 (permalink)  
Старый 30.06.2009, 15:11
Интересующийся
Отправить личное сообщение для uncher4 Посмотреть профиль Найти все сообщения от uncher4
 
Регистрация: 04.02.2009
Сообщений: 22

Незнаю, у меня javascript находится в одном файле с xhtml документом.
Ответить с цитированием
  #4 (permalink)  
Старый 30.06.2009, 15:23
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

И что? В строках может быть что угодно, в том числе и амперсанды. Скорее всего, вы просто неправильно включили JavaScript в текст страницы.
Ответить с цитированием
  #5 (permalink)  
Старый 30.06.2009, 15:24
Интересующийся
Отправить личное сообщение для uncher4 Посмотреть профиль Найти все сообщения от uncher4
 
Регистрация: 04.02.2009
Сообщений: 22

Вот простой пример:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251"/>
<title>Тест</title>
</head>
<body>
<script type="text/javascript"> 
var link = '<a href="?v1=1&v2=2&v3=3">link</a>'
document.write(link)
</script>
</body>
</html>

Как это код привести в соответствиие с XHTML 1.0 ?
Ответить с цитированием
  #6 (permalink)  
Старый 30.06.2009, 15:27
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Комментарии добавить надо:
<script type="text/javascript">
// <!--
window.onload = function() {};
// -->
	</script>
Ответить с цитированием
  #7 (permalink)  
Старый 30.06.2009, 15:35
Интересующийся
Отправить личное сообщение для uncher4 Посмотреть профиль Найти все сообщения от uncher4
 
Регистрация: 04.02.2009
Сообщений: 22

Цитата:
Комментарии добавить надо
Спасибо. Теперь всё в порядке.
Ответить с цитированием
  #8 (permalink)  
Старый 07.07.2009, 13:59
Интересующийся
Отправить личное сообщение для Леонид Евстигнеев Посмотреть профиль Найти все сообщения от Леонид Евстигнеев
 
Регистрация: 27.05.2009
Сообщений: 14

Сообщение от Иван Сагалаев
Содержимое элементов <script> и <style> нельзя оставлять в том же виде, что и в HTML. Потому что любой значок ">" тут же все сломает. Если его экранировать через "&gt;" или заключать в блоки CDATA, то тогда сломаются HTML'ные браузеры, которые таких страстей не ведают и парсят текст, предполагая, что он не экранирован. Кроме того, в XHTML браузер не обязан вообще парсить содержимое комментариев, а скрипты, как известно, часто так экранируются по историческим соображениям.

В итоге, чтобы удовлетворить и XHTML, и HTML, вам придется либо использовать такую вот конструкцию, учитывающую все синтаксисы:

<script>
<!--//--><![CDATA[//><!--
   ...
//--><!]]>
</script>

Либо выносить скрипты и стили во внешние файлы.
Более простой вариант
//<![CDATA[
  Тут можно использовать знаки больше > и меньше <.
//]]>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Лучшая книга по JavaScript Systemnik Оффтопик 27 26.08.2012 16:54
Помогите с javascript andruhin Общие вопросы Javascript 12 04.05.2012 10:05
Собрался силами, собираюсь освоить Javascript walker Общие вопросы Javascript 14 20.03.2012 16:17
Программист на JavaScript (удалённо) Vadym Работа 1 28.01.2009 13:57
Нужен Старший разработчик JavaScript Yandex Работа 17 19.08.2008 16:43