繁体   English   中英

根据浏览器语言和地理位置显示特定的 div 或内容

[英]Display specific divs or content based on browser language and geographic location

请我请求你的帮助。 我在网上找到了一些想法,他们设法根据访问者的语言创建了一种个性化的消息,但是,如果除了语言代码之外还添加了国家/地区代码,脚本就会失败。

我的目的是根据语言代码“tag lang”和国家代码来显示个性化消息,以区分某些消息。

例如,对于从美国查看页面的英语用户,使用 lang = "en-US",对于从英国查看网页的用户,使用带有相关个性化消息的 lang = "en-GB"。

这是使用的代码:

 var known = { en: true, it: true, en-US: true, }; var lang = ((navigator.languages && navigator.languages[0]) && navigator.language || navigator.userLanguage || 'en').substr(0, 2); if(!known[lang]) lang = 'en'; $('div.wrapper[lang=' + lang + ']').show(); $('div.wrapper[lang!=' + lang + ']').hide();
 <div lang="en" class="wrapper"> <h1>English</h1> <p>Here is some English content.</p> </div> <div lang="it" class="wrapper"> <h1>Italiano</h1> <p>Ecco alcuni contenuti in Italiano.</p> </div> <div lang="en-US" class="wrapper"> <h1>English United States</h1> <p>Here are some English content from the United States</p> </div>

你能帮我吗?

非常感谢您的提示!

我试图通过插入标签来修改代码(例如 lang = "en-US"),但它没有显示正确的内容。

 var known = { en: true, 'it-IT': true, 'en-US': true, 'en-GB': true, }; var lang = ((navigator.languages && navigator.languages[0]) && navigator.language || navigator.userLanguage || 'it-IT').substr(0, 2); console.log('LANG: ' + lang) if(!known[lang]) lang = 'it-IT'; $('div.wrapper[lang=' + lang + ']').show(); $('div.wrapper[lang!=' + lang + ']').hide();
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div lang="en-US" class="wrapper"> <h1>English US</h1> <p>Here is some English content.</p> </div> <div lang="en-GB" class="wrapper"> <h1>English GB</h1> <p>Here are some English content from the United States</p> </div> <div lang="it-IT" class="wrapper"> <h1>Italiano</h1> <p>Ecco alcuni contenuti in Italiano.</p> </div>

我还做错了什么?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM