XML, XHTML и JavaScript/ссылки с символом "&".

SvinkaVJeansah

Вставляю счетчик на странницу, а FireFox и Opera кричат:
XML Parsing Error: 
not well-formed Location:
http://192.168.94.26/serverstat.pl
Line Number 44, Column 16:
var a='';a+='&r='+escape(document.referrer);
---------------^

Как с этим бороться?

Marinavo_0507

&

SvinkaVJeansah

Как в принципе менять ссылки с "&" и заменять амперсанды, фигурирующие в JavaScript, чтобы все работало? )

stm7884696

ну да... именно менять...
Ибо у тебя вроде как стандарт xml, а там все & надо на & заменить.
Поботай w3c.org
А как менять - или ручками, или регэкспом...

SvinkaVJeansah

XML Parsing Error: not well-formed
Location: http://192.168.94.26/index.pl?lang=ru
Line Number 88, Column 203:
document.write('<a href="http://web.fryazino.net/rating?from=455" target="_blank"><img src="http://web.fryazino.net/rate?id=455&amp;j='+j+a+'&amp;rand='+Math.random+'" alt="fryazino.net rating system"'+' width="88" height="31" border="0"/><\/a>');
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------^
А здесь что не так?

artimon

Если ты в XML вставляешь скрипт, то надо так:
<script type="text/javascript">
<![CDATA[
// здесь скрипт
]]>
</script>

rosali

Ну да. Либо енкодь все на свете &lt; &gt; &quot; &amp; Кажись больше ничего не надо, да?

artimon

И после этого у тебя на этой страничке сдохнет IE5.
Вообще, лучший вариант, выносить JS во внешние файлы, но со счётчиками так не поступишь.

rosali

От чего? Точнее на чем именно?
PS. Ну нафига делать посты в два экрана шириной?! Может можно как-то сверстать форум, чтобы кнопка "reply" всегда влезала на экран, без всякого скролинга?

artimon

Он сдохнет на
if (a &lt; b) { ... }

stm7884696

я не помню спецификацию наизусть, но тебе пишет про ошибку в 88 строке, 203 м символе...
а так вообще, по спецификации xml нет свойств target="_blank", width="88" height="31" border="0"
+ что то ты не то хзакоментил в <\/a>

rosali

а так вообще, по спецификации xml нет свойств target="_blank",
А? По моему дело просто в том, что вместо
document.write('<
надо писать
document.write('&lt;
и далее по тексту...

stm7884696

я бы на самом деле забил вообще писать счетчики на странице XML...
Или сменил бы доктип...
т.к. одно на другое - это как оглобли у мерина ставить...

SvinkaVJeansah

Что самое удивительное, так это то, что на другой странице с аналогичным доктипом счетчик работает.
С Firefox справился, а вот explorer парит мозг. Пишет, что страница выполнена, но с ошибками.
Оставить комментарий
Имя или ник:
Комментарий: