我在html5体内运行一些JS时遇到了一些麻烦。 这是正在发生的事情,每当我从我正在使用的JS文件中删除所有数组实例时,脚本在索引文件中加载正常,但是,当我将src添加到属性和/或从所述文件中提及数组名称时,它休息。就这么简单。
由于我打算建立一个相当大的网站,我已经开始组织我的根。这是一个小小的演示:
rootFolder/
index.htm
js/targetJS.js
这是代码
<script src="js/targetJS.js" type="text/javascript">
document.writeln("<table id='services' class='services' name='services'>");
document.writeln("<tr>");
document.writeln("<th> Preview: </th>");
document.writeln("<th> Description: </th>");
document.writeln("<th> Cost: </th>");
document.writeln("</tr>");
var i = 0;
//for ( i = 0; i < servicePrev.length; i++)
{
if (i % 2 == 0){
document.writeln("<tr class='even' id='even'>");
}
else{
document.writeln("<tr class='odd' id='odd'>");
}
//document.writeln("<td> " + servicePrev[i] + " </td>");
//document.writeln("<td> " + serviceDesc[i] + " </td>");
//document.writeln("<td> " + serviceCost[i] + " </td>");
document.writeln("</tr>");
}
document.writeln("</table>");
</script>
每当我在属性中添加src和注释掉的行时,代码都不起作用,但是,当我省略src和当前注释掉的行时,代码工作正常。甚至JSfiddle报告它工作正常。 JS文件的内容是3个包含5个索引的数组。
答案 0 :(得分:2)
您需要分隔标记
<script type="text/javascript" src="awesomescript.js"></script>
和
<script>
// some awesome code here
</script>
从html5开始,您可以自由命名<script type="text/javascript">
或仅使用<script>
作为javascript,因为text / javascript是默认的。
答案 1 :(得分:1)
引自http://javascript.crockford.com/script.html
脚本标记有两个用途:
它标识页面中的一个脚本块。它加载一个脚本文件。 它的作用取决于src属性的存在。一个 在任何一种情况下都需要关闭标记。
src属性是可选的。如果它存在,那么它的值是a 标识.js文件的url。装载和加工 页面在浏览器提取,编译和执行时暂停 文件。和之间的内容 应该是空白的。
因此,脚本文件应该由专用的script
标记加载而没有内容,脚本内容应该插入到另一个script
标记中,毕竟如果您有其他错误,可以在控制台中检查你的broswer
<script src="js/targetJS.js" type="text/javascript"></script>
<script type="text/javascript">
document.writeln("<table id='services' class='services' name='services'>");
document.writeln("<tr>");
document.writeln("<th> Preview: </th>");
document.writeln("<th> Description: </th>");
document.writeln("<th> Cost: </th>");
document.writeln("</tr>");
var i = 0;
//for ( i = 0; i < servicePrev.length; i++)
{
if (i % 2 == 0){
document.writeln("<tr class='even' id='even'>");
}
else{
document.writeln("<tr class='odd' id='odd'>");
}
//document.writeln("<td> " + servicePrev[i] + " </td>");
//document.writeln("<td> " + serviceDesc[i] + " </td>");
//document.writeln("<td> " + serviceCost[i] + " </td>");
document.writeln("</tr>");
}
document.writeln("</table>");
</script>