?

Log in

Firefox ненависти пост - technix, the Frenzy developer [entries|archive|friends|userinfo]
Можайский Сергей

[ Сайт | Визитка ]
[ Frenzy | FreeBSD LiveCD ]

Firefox ненависти пост [дек. 10, 2009|03:39 pm]
Можайский Сергей
[Tags|, ]
[Музыка |Dead by April - Where I Belong | Powered by Last.fm]

Ну вот, не прошло и полгода, как я столкнулся со противоположным случаем. Теперь JS-код не работает в FF, но зато отлично работает в Опере.

<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
</head>
<body>
<div id="debug">this is <a title="(test)" href="file_(test).html">test</a></div>
<script type="text/javascript">
    var string1 = $('#debug').html();
    var string2 = string1.replace(/(this is <a title="\(test\)" href="file_\(test\).html">test<\/a>)/gi, '<em>$1</em>');
    $('#debug').html( string2 );
</script>
</body>
</html>

Но на сей раз решение уже найдено. Окаааазывается, Firefox вставляет вместо скобок urlencode-последовательности (%28 и %29), поэтому регэксп обламывается. Так что в вышеприведенном примере достаточно исправить первую строчку js-скрипта вот на такую:
var string1 = unescape($('#debug').html());
И это, думаю, не последнее "открытие", которое мне предстоит совершить :)
СсылкаОтветить

Comments:
[User Picture]From: val_ufo
2009-12-10 03:45 pm
у тебя от JS голова не болит, стресс не проявляется?
Вот у меня - да, от разницы интерпретаторов.
(Ответить) (Thread)
[User Picture]From: frenzytechnix
2009-12-10 03:52 pm
Ну ты видел по предыдущему посту, да :) Тогда я был реально зол, потому что убил на эту мелочь несколько часов времени...
(Ответить) (Parent) (Thread)
[User Picture]From: val_ufo
2009-12-11 06:41 am
Я тебя на твитторе спрашивал про FOSDEM, ты на FOSDEM в этом году едешь?
(Ответить) (Thread)
[User Picture]From: frenzytechnix
2009-12-11 12:37 pm
Нет... я и раньше-то туда не ездил :)
(Ответить) (Parent) (Thread)