标签为 "IE" 的存档

只有ie能上网,其他浏览器和软件都不能

只有ie能上网,其他浏览器和软件都不能的解决方法:
以管理员方式打开cmd.exe,运行如下命令:
netsh winsock reset catalog
netsh int ip reset reset.log hit

让被阻止了的svchost.exe进程恢复正常,以解决Windows 7 通信端口初始化失败的问题  

netsh winsock reset catalog

netsh winsock reset catalog

 

Read more…

php header ie/chrome 下载-文件名乱码-解决方案

通过php的header函数,来指定为文件下载流,可以让文件正常下载,但是,文件名确很让人烦恼,文件名有中文时,如果页面编码为utf8,当文件名也为utf8时,在chrome下正常,但是在360se或者IE下,就成了乱码了;如果把文件名的编码设置为GBK,在IE下输出时候的文件名正常了,但是在chrome下,文件名又乱码了,这个太纠结了。
抓包的话,能看到如下的数据流,仔细看看,感觉跟发送邮件时的数据流很相似,于是想想是不是也采用跟邮件似的文件流形式,来避免出现乱码。
HTTP/1.1 200 OK
Date: Mon, 08 Oct 2012 17:32:12 GMT
Content-Length: 204
Content-Disposition: attachment; filename=%E6%B5%8B%E8%AF%95.txt
Cache-Control: public
Content-Type: application/octet-stream
Connection: Close

所以做法就是把文件名进行编码,根据RFC 1738 ,把中文编码,再放到数据流里,输出的时候就会正常了。在php中,具体的做法就是这样了,贡献一个我自己的文件下载头信息。把这个放在前边,再在后边echo输出你希望下载的内容即可了。

        $name = rawurlencode($filename);
        header("Content-type: text/plain; charset=utf-8");
	header("Content-Type: application/force-download");  
	header("Content-Type: application/octet-stream");  
	header("Content-Type: application/download");  
	header('Content-Disposition:inline;filename="'.$name.txt.'"');  
	header("Content-Transfer-Encoding: binary");  
	header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");  
	header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");  
	header("Cache-Control: must-revalidate, post-check=0, pre-check=0");  
	header("Pragma: no-cache");  

关于event兼容mozilla firefox的问题 event is not defined

火狐下使用 event.srcElement 时候,被提示 event is not defined,但是在IE下确是好的。这是由于不兼容引起的,火狐下可以用event.target来替代 event.srcElement ,如果要做到两者兼容,可用如下语句:

obj = event.srcElement ? event.srcElement : event.target;

这样浏览器会自己选择适合的语句来进行调用。
Read more…

火狐下innerText兼容问题

火狐下innerText不起作用,是因为火狐下没有innerText这个属性,火狐下对应的是textContent,所以可以用此语句来进行兼容:

if(navigator.appName.indexOf("Explorer") > -1)
        document.getElementById("id").innerText = "contenttext";
else
         document.getElementById("id").textContent = "contenttext";

另外,火狐和IE均有 innerHTML 属性,所以如果可以的话,使用innerHTML属性也可以起到兼容作用。
Read more…

火狐 getyear 数据格式

火狐下使用getyear时,得到不是正常格式的 2011 数据,是一个比较小的数,加上1900就是正常的年份。这也是和IE的兼容性问题,解决办法也很多。
首先是判断得到的数据,决定是否加上1900:

year = (year < 1900) ? (1900 + year) : year;

其实更简单的是可以用getfullyear()或者getUTCFullYear()来替代即可。