зацикивются cookies в IE
Ума не приложу почему.
Корзина интернет магазина сохраняет id и количества товаров в кукисах браузера. Везде все отлично, кроме ослика - сначала работал, но с некоторых пор он просто игнорирует setCookie чем вводит меня в ступор. Выглядит так, будто его зацикливает на конкретном значении, то есть устанавливаешь новое значение, делаешь гет - возвращается старое( Если очистить кукисы вручную, то он снова начинает работать исправно, но, через некоторое время, вновь берется за старое. Я не сталкивался, но по-моему это похоже на превышение 4кб лимита, но я то пытаюсь сохранить всего 20-30 символов. С чем еще может быть связано подобное поведение ИЕ? Прошу, развейте эту магию! Как сохраняю и читаю куки (тестовый документ, на котором я надеялся ловить баг. Используется библиотечка с вашего сайта, из "10 лучших..."): <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Cookie test</title> <script type="text/javascript"> function getCookie(name) { var matches = document.cookie.match(new RegExp( "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)" )) return matches ? decodeURIComponent(matches[1]) : '' } // уcтанавливает cookie function setCookie(name, value, props) { props = props || {} var exp = props.expires if (typeof exp == "number" && exp) { var d = new Date() d.setTime(d.getTime() + exp*1000) exp = props.expires = d } if(exp && exp.toUTCString) { props.expires = exp.toUTCString() } value = encodeURIComponent(value) var updatedCookie = name + "=" + value for(var propName in props){ updatedCookie += "; " + propName var propValue = props[propName] if(propValue !== true){ updatedCookie += "=" + propValue } } document.cookie = updatedCookie } // удаляет cookie function deleteCookie(name) { setCookie(name, null, { expires: -1 }) } </script> </head> <body> <script> alert('Cookies test 2') setCookie ('SSCart', '', {expires:120}) while (confirm('test = ' + getCookie('SSCart'))) { setCookie ('SSCart', getCookie('SSCart') + '---------0', {expires:120}) } </script> </body> </html> PS: проблема не только на моем ИЕ, другие тоже ее видят! я не псих!!!1 |
Цитата:
уберите все эти закорючки и все запуститься |
Matre, это регулярное выражение (RegExp)
|
регулярные выражения??
вы случайно не троль? несете какуюто ахинею. реги я видел в perl, в malbolge и в php но в java script их нет! если я ва с неубедил то почему не раьотает код: print $my =~ s/123/456/g; ну? |
Чувак, во первых malbolge эзотерический язык программирования, там нет регулярок, во вторых вот тебе реги в js, а не сработает приведённый код в js, потому что это код Perl.
P.s. Вот это на malbolge не регулярка: Цитата:
|
Цитата:
Цитата:
Цитата:
|
Matre,
слишком толсто. в JS есть регулярные выражения. |
Цитата:
вы весь вечер несете откровенную ахинею и ничего еще не аргументировали! пркажите мне реги в js и я замолчу |
Против троллей эффективнее бана только игнор. Не обращайте внимания, профессор)
Вчера появился некоторый прогресс в моей проблеме: я начал удалять куку перед записью, т.е. вызывать deleteCookie(name) в начале функции setCookie. Полный бред, конечно, и танцы с бубном, но и сама проблема мистична, да и результат есть - в некоторых билдах ослика все стало работать как надо. Но в восьмом ie все же иногда проскальзывает эта трабла, а у заказчика как на зло именно этот браузер. Быть может есть мысли, из-за чего это может быть хотя бы теоретически? Ума не приложу что происходит, я уже всеми известными проклятиями обругал мелкософт, скоро свои придумывать начну... |
Цитата:
http://javascript.ru/forum/css-html-...html#post86691 |
Roman-NN,
я к троллям привычный. меня они только забавят. чай это не первый тролль на форуме) |
Matre,
в этой теме вы гораздо лучше жжоте, нежели в http://javascript.ru/forum/project/1...elektorov.html , продолжайте :) Кстати, а почему вы хотите именно, чтобы вам доказали существование регулярных выражений в JS, почему самому в тот же Яндекс не сходить? |
Цитата:
это просто поиск по подстроке Цитата:
кстати, мысли о том что в js есть регулярки-симптом шизофрении.задумайтесь |
Как же вы хотите, чтобы мы вам доказали существование регекспов в JS, если вы никому не верите? :)
|
если я все еще разговариваю с вами
то это значит что я еще верю в то что вы мне можете доказать просто нужны нормальные аргументы |
alert('abcda234bcd23423abcd'.replace(/\d+/g, '')); Это аргумент? |
нет
тут просто замена по шаблону регулярки это другое |
Цитата:
|
ну например
надо из строки x123 зделать x456 пишем $primer = s/x123/x456/g; вот это регулярки |
Это регулярки в синтаксисе Perl. Хотя в вашем случае нет регулярки.
Цитата:
|
alert('x123'.replace(/x123/, 'x456')) так что ли?) |
Цитата:
замена по подстроке и регулярки это не одно и тоже |
Цитата:
|
<script type="text/javascript"> document.write('as123sza1233d'.replace(/(\d)(\d*)/g,'<u><b>$1</b>$2</u>')); </script> |
Gvozd, да как вы не поймете
в js есть поиск по подстроке есть замена по подстроке но регулярок нету! пример регулярки я привел выше учите java script |
Gvozd,
расслабься, такое лечится только временем. У Matre, конечно, особо запущенный случай, но должно пройти. Мне когда-то Zeroglif на одном, ныне не существующем, сайте долго и упорно пытался доказать, что не всё в JS объекты, никакие доводы не помогали. Так и не смог доказать. Только со временем всё встало на свои места :) |
Цитата:
учите java script и не спирайте свою неосведомленность на наличие у меня психических/умственных заболеваний |
Цитата:
alert(typeof null); Цитата:
|
Цитата:
объект должен мочь иметь свойства null.primer=0; не работает учите java script |
А строки в JavaScript объекты?
|
смотря что понимать под объектом
свойств она иметь неможет,если только не создана через new String все это можно узнать в любой книге,незачем спрашивать у меня если незнаете |
У кого же мне спрашивать? В книге мало ли чего написать могут.
Цитата:
|
Цитата:
x='primer'; x.my=0; alert(x.my); Цитата:
то было реги в js, а тут всеголишь строки |
Цитата:
Цитата:
|
флэнаган конечно нормально шарит
но здесь его кудато не туда занесло видимо,он имел в виду замену и поиск по шаблонам |
Ну я и говорю, мало ли что напишут в этих книгах.
|
набирайтесь опыта и не будете зависеть оттого,что там понаписали в этих книгах и статьях
|
Для полугода работы фрилансером вы как-то слишком по отечески со мной разговаривате :)
|
опыт дело наживное
главное это умение |
Цитата:
|
Часовой пояс GMT +3, время: 07:27. |