标签:ie

浏览模式: 标准 | 列表 | 图文
vue in ie11

vue in ie11

几个小问题记录一下

1、如果IE11打不开F12控制面板,可能是因为你是从win7的IE8升上来的,如果是这样,下载这个更新包:
Install the latest cumulative IE update :

http://www.microsoft.com/en-us/download/details.aspx?id=45134 (32 bit)
http://www.microsoft.com/en-us/download/details.aspx?id=45154 (64 bit)
2、在IE11下面你会发现VUE居然不解析,报错内容是说:mount(){ 这一行缺少;,这个在官方论坛里介绍,IE11不认这种语法简写,还是乖乖的用mount:function(){}这种写法吧。同理。如果你的函数在methods中也是 a(){},b(){}这样写的。乘早换成a:function(){},b:function(){}吧
记录一下,不然的话,虽然 说VUE支持IE9+,但你在IE11下也不正常。。。
即使微软说未来EDGE要换chrome的核心,但老机器 怎么办啊!!XP最高只支持IE8好象。希望我都是接一些高端点的活(如果钱给够,IE8我也可以吐血支持)
IE中的URL最大长度限制

IE中的URL最大长度限制

今天又遇到了这个问题,以前其实是知道的。IE下的cookie长度和firefox下不一样。GET的长度也不样。
但我在记忆中一直是当成4096来处理的。看来我脑子里想的更多的都是firefox或者chrome,今天遇到某些信息不能显示的时候,又想起这个问题。才发现:
原文:http://blog.csdn.net/tuwen/article/details/5257154

看见很多朋友讨论浏览器最大URL长度限制的问题。其实实际中URL长度限制是由2方面决定的。1 客户浏览器 2 接受服务请求的服务器端的设置。对于大多数用户来说,他们使用的浏览器是IE浏览器,IE的最大URL长度限制是2083字节,而实际可以使用的最大长度 为2048字节。

以下是微软方面的技术资料及翻译:
Maximum URL length is 2,083 characters in Internet Explorer
在IE中URL最大长度是2083字节
SUMMARY
摘要
Microsoft Internet Explorer has a maximum uniform resource locator (URL) length of 2,083 characters.
微软 Internet Explorer 限制最大统 一资源定位器 (URL) 长度为2083字节。
Internet Explorer also has a maximum path length of 2,048 characters. This limit applies to both POST
request and GET request URLs.
Internet Explorer 对最大请求路径长度也进行了限制,限制长度为2048字节。这个限制对 POST 请求和 GET 请求的URL均适用。
If you are using the GET method, you are limited to a maximum of 2,048 characters, minus the number of characters in the actual path.
如果您使用GET方法,您将受到最大2048字节的长度限制,减去实际路径中的字符数。
(注:实际可以使用的字符串长度=2048-请求页面路径字符长度)
However, the POST method is not limited by the size of the URL for submitting name/value pairs. These pairs are transferred in the header and not in the URL.
但是, POST 方法提交名称 / 值对不受 URL 长度的大小的限制。 因为这些名 / 值对是在请求中的header部分传输的,而不在URL中。
RFC 2616, "Hypertext Transfer Protocol -- HTTP/1.1," does not specify any requirement for URL length.
RFC 2616、 " 超文本传输协议 -- HTTP /1.1, " 未指定任何对 URL 长度要求。
由此文大家可以知道,实际在IE中可以使用的最大URL长度是2048字节减去您请求页面的路径长度。另外这个长度还受到服务端相应软件的限制。

--------------------
关于cookie,可以看一下:
Cookie常识
“同名Cookie”的分析
cookie,又见cookie

Firefox4来袭

Firefox4来袭

Firefox4如期来袭,你们准备好了吗?IE9,你在哪里?chrome 100你在哪里(没打错哦,chrome的版本升的太快了。。。)?Safari6?opera 11?

好了不多说了,今天上午就有传闻是FTP中可以下载了,早期还是有人可以下载得到的,但后来的人打开时都显示550 permisson denied。如今到了晚上,终于正式放出来了。

FF4给大家带来了什么 ?更小的内存占用?更漂亮的UI界面?还是更快的速度?估计大家都在折腾了,但是对我来说,大量的插件还没有升级上去,是让我们非常痛苦的事情。
好吧,不说废话了,去下载吧:http://www.mozilla.com/en-US/firefox/new/

顺便:FF可以直接点check for update就可以升级了啦。无需单独下载

不同浏览器对回车提交表单的处理办法

不同浏览器对回车提交表单的处理办法

不知道你是否注意过,在firefox或者Chrome下面,即使没有定义input type=submit,只要点击任何一个button,都能触发form 的submit事件,这是为什么呢?
看看这篇文章吧,介绍的有点详细,把它留下来是因为我一向属于知其然不知其所以然,只知道问题所在,和如何解决,从来不深究它的内涵,这也是我为什么水平上不去的原因。。。所以,不要学我,还是看完这篇文章吧。。。虽然不一定详细,但毕竟知其一部分所以然了。

原文来自:不同浏 览器对回车提交表单的处理办法
内容如下:

  在浏览器中填写表单的时,可以直接在“文本框”中敲击“Enter”来提交表单,很是方便。条件是:

  • 在IE和Firefox下

1、<form>属性的“action”字段必填;

2、有一个type="submit"的“input”。

  • 在Chrome和Safari下 满足第一条即可。(注释1)

  所以,如果要控制提交行为的话(比如,提交前检查必填项是否已填),可以在type="submit"的“input”后添加 Javascript“onXXX(比如onClick)”事件。而如果需要用异步交互来检测相关字段,则无效了。因为return false是作为onreadystate=的子函数,并不能控制全局。这时就需要用到<form>的 “onsubmit”属性(注释2)。比如:

HTML

<form name="form1" id="form1" action="act.php" method="post" onsubmit="myfn();return false;">
  • myfn()是自己定义的函数:无论通过什么办法 (比如敲击“enter”或点击type="submit"(而不是type="button")的“input”按钮)提交,都会触发这个这个函数。于 是,大可不必再在type="submit"的“input”后添加Javascript事件“onXXX”了。直接在“onsubmit”中控制,更直 观与统一,除非有意控制提交方式(是onClick还是什么)。
  • return false位于末尾,表示不提交本表单。提交表单的字句document.form1.submit()可以作为myfn()的一个选择条件的分支。

总结:

  这样,<form>有“action”和“onsubmit”属性,有type="submit"的“input”的提交按钮后, 就可以在任何浏览器下(不行吗?请给我反馈)实现使用“Enter”键和鼠标都可以对表单的相关字段进行异步(Ajax)和同步(单纯的 Javascript)检查并予以提交。

其他:

1、如果使用type="button"来异步检测相关字段呢?

  这样,这个“input”必须得有一个事件触发器。在IE和FF下,无法直接在文本框中按下“Enter”来提交表单。如果要的话,需要使用额 外的函数来监听用户按下了什么,给出一个怎样的反映(注释3)。更糟糕的是,在Ch和Sa下,会忽略是否有type="submit"按钮,而直接根据 “action”属性来提交表单,如此以来,便无法实现预期的检测,可能还有更麻烦的后果。

2、如果不写“action”属性,直接异步提交表单呢?

  这样,通过异步的方式提交表单,而不仅仅是检测,这个属性则没有必要。而且还是多余。假如这样能提供更好的用户体验,何乐而不为呢?呵呵。

【参考】

1 在IE8,FF,Ch中测试有效。Opera和Sa没有测试。参考了这篇文章(http://tieba.baidu.com/f?kz=669494938)

2 这篇文章(http://blog.csdn.net/xiewhenwe/archive/2009/11/08/4785469.aspx) 给了我借鉴

3 参考我以前的文章(http://www.cnblogs.com/lamper/archive/2010/02/06/1665117.html)

IE和FF下JS的不同点(更详细)

IE和FF下JS的不同点(更详细)

在这里,http://www.neatstudio.com/show-52-1.shtml,我也曾转载过关于IE和Firefox下event的处理,只是今天的内容会更全一些

一、document.formName.item("itemName") 问题
问题说明:IE下,可以使用 document.formName.item("itemName") 或 document.formName.elements ["elementName"];Firefox 下,只能使用document.formName.elements["elementName"]。
解决方法:统一使用document.formName.elements["elementName"]。


二、集合类对象问题
问题说明:IE下,可以使用 () 或 [] 获取集合类对象;Firefox下,只能使用 [ ]获取集合类对象。
解决方法:统一使用 [] 获取集合类对象。


三、自定义属性问题
问题说明:IE下,可以使用获取常规属性的方法来获取自定义属性,也可以使用 getAttribute() 获取自定义属性;Firefox下,只能使用 getAttribute() 获取自定义属性。
解决方法:统一通过 getAttribute() 获取自定义属性。


四、eval("idName")问题
问 题说明:IE下,可以使用 eval("idName") 或 getElementById("idName") 来取得 id 为 idName 的HTML对象;Firefox下,只能使用 getElementById("idName") 来取得 id 为 idName 的HTML对象。
解决方法:统一用 getElementById("idName") 来取得 id 为 idName 的HTML对象。


五、变量名与某HTML对象ID相同的问题
问题说明:IE下,HTML对象的ID可以作为 document 的下属对象变量名直接使用,Firefox下则不能;Firefox下,可以使用与HTML对象ID相同的变量名,IE下则不能。
解决方法:使用 document.getElementById("idName") 代替 document.idName。最好不要取HTML对象ID相同的变量名,以减少错误;在声明变量时,一律加上var关键字,以避免歧义。


六、const问题
问题说明:Firefox下,可以使用const关键字或var关键字来定义常量;IE下,只能使用var关键字来定义常量。
解决方法:统一使用var关键字来定义常量。


七、input.type属性问题
问题说明:IE下 input.type 属性为只读;但是Firefox下 input.type 属性为读写。
解决办法:不修改 input.type 属性。如果必须要修改,可以先隐藏原来的input,然后在同样的位置再插入一个新的input元素。


八、window.event问题
问题说明:window.event 只能在IE下运行,而不能在Firefox下运行,这是因为Firefox的event只能在事件发生的现场使用。
解决方法:在事件发生的函数上加上event参数,在函数体内(假设形参为evt)使用 var myEvent = evt?evt:(window.event?window.event:null)
示例: <input type="button" onclick="doSomething(event)"/>
<script language="javascript">
function doSomething(evt) {
var myEvent = evt?evt:(window.event?window.event:null)
…
}

九、event.x与event.y问题
问题说明:IE下,even对象有x、y属性,但是没有pageX、pageY属性;Firefox下,even对象有pageX、pageY属性,但是没有x、y属性。
解决方法:var myX = event.x ? event.x : event.pageX; var myY = event.y ? event.y:event.pageY;
如果考虑第8条问题,就改用myEvent代替event即可。


十、event.srcElement问题
问题说明:IE下,even对象有srcElement属性,但是没有target属性;Firefox下,even对象有target属性,但是没有srcElement属性。
解决方法:使用srcObj = event.srcElement ? event.srcElement : event.target;
如果考虑第8条问题,就改用myEvent代替event即可。


十一、window.location.href问题
问题说明:IE或者Firefox2.0.x下,可以使用window.location或window.location.href;Firefox1.5.x下,只能使用window.location。
解决方法:使用 window.location 来代替 window.location.href。当然也可以考虑使用 location.replace()方法。


十二、模态和非模态窗口问题
问题说明:IE下,可以通过showModalDialog和showModelessDialog打开模态和非模态窗口;Firefox下则不能。
解决方法:直接使用 window.open(pageURL,name,parameters) 方式打开新窗口。
如 果需要将子窗口中的参数传递回父窗口,可以在子窗口中使用window.opener来访问父窗口。如果需要父窗口控制子窗口的话,使用 var subWindow = window.open(pageURL,name,parameters); 来获得新开的窗口对象。


十三、frame和iframe问题

以下面的frame为例:
<frame src="http://www.devdao.com/123.html" id="frameId" name="frameName" />
(1)访问frame对象
IE:使用window.frameId或者window.frameName来访问这个frame对象;
Firefox:使用window.frameName来访问这个frame对象;
解决方法:统一使用 window.document.getElementById("frameId") 来访问这个frame对象;
(2)切换frame内容
在 IE和Firefox中都可以使用 window.document.getElementById("frameId").src = "devdao.com.html"或 window.frameName.location = "devdao.com.html"来切换frame的内容;
如果需要将frame中的参数传回父窗口,可以在frame中使用parent关键字来访问父窗口。

十四、body载入问题
问题说明:Firefox的body对象在body标签没有被浏览器完全读入之前就存在;而IE的body对象则必须在body标签被浏览器完全读入之后才存在。
[注] 这个问题尚未实际验证,待验证后再来修改。
[注] 经验证,IE6、Opera9以及FireFox2中不存在上述问题,单纯的JS脚本可以访问在脚本之前已经载入的所有对象和元素,即使这个元素还没有载入完成。


十五、事件委托方法
问题说明:IE下,使用 document.body.onload = inject; 其中function inject()在这之前已被实现;在Firefox下,使用 document.body.onload = inject();
解决方法:统一使用 document.body.onload=new Function(’inject()’); 或者 document.body.onload = function(){/* 这里是代码 */}
[注意] Function和function的区别


十六、访问的父元素的区别
问题说明:在IE下,使用 obj.parentElement 或 obj.parentNode 访问obj的父结点;在firefox下,使用 obj.parentNode 访问obj的父结点。
解决方法:因为firefox与IE都支持DOM,因此统一使用obj.parentNode 来访问obj的父结点。


十七、cursor:hand VS cursor:pointer
问题说明:firefox不支持hand,但ie支持pointer ,两者都是手形指示。
解决方法:统一使用pointer。


十八、innerText的问题.
问题说明:innerText在IE中能正常工作,但是innerText在FireFox中却不行。
解决方法:在非IE浏览器中使用textContent代替innerText。
示例: if(navigator.appName.indexOf("Explorer") >-1){
document.getElementById(’element’).innerText = "my text";
} else{
document.getElementById(’element’).textContent = "my text";
}
[注] innerHTML 同时被ie、firefox等浏览器支持,其他的,如outerHTML等只被ie支持,最好不用。


十九、对象宽高赋值问题
问题说明:FireFox中类似 obj.style.height = imgObj.height 的语句无效。
解决方法:统一使用 obj.style.height = imgObj.height + ‘px’;


二十、Table操作问题
问题说明:ie、firefox以及其它浏览器对于 table 标签的操作都各不相同,在ie中不允许对table和tr的innerHTML赋值,使用js增加一个tr时,使用appendChild方法也不管用。
解决方法: //向table追加一个空行:
var row = otable.insertRow(-1);
var cell = document.createElement("td");
cell.innerHTML = "";
cell.className = "XXXX";
row.appendChild(cell); [注] 由于俺很少使用JS直接操作表格,这个问题没有遇见过。建议使用JS框架集来操作table,如JQuery。


二一、ul和ol列表缩进问题
消除ul、ol等列表的缩进时,样式应写成:list-style:none;margin:0px;padding:0px;
其中margin属性对IE有效,padding属性对FireFox有效。← 此句表述有误,详细见↓
[注] 这个问题尚未实际验证,待验证后再来修改。
[注] 经验证,在IE中,设置margin:0px可以去除列表的上下左右缩进、空白以及列表编号或圆点,设置padding对样式没有影响;在 Firefox 中,设置margin:0px仅仅可以去除上下的空白,设置padding:0px后仅仅可以去掉左右缩进,还必须设置list- style:none才 能去除列表编号或圆点。也就是说,在IE中仅仅设置margin:0px即可达到最终效果,而在Firefox中必须同时设置 margin:0px、 padding:0px以及list-style:none三项才能达到最终效果。


二二、CSS透明问题
IE:filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=60)。
FF:opacity:0.6。
[注] 最好两个都写,并将opacity属性放在下面。


二三、CSS圆角问题
IE:ie7以下版本不支持圆角。
FF: -moz-border-radius:4px,或者-moz-border-radius-topleft:4px;-moz- border- radius-topright:4px;-moz-border-radius-bottomleft:4px;-moz- border- radius- bottomright:4px;。
[注] 圆角问题是CSS中的经典问题,建议使用JQuery框架集来设置圆角,让这些复杂的问题留给别人去想吧。
关于CSS中的问题实在太多了,甚至同样的CSS定义在不同的页面标准中的显示效果都是不一样的。更多的知识请参考devdao.com的文章。一个合乎发展的建议是,页面采用标准DHTML标准 编写,较少使用table,CSS定义尽量依照标准DOM,同时兼顾IE、Firefox、Opera等主流浏览器。BTW,很多情况下,FF和 Opera的CSS解释标准更贴近CSS标准,也更具有规范性。

虽然我对knowsky网站上的广告颇有微词,但这并不妨碍他上面的文章。原文如下:http://www.knowsky.com/536615.html,估计也是转载来的,因为我看到里面有一些排版内容有变化。

暴风影音引发的flash不能显示等故障

暴风影音引发的flash不能显示等故障

同事的IE最近频出问题,FLASH不能显示,而且右键也不能查看源代码了。
对于一名WEB开发人员,FLASH可以不看,但,源代码不看就肯定不行了。

死活想改设置,但结果都以失败而告终。开始以为是IE6坏了,后来,升级到IE7,发现正常了。。忒开心啊。结果,重启电脑又不正常了。
然后又以为是httpwatch的问题,又卸载,又重装最新版。结果也是一重启就不正常。

当时他郁闷的直想砸电脑啊。
然后他开始尝试调整IE的设置,却发现IE的临时文件夹显示为空,而且即使要指定到某个文件夹时,也提示磁盘空间不足等信息。
本着外事不决问google,内事不决问百度的心里,打开百度,把出错信息输入百度,发现了一条来自于暴风影音官网论坛的回复:

安装暴风影音3.0后,“Internet 临时文件”大小为0,更改其大小时,系统提示“请选择介于0-1之间的值,这是Internet 临时文件的大小”。也无法移动文件夹。升级为IE7后“internet临时文件”大小仍然为0 也不能更改其大小。提示“请选择一个介于8-8之间的值用作Internet 临时文件使用的磁盘空间大小”。设置成8,再次查看时,仍为0。移动文件夹时提示“新位置的空间不足,无法放置当前下载内容。”
将暴风影音3.0卸载后就正常。

按照此人的说法,同事卸载了暴风影音。果然,世界清静多了。。。。
当然,同事被我鄙视了N久,啥不能用啊,偏要用暴风。哈哈。。。。

我也做个备份,如果有人找我弄计算机,我也可以知道问题所在。

IE8来带的困惑:很遗憾,我没有升级到IE8

当然,这不是我说的话,不过,要是我说的话,我也不会升级到IE8.
身为一名WEB开发人员,要考虑的是使用量最多的浏览器的用户,那,无非就是IE6、IE7和FF、opera等用户了,甚至,chrome我们也无须过多考虑,毕竟这部分的用户太少了,而且即使要考虑也很方便,毕竟除IE外,其他浏览器都是支持W3C标准的。所以,IE8在没有占有市场份额很大前,我也是不会升级的。最多找找那种多浏览器兼容软件进行测试的时候会用用,其他时候,一概不做考虑。

这名作者又是怎么说的呢?让我们来看看:

E8发布以来,在Twitter及不少SNS都收到朋友们的留言,询问我对IE8的评价。我没有升级,也不太愿意升级,只能先求助于他人。无奈,我 目前还真没看到什么让我心动的“评测”,我想,也许是IE8正式版本身并没有带给我们(如果给您惊喜了,请留言告知)太大的惊喜吧。更何况,我很担心安装 好IE8之后,我的那些只能在IE下使用的插件、网站是否能继续正常运转。尤其是看到Fenng的一推(“各位安装了 IE8 不能用支付宝的朋友,别问我了。这事儿我决定不了”),让我还是忍住了没去点击那个已经下载完毕的安装包。

我觉得写一篇不负责任的评测毫无乐趣,而且,IE8也与我毫无吸引之力。作为一个转型回ActionScript开发(是的,AS的世界比Web开 发单纯许多,屁事儿也少很多)的开发者,我对它能多好地支持CSS、JavaScript也基本没有兴趣了(我承认在beta版时曾经很喜欢它的一些创 意,例如Debugger模块和插件开放)。作为一个用户,IE8也没有任何让我升级的理由。对于一个拥有IE6、IE7的用户来说,升级一个IE8甚至 还不如下载一个Chrome的安装包快吧(你比较过么?如果我错了,请留言告诉我测试结果)。IE8的几个新特性,我觉得在其他浏览器中已经全部都具备了。

总之,我没有升级到IE8,而且,如果你平时多用Chrome和Firefox,我觉得也毫无升级到IE8的必要。如果你仍然对IE8究竟是怎么回事充满好奇,可以推荐看看我的一位校友的博客文章(这里)。

评测都是扯淡,让我们用数据说话(为了尽量客观,数据来自Analytics,选自awflasher.com域名下下非技术类文章,如果你好奇具体如何筛选可见此文):

以下是IE8正式发布之后,8.0版本占所有IE浏览器的百分比(占所有浏览器的比比这还要低),这还包括了相当一部分beta版用户(根据这个时间段之前三天的统计,估计能有1.34%左右),也就是说,大多数IE用户并没有太热衷升级到8.0

这是去年9月份Chrome发布时前2天的数据,Chrome已经占到所有浏览器的2.76%了:

当然,IE8的出现如果能进一步消灭IE6用户,我觉得还是颇有意义的(可以为我们Web开发者省很多时间),可是,这件连IE7都没有完成好的任务,IE8真的能做到么?


原文:http://www.awflasher.com/blog/archives/1731
是呀,在这么低的市场份额下,如果我们要考虑兼容,那么付出的代价非常大,而事实上,这部份用户,却大多是WEB开发人员,你说平时一普通人,谁TMD会去升级呀,又要考虑不稳定,说不定连网银也不能用了。你会用吗?

浏览器的战争

浏览器的战争

写这篇文章是在看到CB上有条新闻,搜狗推出了自己的浏览器。
先怀念一下,DOS下的网景。

作为一个网页开发人员,虽然我并非搞设计的,但做出来的页面配合公司的美工同事们,也需要对一个个的页面进行测试,所以电脑里就装了各种各样不同核心的浏览器:IE,firefox,opera,网景,safari,最近的chrome在电脑里也有一席之地

总体来说,基本上就是ie,opera,gekeo,webkit等几个有限的核心,其他的都是在这些内核上套点皮而己

国内,自从最初的myie推出了多TAB的浏览器,就开始一发不可收拾,后来所说myie的作者因与XX功有染,导致没有后续开发,但因为他的思想很先进,代码也开源了,所以从那之后,国内的greenbrowser,myie2(maxthon),the world,tt等浏览器如雨后春笋般的冒了出来,至今也活跃在浏览器的舞台上

再后来,360也出浏览器了,也就是将sandbox和the world进行了整合,今天,又看到说搜狗也出浏览器了。所以就特别的感慨 呀。。。

搜狗,这两年的动作很多,先是输入法,接着又搞这个浏览器了。确实让人大吃一惊。。。。

国外的浏览器市场也是烽烟四起,抛开几个大型公司不谈,N多基于IE的核心的浏览器也是层出不穷,什么avant browser,以前还有日本的sni...(不记得名字了),现在日本的Lunascape5又出来了,居然是三核心。。。

对于这样的纷争,对我们搞WEB的人来说实在是一件很痉的事情,除了IE不支持W3C外其他的几个核心对于W3C的支持还是挺不错的。相传,IE8将100%支持W3C,只是不知道是真是假 。。

期待明年1月,IE8给我们带来的惊喜。

可惜苦的都是前端,每做一个页面,都要为不同的浏览器写HACK