firefox报错: 纯文本文件的字符编码未声明。如果该文件包含 US-ASCII 范围之外的字符,该文件将在某些浏览浏览器配置中呈现为乱码。该文件的字符编码需要在传输协议层声明,或者在文件中加入一个 BOM(字节顺序标记)
上网搜索,发现解决方法都是要声明头文件,防止中文乱码。如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
但是添加之后,并不好用。
反思后,出现这个问题是因为出现中文乱码。再找发现是escape函数的问题。escape函数和unescape函数都是被废弃的函数(仍然可用,但未来会被删除),但很多时间较早的帖子中的例子仍用这两个函数。几个月前的demo用了这两个函数运行正常,最近换了个编译器重新运行报出这个错误。
最后将escape和unescape函数分别换成encodeURI和decodeURI,问题解决。