初学者HTML5路径/到/ jsFile。无法加载脚本?

时间:2014-11-21 12:04:25

标签: javascript html

我在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个索引的数组。

2 个答案:

答案 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>