火狐和IE下JS兼容问题,火狐下出错

以下是代码,以前在网上找的一个select弹出层选择 option的代码,在IE下有效,在火狐下 点击后没反应

在错误控制台里 提示 oInput is null

求解

window.onload = function ()
{
var oDemo = document.getElementById("demo");
var oInput = document.getElementById("UnderWrite");
var oDropbox = document.getElementById("dropbox");
var aA = oDropbox.getElementsByTagName("a");
var oClose = document.getElementsByTagName("em")[0];
alert(oInput);
var i = 0;
oInput.onclick = function (event)
{
$("#dropbox").fadeIn(200);
oDropbox.style.top = oDemo.offsetHeight + "px";
oDropbox.style.left = oInput.offsetLeft + "px";
oDropbox.style.width = oInput.clientWidth - 10 + "px";
(event || window.event).cancelBubble = true;
};
for (i = 0; i < aA.length; i++)
{
aA[i].onclick = function (event)
{
oInput.value = this.innerHTML;
$("#dropbox").fadeOut(200);
// (event || window.event).cancelBubble = true; //取消变量累加
};
}
oDropbox.onclick = function (event)
{
(event || window.event).cancelBubble = true;
};
document.onclick = oClose.onclick = function ()
{
$("#dropbox").fadeOut(200);
};
};

你的UnderWrite元素定义是怎么写的?
如果是用id="UnderWrite" 那不应该为null
如果是用name="UnderWrite",可能不行追问

Name和ID都为 UnderWrite

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-09-04

 造成IE和其它浏览器崩溃的原因是很多的,像IE组件被破坏,或者硬件设备不支持物理加速等,都可能造成浏览器的异常崩溃,这个必须要找到原因手动
才容易修复,否则的话,手动修复是很麻烦的,建议你可以使用电脑管家电脑诊所提供的专业方案,一键就可以解决问题



附:手动修复步骤(来源:腾讯电脑管家电脑诊所,自动修复请点击上方的【立即修复】)
方案一:清除IE缓存
1. 打开IE浏览器→点击【工具】→ 【Internet 选项】→【删除】:


2. 勾选所有选项→点击【确定】→ 在确认窗口中点击【确定】(如使用其他浏览器,请用类似方法清除浏览器缓存)



方案二:注册IE组件
点击【开始】菜单→在搜索框中输入"cmd"→按键盘enter(回车)键:
在弹出的黑色窗口中,按顺序输入以下内容,按键盘enter(回车)键,再逐一完成以下全部部件注册:



  regsvr32 atl.dll
  regsvr32 shdocvw.dll
  regsvr32 urlmon.dll
  regsvr32 browseui.dll
  regsvr32 oleaut32.dll
  regsvr32 shell32.dll
  regsvr32 jscript.dll
  regsvr32 vbscript.dll
  regsvr32 mshtmled.dll
  regsvr32 CLBCATQ.DLL
  regsvr32 cscui.dll
  regsvr32 MLANG.dll
  regsvr32 stobject.dll
  regsvr32 WINHTTP.dll
  regsvr32 msxml3.dll
  regsvr32 query.dll
  regsvr32 jscript9.dll
  regsvr32 hlink.dll


建议点击本回答上侧【立即修复】按钮,使用电脑诊所一键自动完成所有修复步骤。


方案三:修复注册表
1. 点击【开始】菜单→在搜索框中输入"regedit"→按键盘enter键:
2. 定位到\HKEY_ROOT\IE.HTTP\shell ,双击打开右侧【(默认)】将默认值设置为空→点击【确定】:



3. 根据前2个步骤,依次设置如下注册表项
  3.1 . 设置\HKEY_CLASSES_ROOT\IE.HTTP\shell\open\command 默认值为""C:\Program Files\Internet Explorer\iexplore.exe" -nohome "  (64位系统则,设置为"\%ProgramFiles(x86)%\Internet Explorer\iexplore.exe -nohome")(不包括最外层的双引号) 类型为REG_SZ
  3.2. 设置\HKEY_CLASSES_ROOT\IE.HTTP\shell\open\ddeexec 默认值为""%1",,-1,0,,,, "(不包括最外层的双引号) 类型为REG_EXPAND_SZ
  3.3.设置\HKEY_CLASSES_ROOT\IE.HTTP\shell\open\ddeexec\Application 默认值为"IExplore " (不包括最外层的双引号)  类型为REG_SZ 
  3.4.设置\HKEY_CLASSES_ROOT\IE.HTTP\shell\open\ddeexec\Topic 默认值为"WWW_OpenURL" (不包括最外层的双引号)  类型为REG_SZ
  3.5.设置\HKEY_CLASSES_ROOT\http\shell\open\command 默认值为"%programFile%\internet explorer\iexplore.exe -nohome"(64位系统则,设置为"\%ProgramFiles(x86)%\Internet Explorer\iexplore.exe -nohome")(不包括最外层的双引号) 类型为REG_SZ
  3.6. 设置\HKEY_CLASSES_ROOT\http\shell\open\ddeexec 默认值为""%1",,-1,0,,,, "(不包括最外层的双引号) 类型为REG_EXPAND_SZ
  3.7. 设置\HKEY_CLASSES_ROOT\http\shell\open\ddeexec\Application 默认值为"IExplore " (不包括最外层的双引号)  类型为REG_SZ 
  3.8. 设置\HKEY_CLASSES_ROOT\http\shell\open\ddeexec\Topic 默认值为"WWW_OpenURL" (不包括最外层的双引号)  类型为REG_SZ


方案四:调低cookie隐私等级
打开IE浏览器 → 点击【工具】→【Internet 选项】
点击【隐私】→将【选择Internet 区域设置】调为【中】→点击【确定】:



方案五:关闭GPU加速(适用于IE9以上版本)
打开IE浏览器 → 点击【工具】→【Internet 选项】
点击【高级】→勾选【使用软件呈现而不使用GPU呈现*】→点击【确定】:



如果以上诉步骤未能生效,再进入后续步骤:
方案六:重置IE
(说明:如果您使用网络代理或者对浏览器有特殊设置,请保存设置后再进行操作)
打开IE浏览器 → 点击【工具】→【Internet 选项】
点击【高级】→点击【重置】→勾选【删除个性化设置】→点击【确定】→【确定】:



方案七:修复IE浏览器
1. 打开【电脑管家】→选择【软件管理】→点击【软件仓库】→输入"Internet Explorer"开始搜索→点击【修复】(IE8以下的版本可以直接点击【下载】):



2. 安装时根据提示选择【我不想立即参与(O)】→点击【下一步(N)】→点击【我同意(A)】
不勾选【安装更新(I)】→【下一步(N)】→点击【立即重新启动(推荐)(H)】
方案八:安装其他浏览器后设置其他浏览器为默认浏览器
打开电脑管家→点击【软件管理】,在搜索框中输入"谷歌浏览器"→找到软件后点击安装
打开电脑管家→点击【工具箱】,点击【默认程序设置】→在上网浏览器列表中选择【谷歌浏览器】:



注:腾讯电脑管家为IE浏览器出错崩溃问题定制部分修复步骤,因为操作过于繁杂,故未全部列出。若问题仍未解决,建议点击本回答上侧的【立即修复】按钮,进行深度修复。
以后有问题,欢迎来企业平台询问

本回答被网友采纳
第2个回答  2011-12-12
把整个文档发过来,我帮你看看。greyman@qq.com

火狐和IE下JS兼容问题,火狐下出错
造成IE和其它浏览器崩溃的原因是很多的,像IE组件被破坏,或者硬件设备不支持物理加速等,都可能造成浏览器的异常崩溃,这个必须要找到原因手动才容易修复,否则的话,手动修复是很麻烦的,建议你可以使用电脑管家电脑诊所提供的专业方案,一键就可以解决问题 附:手动修复步骤(来源:腾讯电脑管家电脑诊所,自...

为什么我的这段js不兼容火狐...急!在线等...
首先确定下载正常IE下能否运行。如果真的是在IE下正常,而在FF下不对,那么可能是你调用时的问题了 注意非IE浏览器 只可能通过 document.getElementById来获取对像。看看你在调这个函数时是否是用expandIt(对像ID名),这个就不对了,正确标准的写法是 expandIt(document.getElementById('对像ID名'))...

js 倒计时兼容问题,火狐和IE不兼容,怎么改呢??
您的代码不是兼容问题,而是您设定时间值的方式错误。正确写法:var EndTime= new Date('Sun Mar 01 2015 23:56:12 GMT+0800'); \/\/截止时间 而您的写法显然有点想当然了,请修正。如果对我们的回答存在任何疑问,欢迎继续问询。

为什么我写的js在ie下能用,在火狐下不能用呢?
你是否考虑学习最新的js及其框架,重新学习下DOM文档对象模型。以前学习的js大多主要针对ie浏览器,忽略了其它浏览器的存在,那时的js其实多半是偏向ie的,并非标准写法!就如同一个网站收藏的功能,就算现在在网上搜索,几乎都只能在ie中起作用,在火狐中这个收藏功能就没用了!

自己写的网页在IE和谷歌上都能正常显示,在火狐上就不能正常显示了,这是...
您好!很高兴为您答疑。您所说的情况叫做兼容问题。此类兼容问题一般分2种。1是样式兼容,1是js脚本兼容。您的情况有可能兼有这2种情况。一般的做法是使用火狐浏览器的元素查看器,通过分析元素的嵌套关系,分析出究竟是哪个层级的样式导致的显示异常,然后基于此进行修复。如果对我们的回答存在任何疑问,...

js问题用火狐打开报错:“uncaught exception: Syntax error, unrecognize...
js问题用火狐打开报错:“uncaught exception: Syntax error, unrecognized expression: +“,是设置错误造成的,解决方法如下:1、首先打开火狐浏览器,到工具=》附加组件页,搜索“noscript”并安装,如下图。2、安装完后,需重启一下浏览器。3、重启完后,打开百度,此时noscript自动运行了,它会自动...

火狐下载时怎么出现javascript错误啊,我该怎么办??
这个应该不是火狐的问题吧,或许是你下载东西的网页不兼容火狐。或者是你的浏览器被劫持了,也可能会出现这个问题。不知道你说的JS错误是指在左下角状态栏出现的一个黄色感叹号还是指跳出了脚本错误。

js在火狐里不能执行
IE也遵循W3C标准,但IE本身容错性极强。在IE里,假如一个控件的ID命名为“A”,那么在IE里用JS访问A,只需要“document.A”就可以了;但在火狐里不行,需要这样访问“document.getElementById(A)”。火狐的写法是标准的,在IE里也可以执行。建议查看JS的写法,使用标准的写法来写。

js不兼容火狐浏览器,求指点
您好,感谢您对火狐的支持 代码写的不严谨,到了火狐里,不光读出来的是"100px",写的时候,也必须是document. getElementById('div').style.height='100px';这样才能有效果。您可以在火狐官方网站下载火狐浏览器,在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询...

js在火狐浏览器下的兼容性问题,这个JS下拉导航菜单在火狐浏览器下不起...
讨厌修改。给你一个自己看吧,兼容IE678,火狐,谷歌,苹果,<!DOCTYPE html PUBLIC "-\/\/W3C\/\/DTD XHTML 1.0 Transitional\/\/EN" "http:\/\/www.w3.org\/TR\/xhtml1\/DTD\/xhtml1-transitional.dtd"> 二级dropdown弹出菜单--A CROSS BROWSER DROP DOWN CASCADING VALIDATING MENU \/* common styl...

相似回答
大家正在搜