数据表 - 通过 JavaScript 更改语言使 UI 元素消失,而不是更改语言

2023-12-03

我已经使用引导样式构建了一个数据表,并希望将 ui 元素的默认语言更改为德语。

https://datatables.net/examples/advanced_init/language_file.html这表明我可以在脚本中加载语言文件。当我尝试这样做时,所有与语言相关的 UI 元素都会消失,而不是以德语显示。结果是没有任何功能的“裸”表。可能是什么问题呢?抱歉,缩进不好,我在粘贴时遇到了麻烦。

剧本:

$(document).ready(function() {
    $('#example').DataTable( {
        "language": {
        "url": "//cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/German.json"
        }
    } );    
} );

我的整个网站如下所示:

<html>
<head>
<%@ taglib prefix="Tags" uri="WEB-INF/tagXML.tld" %>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.20/css/jquery.dataTables.min.css">
<link rel="stylesheet" type="text/css" href="css/style.css">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">
<link href="https://cdnjs.cloudflare.com/ajax/libs/mdbootstrap/4.14.0/css/mdb.min.css" rel="stylesheet">
<link href="css/addons/datatables.min.css" rel="stylesheet">
<title>title</title>
<style>
  body {
   padding-top: 90px;
  }
</style>
</head>
<body class="Site">
  <div class="container">

     <!--Table-->
     <table id="dtBasicExample" class="table table-hover table-sm">
     <!--Table head-->
       <thead>
         <tr>
           <th>#</th>
           <th>First Name</th>
           <th>Last Name</th>
           <th>Username</th>
           <th>Visits</th>
           <th>Age</th>
           <th>Country</th>
           <th>First Name</th>
           <th>Last Name</th>
           <th>Username</th>
           <th>Visits</th>
           <th>Age</th>
           <th>Country</th>
         </tr>
       </thead>
       <!--Table head-->
       <!--Table body-->
       <tbody>
         <tr>
           <th scope="row">1</th>
           <td>Mark</td>
           <td>Otto</td>
           <td>@mdo</td>
           <td>Mark</td>
           <td>Otto</td>
           <td>@mdo</td>
           <td>Mark</td>
           <td>Otto</td>
           <td>@mdo</td>
           <td>Mark</td>
           <td>Otto</td>
           <td>@mdo</td>
         </tr>
         <tr>
           <th scope="row">2</th>
           <td>Jacob</td>
           <td>Thornton</td>
           <td>@fat</td>
           <td>Mark</td>
           <td>Otto</td>
           <td>@mdo</td>
           <td>Jacob</td>
           <td>Thornton</td>
           <td>@fat</td>
           <td>Mark</td>
           <td>Otto</td>
           <td>@mdo</td>
         </tr>
         <tr>
           <th scope="row">3</th>
           <td>Larry</td>
           <td>the Bird</td>
           <td>@twitter</td>
           <td>Mark</td>
           <td>Otto</td>
           <td>@mdo</td>
           <td>Jacob</td>
           <td>Thornton</td>
           <td>@fat</td>
           <td>Mark</td>
           <td>Otto</td>
           <td>@mdo</td>
         </tr>
       </tbody>
       <!--Table body-->
     </table>
     <!--Table-->

</div>
</main>
<script>
$(document).ready(function () {
  $('#dtBasicExample').DataTable({
    "bInfo" : false
    "language" : {"url": "//cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/German.json"}
  });
$('.dataTables_length').addClass('bs-select');
});
</script>       
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js" integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"></script>
<script type="text/javascript" src="https://cdn.datatables.net/1.10.20/js/jquery.dataTables.min.js"></script>
<script type="text/javascript" src="js/addons/datatables.min.js"></script>
<!-- Material Design Bootstrap -->
<link href="https://cdnjs.cloudflare.com/ajax/libs/mdbootstrap/4.14.0/css/mdb.min.css" rel="stylesheet">
<!-- Font Awesome -->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.2/css/all.css">
<!-- Google Fonts -->
<link rel="stylesheet" href="https://fonts.googleapis.com/css? 
    family=Roboto:300,400,500,700&display=swap">
</body>
</html>

您应该始终在 URL 中包含协议 - 例如:

"language": {
  "url": "https://cdn.datatables.net/plug-ins/1.10.20/i18n/German.json"
}

故意排除协议的 URL 风格非常古老 - 我认为现在不建议这样做 - 正如您所看到的,它不起作用。看到这个question并回答:

2014.12.17:既然 SSL 受到所有人的欢迎并且没有性能问题,那么这种技术现在是一种反模式。如果您需要的资产在 SSL 上可用,则始终使用 https:// 资产。

另外,请记住包括一个逗号数据表定义中的条目之间。

"bInfo" : false <--- missing comma!

正如您在问题中提到的,缺少逗号将导致元素消失。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据表 - 通过 JavaScript 更改语言使 UI 元素消失,而不是更改语言 的相关文章

随机推荐