免责声明:我很擅长开发(第二年CS专业),所以请耐心等待。 我目前正在开发一个chrome扩展,它从页面中提取JSON数据,然后通过HTML表格在扩展中显示数据。
我正在使用可通过Visual Studios获得的Chrome扩展模板。 由于我没有声誉,我不能发布链接以供参考,但是如果你要输入" chrome扩展名Visual Studios"在谷歌,这是第一个链接。
我正在使用一个名为" DataTables"的表的jQuery插件。通过Visual Studios下载。
每当我在Visual Studio上运行Visual Studio上的解决方案" index.htm"文件,我在控制台中收到此错误:
未捕获的SyntaxError:意外的标记ILLEGAL
jquery.dataTables.min.js:1
popup.js:1
This is how the console reads "jquery.dataTables.min.js"这是一个随插件下载的文件,并根据插件的安装说明在HTML文件中引用。 控制台读取" popup.js"以同样的方式。
问题:为什么控制台会以这种方式读取我的两个文件?
我已经查看了有关此错误的StackOverflow上的每个问题,并尝试了所有已提供的解决方案,但无济于事。
- 的任何标志
我已经多次检查过Unicode 200b"零宽度空间"
我已将默认字体设置为Times New Roman,并将所有文件的编码设置为UTF-8。
- 醇>
控制台shows that all these files have loaded中的网络诊断,当我通过文本编辑器运行html文件时,该解决方案可以正常工作。我有一个完全可排序的表显示虚拟数据。
我假设大多数人都熟悉chrome扩展程序的布局(manifest,html文件,javascript文件,icon.png)。 以下是HTML和JS的相应代码(我相信清单和图标与我的问题无关)
" popup.html" HTML(Jquery / JS / CSS引用和保存数据的表):
<meta charset="UTF-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
<script src="scripts/DataTables/jquery.dataTables.min.js"></script>
<script src="app/popup.js"></script>
<link href="css/classic.css" rel="stylesheet" />
<title>Popup</title>
<body>
<table id="example" class="display" width="100"></table>
</body>
</html>
&#34; popup.js&#34; JAVASCRIPT(硬编码的JSON数据,其功能使用&#34; Datatables&#34;库来初始化表格标题)
var dataSet = [
["00001", "John", "Smith"],
["00002", "Jane", "Doe"],
["00003", "Ted", "Johnson"],
["00004", "Betty", "Smith"],
["00005", "Susan", "Wilson"],
["00006", "John", "Doe"],
["00007", "Bill", "Watson"],
["00008", "Walter", "Wright"]
];
$(document).ready(function () {
$('#example').DataTable({
data: dataSet,
columns: [
{ title: "Emp. Number" },
{ title: "First Name" },
{ title: "Last Name" }
]
});
alert('If i loaded, it loaded');
});
答案 0 :(得分:0)
首先,我是否可以建议尝试从CDN加载JS文件(您的资源显示很奇怪)this is a common javascript CDN如果您无法这样做,请检查以确保数据表文件位于事实上,javascript。
其次,看起来好像是在顶部加载jQuery一次,然后再使用数据表JS加载(实际上,它实际上是在加载)