2010-02-20 2 views
1

У меня есть некоторые JavaScript, который встроен в HTML файл, как этотспециальные символы во встроенном JavaScript

<html> 
    <head> 
     <script> 
      // and the script runs here 
     </script> 
    </head> 
    <body></body> 
</html> 

И это есть линия, как этот

if((os == 'Mac')&&((br == 'Safari')||(br == 'Chrome'))) 

Все идет нормально (что означает сценарий работы), но the validator кричит:

... символ "&" является первым CHARACT ЭВ разделителем, но произошло как данные
... Это сообщение может появиться в нескольких случаях:
-Вы пытались включить «<» символ в вашей странице: вы должны бежать как «<» используется
-Вы unescaped амперсанд «&»: это может быть применимо в некоторых контекстах, но рекомендуется использовать «&», который всегда безопасен.
-Другая возможность заключается в том, что вы забыли закрыть цитаты в предыдущем теге.

Это кажется смешным, чтобы заменить все & с & усилителем. Как я могу избавиться от этой ошибки?

ответ

5

Если вы используете XHTML, вы должны приложить свои встроенные скрипты в CDATA section:

<script type="text/javascript"> 
// <![CDATA[ 
    document.write("&"); 
// ]]> 
</script> 

Дополнительное чтение:

+0

ад да спасибо. и мне кажется смешно, что мне нужно избежать ' phunehehe

+1

Это потому, что вы пытаетесь написать что-то, что является как XHTML, так и достаточно близко к HTML, чтобы работать, когда вы сообщаете браузерам, что это текст/html вместо приложение/XHTML + XML. Это больше усилий, чем стоит IMO, поэтому я придерживаюсь написания HTML 4.01. – Quentin

+1

... Я все еще использую XHTML, но придерживаюсь внешних скриптов для любого значительного количества кода. В любом случае, избегайте явного обхода браузером. – bobince

Смежные вопросы