[转]IE Javascript 脚本失效解决办法
Technorati 标签: 电脑相关
原文地址:http://www.playes.net/Blog/535.asp
IE 浏览器的脚本失效是个源远流长的问题了,有时撞上了那也只能归结于缘分,完全没得解释。这次本人就是中大彩的缘分,被小小地撞了一下腰。
当然脚本失效也有轻重,有时是页面全部烂晒,图片文字全部显示错位,惨不忍睹,其实坏的这么彻底反倒容易发现问题,也容易解决。最怕就是那种大问题没有小问题不断的情况,像我,基本的脚本效果都支持,就是用到调用 window.opener 的函数方法时报错:类不能支持 Automation 操作。这么具体的出错信息在 Baidu/Google 也找不到什么有用信息,可谓万念俱灰。
严格来说已经很难说是 IE 的错,但按照经验通常你对 IE 进行折腾,例如 IE6 升到 IE7/IE8,或重装,不同程度的第三方软件的修复,一般都不能解决问题。如果一定需要一个理由,应该是在某年某日中了某个木马升级了某个补丁或者卸载某个软件,而导致某个组件某个动态扩展被反注册掉而无法支持某种效果……
说到这里,要说说 regsvr32 命令,是一个注册 DLL 动态扩展库的命令行工具。方法:在“运行”里面输入regsvr32 dllname,回车即可。使用上有几个参数:
/u——反注册控件
/s——不管注册成功与否,均不显示提示框
/c——控制台输出
/i——跳过控件的选项进行安装(与注册不同)
/n——不注册控件,此选项必须与/i选项一起使用
从网上摘录了几个解决 IE Javascript 脚本失效的办法,逐步执行,前面不行了才执行后面的,机器无须重启的。
最简单的级别,注册两个脚本库(如上文页面完全烂晒的情况):
regsvr32 jscript.dll
regsvr32 vbscript.dll
如果还不行,再注册多几个(包括连接无法打开新窗口等):
regsvr32 Shdocvw.dll
regsvr32 Oleaut32.dll
regsvr32 Actxprxy.dll
regsvr32 Mshtml.dll
regsvr32 Urlmon.dll
regsvr32 browseui.dll
如果还不行,把以下代码复制到 CMD 命令行里面粘贴执行:
rundll32.exe advpack.dll /DelNodeRunDLL32 %systemroot%\System32\dacui.dll
rundll32.exe advpack.dll /DelNodeRunDLL32 %systemroot%\Catroot\icatalog.mdb
regsvr32 /s comcat.dll
regsvr32 /s asctrls.ocx
regsvr32 /s oleaut32.dll
regsvr32 /s shdocvw.dll /i
regsvr32 /s shdocvw.dll
regsvr32 /s browseui.dll
regsvr32 /s browseui.
相关文档:
<script >
function showimage()
{
//IMG1为图片控件或Div,File1为上传文件控件
document.getElementById("IMG1"). src = document.getElementById("File1").value;
}
</script >
控件中引用:
<input id="File1" runat="server" type="file" onc ......
1) 为什么加载javascript文件很重要?
javascript文件是比较特殊的,因为浏览器加载javascript是串行的。以为着在加载Javascript文件的时候,其他一切资源的下载包括页面的显示都会被阻塞。
2) 如何正确的加载JavaScript?
a. 将JavaScript文件放在页面的最后
因为JavaScript的加载会阻塞页面的显示,所以将JavaScrip ......
平时我们有可能遇到需要把网站中的数字(通常是价格)用一种统一的方式显示出来,比如每隔3个字符加一个空格。如果数值比较大的话这种方法很有利于用户阅读。
用XSLT的朋友可能知道在XSL中可以用如下代码实现
<xsl:decimal-format name="currency" decimal-separator="." grouping-separator=" "/>
今天研究了一下 ......
1: 遍历并输出Table中值
<table id="tb">
<tr>
<td></td>
</tr>
<tr>
<td></td>
</tr>
</ ......
1.大家在实际工作中,会写各式各样的赋值语句。
比如最常用的obj.style.display = "none";
如果这样的赋值语句一多,obj.style一排下来都要看晕了
下面我的base.js中的extend函数可以允许用json格式赋值属性甚至是函数句柄
/**
* 扩展函数
* @param target 需要扩展的对象
* @para ......