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

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

问题描述

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";

}

}

}

但是当保存为tab.js,然后如下方式引用时,就没有效果了

原因与解决方案

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

一个是当你把这段代码放到网页的后面时,就会发现功能有效了。

这里放在后面是因为存在一个document ready 的问题。

从网络打开html文档总是有一个延迟的问题,在运行你的script程序的时候,文档可能没有完全加载。

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

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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值