2

Squarespace CMS システムを使用してサイトに取り組んでおり、単純な jQuery を追加して、コンテンツをフィルタリングするときに自動的に追加されたテキスト (具体的には "Entries in" テキスト) を削除しました。

Google 翻訳スクリプトをフッターに追加するまで、これは問題なくスムーズに機能しました。現在、「Entries in」テキストの削除はスムーズではありません。「Entries in」テキストは、ページがロードされたときに最初に表示されてから削除されるため、少しぎこちなく感じられます。フッターの Google 翻訳スクリプトが干渉を引き起こしているようで、プロジェクトの進行中にサイトに追加する可能性のある追加の 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 翻訳の場合は次のとおりです。

<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>

繰り返しますが、どんな助けでも大歓迎です!!

4

3 に答える 3

1

CMS(サーバー側)でこれを変更する方法を実際に検討する必要があります。JavaScriptは、静的コンテンツではなく、動的コンテンツの支援のみを目的としています。

于 2010-02-06T22:56:37.840 に答える
0

jQuery の「準備完了」コンテキストではなく、ページの最後にあるスクリプト タグで修正関数を直接実行してみてください。つまり、ページの読み込みが完了するにコードを実行します。(もちろん、これは完全に役立つ場合とそうでない場合があります。)

于 2010-02-06T23:13:32.950 に答える
0

jQuery.getScript() を試しましたか? 「置換」が完了するまで、翻訳スクリプトのロードを遅らせることができるはずです。

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

于 2010-02-06T23:43:15.297 に答える