昨天在调用一段外部js时候IEtester的IE6模式报错。说某函数is undefined。可是其他的浏览器均正常,最后终于发现是编码问题,使用文本文档令存为的时候选择一下与网页相符的编码就解决问题了。这个以后要注意了~
下面是网上搜集的一些相关资料。
解决“引入JS文件IE6报错”的问题
问题描述:页面引入一个js文件,其中定义了函数或对象,然后在页面中调用函数或对象时,在IE6会报“语法错误”或“缺少对象”。在IE6+或者IE7却运行正常。
问题分析:这个对象在引入的JS文件中是存在的,因为在IE6+以上的浏览器都可以正常运行。这个问题在于文件编码上,如果JS文件编码与当前页面的编码不一致,就可能导致在IE6中页面不能正常获取和解析JS文件中的内容,在IE6中,默认引入的文件和页面的编码是一致的。在IE6+以上的浏览器中,一般浏览器会自动识别每个外部文件的编码并进行解析;
问题解决:
一:引入js文件时加charset属性,保持与页面编码一致;
二:修改引入文件编码格式;
三:新建一个文件格式同页面编码格式一致,复制粘贴内容;
(个人建议第三种方法,但建议在导入js时加上charset属性!)
今天发现一个奇怪的问题,
在jsp页面引用的js文件里面的方法 ,都报找不到对象的错误。
js在 引用也正常。就是找不到对象。。。。。。。。。。。。。。。。。。。
ie6下不行。
其他正常。
这个文件包含在jsp文件中
jsp页面:
<script src="/cn/js/search.js" type="text/javascript"
language="jscript.encode"></script>
感谢ITEYE shixiaomu
http://shixm.iteye.com/blog/642891
分享到:
相关推荐
`document.getElementById`是一个JavaScript内置方法,用于根据指定的ID从文档中获取元素。在大部分情况下,这个方法在所有现代浏览器中都能正常工作,但在一些旧版本或特定浏览器中可能会出现不一致的行为。例如,...
在Vue框架下,开发者可能会遇到使用`document.getElementById()`方法时,获取到的是旧页面的DOM元素值的问题。这一现象通常发生在页面通过路由进行切换时,尽管DOM结构已经发生了变化,但是通过该方法仍然获取到了...
document.getElementById()对象和使用方法
### JS中关于`document.all`的详解 #### 一、`document.all`简介 `document.all` 是一个只读属性,它返回一个包含文档中所有元素的类数组对象。这个特性最初是为 Internet Explorer 设计的,并且在早期版本的 IE 中...
`TypeError: document.getElementById(...) is null` 是一个常见的JavaScript错误,通常出现在尝试访问一个尚未加载或者不存在于DOM(文档对象模型)中的元素时。这个错误表示`document.getElementById`方法未能找到...
9. 在处理JavaScript报错问题时,除了检查文档类型声明,还需要确保引用外部JavaScript文件时页面已加载完成。有时候需要在JavaScript文件加载完成后刷新页面,以确保脚本正确执行。 10. 由于技术原因,如OCR扫描...
在上述问题中,主要讨论了如何正确地使用 `document.getElementById` 方法来获取页面中的元素对象,特别是在页面加载过程中的时机问题。 首先,`document.getElementById` 是JavaScript中的一个函数,它用于根据...
需要注意的是,当name相同且存在多个元素时,`document.all`将返回一个类似数组的对象,此时直接使用`document.all.aaa.value`会报错,因为`document.all.aaa`实际上是一个对象而非单个元素。 #### 案例2:处理重复...
document.getElementById为null 原因: var titab=document.getElementById(“titletab”);没有取到对象 解决办法: 1.在错误语句的下面加上alert(titab);调试语句,看看是否有消息框弹出 2.如果没有弹出,检查...
当你尝试使用 `document.getElementById` 方法获取一个HTML元素时,如果该元素在当前文档中不存在,JavaScript 将抛出 `TypeError: document.getElementById(...) is null` 的错误。这个错误意味着你试图访问的ID...
document.all是IE 4.0及以上版本的专有属性,是一个表示当前文档的所有对象的娄组,不仅包括页面上可见的实体对象,还包括一些不可见的对象,比如html注释等等。在document.all数组里面,元素不分层次,是按照其在...
【要点】document.getElementById方法在Firefox与IE中的区别。 如下,有一name=”txtVersion”的text控件: 代码如下: <div> <input type=”text” name=”txtVersion” size=”15″ value=”Version” maxlength=...
^) 但是对于document.getElementsByName 与document.getElementById 这个两个方法,IE中是并没有严格区分 ID 与 Name 的,比如: [removed] function useGetElementsByNameWithId(id) { var eles = d
① document.getElementById 有时会抓name放过了id ,据说是IE的一个BUG; http://community.csdn.net/Expert/topic/4223/4223888.xml?temp=.1947443 页面中有 程序代码 <input type=”hidden” id=”hello8...
onload = function ( ) { formNode = document . getElementById ( 'form' ) ; submitButtonNode = document . getElementById ( 'submit' ) ; nameInputNode = document . getElementById ( 'name' ) ; ...
在现代Web开发中,更推荐使用`document.getElementById()`, `document.getElementsByClassName()`, `document.getElementsByTagName()`或`document.querySelector()`等标准方法,这些方法在所有现代浏览器中都有良好...
在讨论原生JavaScript(简称js)操作复选框(checkbox)时,常用的方法包括使用document.getElementById()函数来获取特定ID的DOM元素,并操作其checked属性来控制复选框的选中状态。这种方法相较于使用jQuery库中的...