在我们的网站项目中,经常会出现这种场景,我们有一个或几个通用的js代码文件,比如专门进行字符串处理的string.js文件,进行日期处理的date.js文件.为了我们程序的可维护性已经对搜索引擎的友好性,我们通常不把js代码直接写在页面文件中,而是写在单独的js文件中,在页面中通过<script type="text/javascript" src="test.js"></script>这种方式引入.现在问题就出来了,假如在我的test.js文件中想要调用string.js文件中的函数,应该如何处理呢?
经过试验,可以采用下面的方法,在test.js文件的顶部加入如下代码:
document.write("<script language='javascript' src='string.js' ></script>");
接下来就可以在test.js文件中,使用string.js文件中的函数了.需要注意的是js文件本身可能会有编码问题,比如我使用的网上的一个实现日历功能的js文件,就是gb2312编码的,由于.net中默认编码是utf-8的,所以为避免乱码问题,必须在<script>中增加下列属性charset="gb2312",完整形式为下列形式:
<script type="text/javascript" src="js/WebCalendar.js" charset="gb2312"></script>
这样就不会有乱码问题了.需要注意的是,当使用外部js文件引入方式时,如果我们写成<script type="text/javascript" src="test.js" />这种形式,有时候会报一些莫名其妙的错误,写成<script type="text/javascript" src="test.js"></script>这种形式就不报错,具体原因是什么不太清楚,不过这点应该注意是确定的.