外部调用js失效或乱码:JavaScript脚本改为外部引用后失效或出现乱码的原因与解决方法

目录
[隐藏]

为了网站页面的“瘦身”,于是将一些通用的代码放进js里面,然后就总是出现了问题。下面是通过反复调试得到的原因与解决方案,在此记录一下以供参考交流。

问题描述

JavaScript代码放在网页页面时,功能效果是正常的。但是当放在脚本里然后引用进来时,功能就失效了。

例如

网页里代码如下:
<script type="text/javascript">
    function nTabs(tabObj, obj) {
        var tabList = document.getElementById(tabObj).getElementsByTagName("li");
        for (i = 0; i < tabList.length; i++) {
            if (tabList.id == obj.id) {
                document.getElementById(tabObj + "_Title" + i).className = "active";
                document.getElementById(tabObj + "_Content" + i).style.display = "block";
            } else {
                document.getElementById(tabObj + "_Title" + i).className = "normal";
                document.getElementById(tabObj + "_Content" + i).style.display = "none";
            }
        }
    }
</script>

但是当保存为tab.js,然后如下方式引用时,就没有效果了
<script language='javascript' src='tab.js'>

原因与解决方案

其实这里可能有两个可能的原因:

一个是当你把这段代码放到网页的后面时,就会发现功能有效了。
这里放在后面是因为存在一个document ready 的问题。
从网络打开html文档总是有一个延迟的问题,在运行你的script程序的时候,文档可能没有完全加载。

第二个可能就是编码的问题。如果你测试一下,在你的脚本文件(如tab.js)里输出一段文字,如加入代码:

document.writeln("志文工作室");

然后再刷新网页,如果没有正常出现文字,而是出现了乱码,那么就应该是编码的问题。这里你可以用网页编辑工具如dreamweaver、editplus等新建js文件,然后复制进代码,问题即可解决。

点赞 (0)
  1. 记忆盒子说道:

    有关文件调用出现乱码的问题,有时候你用文本文件打开这个js文件,然后“另存为...”,选择UTF-8编码,就可以解决。

  2. Elten说道:

    [quote=Elten]补充一点,外部调用js正确写法是
    <script type="text/javascript" src="***.js"></script>
    如果缺少最后的</script>也是不会被解释的

  3. Elten说道:

    补充一点,外部调用js正确写法是
    <script type="javascript" src="***.js"></script>
    如果缺少最后的</script>也是不会被解释的

  4. 日光博客说道:

    好像不是经常用到哦~~

  5. TTkea说道:

    呵呵,,这个俺就不懂了.

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.