提问者:小点点

基于页面语言动态加载内容


我正在使用一个外部系统,该系统具有以下元素来设置语言:

<meta http-equiv="Content-Language" content="en-US">

我们有以下语言:

en-US, en-GB, fr-FR, de-DE, es-ES, pl-PL, and pt-BR

我们可以创建自定义页面,我希望使用jQuery.load()根据“content”属性的值加载不同的内容。

例如:

IF "content=fr-FR" THEN $('#support-info').load('support-info-fr.html');

我绝不是一个web开发人员(我更像是一个复制/粘贴/编辑的家伙)。 我已经搜索了几个小时,找到了if/else jQuery语法,但似乎无法将其全部拼凑在一起。

希望,我已经提供了所有需要的信息,并使它尽可能清楚。 谁能给我指个正确的方向/帮个忙吗? 我们将不胜感激!


共2个答案

匿名用户

您可以通过一个基本的选择器轻松地获得meta标记。 然后使用switch case语句设置要加载的页面。 然后像上面一样加载页面。

null

$(document).ready(() => {
  var lang = $('meta[http-equiv="Content-Language"]').attr('content');
  var page = '';
  switch(lang) {
    case 'en-US':
    page = 'support-info-en.html'
    break;
    case 'fr-FR':
    page = 'support-info-fr.html'
    break;
    //Add all possibilities
  }
  $('#support-info').load(page);
});
<meta http-equiv="Content-Language" content="en-US">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

匿名用户

使用属性选择器

null

const contentLanguage = $('[http-equiv="Content-Language"]').attr('content')

if (contentLanguage == 'fr-FR') {
  $('#support-info').load('support-info-fr.html');
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<meta http-equiv="Content-Language" content="en-US">