我有带有旧 Google 图表 API(旧静态图像)的网页(这里是一个示例),我想将其移至新的 Google 可视化图表 API。
我还使用 jQuery、jQuery UI、Google JS 地图和 DataTables.net(都托管在 Google 和 Microsoft CDN 上):
<style type="text/css" title="currentStyle">
@import "/demo_table_jui.css";
@import "https://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/redmond/jquery-ui.css";
</style>
<script type="text/javascript" src="https://maps.google.com/maps/api/js?sensor=false&language=ru"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js"></script>
<script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.0/jquery.dataTables.min.js"></script>
<script type="text/javascript">
$(function() {
// ...
$("#comments").dataTable( {
"bJQueryUI": true,
"sPaginationType": "full_numbers",
"aaSorting": [[0, "desc"]]
});
});
所以我正在尝试使用google.loader(); 而不是脚本标签:
<style type="text/css" title="currentStyle">
@import "/demo_table_jui.css";
@import "https://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/redmond/jquery-ui.css";
</style>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.0/jquery.dataTables.min.js"></script>
<script type="text/javascript">
google.load("jquery", "1");
google.load("jqueryui", "1");
google.load("maps", "3", {other_params: "language=ru&sensor=false"});
google.setOnLoadCallback(function() {
// ...
$("#comments").dataTable( {
"bJQueryUI": true,
"sPaginationType": "full_numbers",
"aaSorting": [[0, "desc"]]
});
});
不幸的是,这不起作用(这里是示例页面) - DataTables 不再“包装”表格。
Google Chrome 控制台中的错误消息是:
jquery.dataTables.min.js:151
Uncaught ReferenceError: jQuery is not defined
有没有人有一个想法,我做错了什么?
我也在DataTables.net 论坛上问过......
更新:
我已经从在我的服务器上本地托管 dataTables.net 文件切换到 Microsoft 的 CDN,因为它不会改变我的问题中的任何内容(我猜是:在 dataTables.net之后由 google.load() 加载 jQuery 库)