Настройки jQuery загружаются не гладко (вместо этого появляется оригинал, а затем он изменяется) - PullRequest
2 голосов
/ 07 февраля 2010

Я работаю над сайтом, использующим систему Squarespace CMS, и добавил несколько простых jQuery для удаления автоматически добавляемого текста, который появляется при фильтрации содержимого (в частности, текста «Записи в»).

Это работало без проблем, пока я не добавил скрипт Google Translate в нижний колонтитул. Теперь удаление текста «Записи в» происходит не плавно - текст «Записи в» отображается сначала при загрузке страницы, а затем удаляется, поэтому он выглядит немного нервным. Похоже, что скрипт Google Translate в нижнем колонтитуле вызывает помехи, и я беспокоюсь, что он может помешать любому дополнительному jQuery, который я мог бы добавить на сайт по мере продвижения проекта. Мне интересно, что я могу сделать лучше, чтобы убедиться, что такие настройки загружаются плавно?

Сайт, над которым я работаю (в процессе разработки), можно посмотреть на wohf.squarespace.com

код, который у меня есть, следующий в:

<script src="/storage/Scripts/jquery-1.3.2.min.js"></script>

<script type="text/javascript">
<!--

$(function(){ 

//***************************************
// Remove "Entries In" text
//***************************************
$('.journal-filter-header h2:contains(Entries in)').each(function(){ 
   var str = $(this).html(); 
   $(this).html(str.replace('Entries in','')); 
});


});
-->
</script>

... и следующее для Google Translate в нижнем колонтитуле:

<div id="footerRight">
<div id="google_translate_element"></div>
<script>
function googleTranslateElementInit() {
  new google.translate.TranslateElement({
    pageLanguage: 'en'
  }, 'google_translate_element');
}
</script>
<script src="http://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
</div>

Опять же, любая помощь очень ценится!

Ответы [ 3 ]

1 голос
/ 07 февраля 2010

Вы действительно должны попытаться решить, как изменить это в вашей CMS (на стороне сервера). JavaScript предназначен только для того, чтобы помочь вам с динамическим контентом, а не со статическим контентом.

0 голосов
/ 07 февраля 2010

Вы пробовали jQuery.getScript ()? У вас должна быть возможность отложить загрузку сценария перевода до тех пор, пока не будет выполнена «замена».

http://api.jquery.com/jQuery.getScript/

0 голосов
/ 07 февраля 2010

Вы можете попробовать запустить свою функцию исправления непосредственно в теге сценария в конце страницы, а не в контексте jQuery «готово». Другими словами, ваш код должен запускаться до загрузки страницы. (Конечно, это может помочь, а может и не помочь).

...