2016-10-24 22 views
1

this stackの解決策に基づいて、私はTumblrでホストされている "擬似多言語"サイト/ブログを利用しています(私はサーバーサイドプログラミングにアクセスできません)。Chromeで擬似多言語が動作しない

<script> 

var defaultLanguage = 'pt'; 

$.ajax({ 

    url: "//ajaxhttpheaders.appspot.com", 

    dataType: 'jsonp', 

    success: function(headers) { 

     var language = headers['Accept-Language'].substring(0, 2); 

     if(language != defaultLanguage) { 

      $('span[lang="pt"], p[lang="pt"]').hide(0); 
      $('span[lang="' + language + '"], p[lang="' + language + '"]').show(0); 

     } 
    } 
}); 

</script> 

非常に単純です。私はすべてのポスト(phew!)内のすべてのコンテンツを手動で翻訳してから、AJAXリクエストに基づいて非表示にします。

私が見つけたとき、私はMozilla Firefoxでテストしていましたが、それは魅力的だったのです。その後、私は他の理由でGoogle Chromeに移行しなければなりませんでした。

Tumblrを使用しているため、このコードを強制的に上書きして、Chromeの設定を上書きすることはできますか?

+0

あなたはサイトにリンクできますか? Chromeはコンソールにエラーを返しますか? – lharby

+0

確か:http://chaoticbrasil.tk。コンソールには3つの警告とエラーがありますが、Tumblrのデフォルトテーマで使用されているスクリプト(私はまだ不要なものは取り除かれています)を使用していると思っています。 – user5613506

+0

Hmmm、lang = "en" ChromeとFirefoxの両方で、しかしおそらくそれは問題ではない。私はFirefoxで私の言語オプションにポルトガル語を加えて、両方のスパンを示しています。私もChromeでこれを行いましたが、Portogeuseを追加して設定のトップにドラッグすると、両方の言語がtumblrに表示されました。 1つの言語設定しか持たない人のために実際にそれを模倣する方法がわかりません。 – lharby

答えて

1

テストされていないが、私はあなたがこれを行うことができると思います。

var defaultLanguage = 'pt'; 
$.ajax({ 
    url: "//ajaxhttpheaders.appspot.com", 
    dataType: 'jsonp', 
    success: function(headers) { 
     var language = headers['Accept-Language'].substring(0, 2); 
     if(language != defaultLanguage) { 
      $('[lang="pt"]').hide(0); 
     }else{ 
      $('[lang="' + language + '"]').show(0); 
     } 
    } 
}); 

ユーザーは、(これはいずれかを取得する必要があるとして、我々は、スパンと段落の両方を追加する必要はありません一度属性セレクタとして[lang]を渡す必要がありますセレクタと一致する要素)。

関連する問題