Javascript в Safari не всегда работает - PullRequest
1 голос
/ 27 октября 2010

У меня проблема с Safari.У меня есть базовый скрипт, использующий jQuery, который вносит некоторые изменения в поле формы и добавляет к нему некоторые варианты поведения.Когда я запускаю этот скрипт с использованием метода готового документа, в Firefox все нормально, но в Safari он не всегда запускает начальные изменения.Я могу нажать «Обновить» и заставить его работать нормально 4/5 раз, но иногда он просто не инициализируется так, как должен.

Это выполняется на локальном сервере, поэтому обновление происходит довольно быстро, мне интересноесли JavaScript выполняется до завершения загрузки страницы.Я попытался назвать сценарий в нижней части страницы, а не в заголовке, но это не помогло.Я помню, как слышал о том, что разные браузеры запускают документ, готовый в разное время, и думал, что это поможет исправить его, но это не так, и я не могу найти дополнительную информацию по этой теме.

Что-то, чего мне не хватает, может быть проблемой или обходным путем?Сам сценарий, кажется, не виноват.Я использую плагин jQuery colors, кроме того, что это только jQuery и мой скрипт.

Помощь всегда ценится, спасибо людям!

Вот код.initSearchBox () запускается с использованием строки в заголовке ниже.

$ (document) .ready (function () {initSearchBox ();});

function randomFieldValue(){

var options = new Array(
    'Lorem',
    'Ipsum',
    'Dolor',
    'Sit',
    'Amet'
) 

t = Math.floor(Math.random()*(options.length - 1));

return options[t] ;

}

function initSearchBox(){

instanceDefText = randomFieldValue() ;

$('#search-form-field')
    .attr('value',instanceDefText)
    .css('color','#fff')
    .animate({color:'#999'},1500)
    .focus(function(){
        if($(this).attr('value') == instanceDefText){
            $(this).attr('value','')
                .css('color','#000')
        }
    })
    .blur(function(){
        if($(this).attr('value') == ''){
            instanceDefText = randomFieldValue() ;
            $(this).attr('value',instanceDefText)
                .css('color','#fff')
                .animate({color:'#999'},1500)
        }
    });

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...