У меня проблема с 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)
}
});
}