解惑

解己之惑,解人之惑

标签:IE

IE被soolaa劫持

按照原来的做法用360安全卫士,但是无效,上网搜索了下,无果,怒,根据一些帖子的回复,感觉可能是起了某个服务,查找可疑服务,发现一个叫GameHallSer的服务,停止并禁用,问题解决。

树大招风,在中国,IE一统天下啊。

PS:这个是解决我老婆的电脑的问题,不是我的,她是Windows+IE+百度铁杆用户,没办法。

最后谴责下所有的流氓:操你妈!

Chrome浏览器

Chrome浏览器面世一天市场份额就占到了1%,由此可见google的影响力。我当然也是在第一时间就装上了使用,总体的感觉还是不错的,特别是它的这个名字和我的英文名发音差不多(Cherami),不过依然有一些问题:

  • 自动阻止了重复提交,我玩的网页游戏有买卖资源的功能,而卖资源的时候反应很慢,我一般都是狂点几十下,一下就可以把全部单子下完,但是Chrome自动阻止了这种行为,点击按钮没有得到响应时点击同一个按钮是无效的。
  • 不能显示XML文件,我在做Web Service,用它不能查看我的WSDL文件内容,这个应该起码按照文本显示下吧。
  • 不支持FCKEditor,也就是我的blog的编辑器,所以只能用IE或者FF写博,不知道是哪方面的问题

另外,Chrome可以导出IE的很多内容,最需要注意的是可以导出IE里面保存的表单密码,我想这个应该算IE的一个安全漏洞吧,最起码IE不会提供API去导出密码,所以google在这一点上涉嫌反向工程

IE不显示内容

呵呵,发现在很多情况下IE不显示网页的内容,如果查看源代码会发现页面的内容很多,目前发现的两个情况(使用的是IE6):

  1. 如果script使用不正确,例如引用一个js文件写成:<script language="javascript" src="/js/common.js" />,IE会忽略这个后面的全部内容,页面显示为空白。必须写成<script language="javascript" src="/js/common.js"</script>>。
  2. 必须设置title,如果你写的title是:<title />,IE也会忽略后面的内容。必须写成<title></title>或者根本没有。

感兴趣的可以试试:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
    <head>
        <title />
        <link href="/stylesheet.css" rel="stylesheet" type="text/css" />
        <script language="javascript" src="/js/common.js" />
    </head>
    <body>
        xxxxx
    </body>
</html>
上面的两种情况在FF下不会有问题

Pluto admin在IE下不工作

这里的不工作是指添加删除按钮不工作,点击完全没有反应,解决办法是WEB-INF\fragments\admin\page\view.jsp,给button标签加上type="submit",这样按钮就有反应了(可能还会有其它的BUG,我是直接升级到这个文件的最新版本的),但是这不能解决全部的问题,因为添加按钮不能完全正常工作,你只能给第一个页面添加portlet,如果你选择了其它的页面,然后想用下面的添加按钮给那个页面添加portlet,结果是你的点击不会产生任何效果,因为后台prtolet认为是remove操作,但是没有选择要删除的portlet,解决办法是修改PageAdminPortlet:
        String availablePortlets = request.getParameter("availablePortlets");
        if(availablePortlets!=null) {
            doAddPortlet(request);
        }
        else {
            doRemovePortlet(request);
        }
这样做其实也是有问题的,就是如果你在下面选择了想添加的portlet,但是实际点击的是remove按钮,其结果和你预期的不同。

其实所有的这些问题都是源于Pluto不成熟,它只是给出了一个最最简单的参考,并没有经过充分的测试,而且它的开发人员可能是使用FF作为测试的主要浏览器的。

动态增减表格的行

我们产品中有一个动态添加内容的组件,但是实现方式比较差,是把全部的行都输出,一共输出50行,删除的行不能重用,也就是页面上只能一共增减50次,这样的功能其实应该是使用Javascript动态增减,上次我试验了一下,发现在IE下不行,我是保存一行的空白内容,然后对table使用insertRow,再设置innerHTML,结果IE总是报运行时异常,在FF下没有问题,搜索了下,发现是IE的限制。解决方法只能是使用标准的DOM方式一个TD一个TD的加,对TD可以设置innerHTML。

IE的并发连接请求限制导致的问题

公司的产品导入了AJAX,但是后来发现一个严重的问题,就是在IE下,首页切换到其它页面比较困难,特别是首页还有一个下拉列表,选择不同的值会将首页的那些AJAX区域重新加载,如果其中几个比较慢(服务器端返回比较慢,因为有些存在性能问题,数据量大了以后查询特别慢),那么切换的时候要等很长时间,所以表面上看上去就是IE死掉了,但是在FireFox下没有这个问题。后来查证是IE下有两个并发连接请求的限制,每个AJAX请求也都算一个请求。后来的解决办法就是将AJAX请求排队,一个执行完了才能执行另外一个,这样无论怎么切换都是马上响应的,这个修改只对IE有效,FF下就不进行限制。
阅读全文

© 2019 解惑

本主题由Anders Noren提供向上 ↑