Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Safari и куки


Автор: DimaSiK 17.3.2010, 09:25
Столкнулся с такой проблемой и именно в Safari. Если я пытаюсь установит куки для сайта, который я ранее не посещал и Safari о нем ничего не знает, то я не могу собственно их установить. Если я захожу в настройки браузера и выставляю галочку "Принимать куки всегда", то все сразу работает. Возможно как-то обойти это ограничение или хотя бы проинформировать об этом пользователя, чтобы он был в курсе, почему у него ничего не отображается? 

Автор: DimaSiK 17.3.2010, 10:56
Не хочется создавать отдельную ветку, так что напишу еще один вопрос тут. Есть код 
Код

$(document).ready(function(){
     $.ajax({
        url:        'http://server.local/get-code.php',
        cache:      false,
        dataType:   'jsonp',
        jsonp:      'jsonp_callback',
        success:    function(json){
            $.getScript($(json.source).attr('src'), function(){
                $('body').html(json.html);    
            })
        }
    })    
})


Интересный момент заключается в функции success. Логика работы данной функции проста. Функция принимает json ответ состоящий из html  и source. Source содержит ссылку на скрипты. С помощью $.getScript загружаем скрипты а уже оптом добавляем html, который использует эти скрипты. Все браузеры кроме IE абсолютно нормально воспринимают данный код и делают все в нужной последовательности, однако всеми любимый IE делает не совсем так, вернее он кое-что игнорирует. Игнорирует он js код, который находиться вместе с html, то есть в параметре hml. Проверил, js код вместе с html возвращается сервером браузеру, но тот почему-то игнорирует js кода - убирает его и добавляет только html. Кто может подсказать, в чем тут дело?

Для болей наглядности прилагаю скриншот того, что должно добавляться на страницу.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)