项目中遇到的零散问题(前端方面)

1.js报错 “return语句在函数之外”
在IE下访问正常,在IE6下访问会有错误提示
解决方法:比较可能的原因是js文件的编码问题,由ANSI保存为UTF-8后正常

2.js操作页面刷新

window.top.location.href = window.top.location; //重新加载当前url页面,GET请求
window.top.location.reload(); //浏览器会重复之前一个请求动作,如果之前一个请求是回发,则会再次触发回发操作

3.js事件绑定方法,支持多级DOM事件

var EventUtil = {
    addHandler: function (element, type, handler) {
        if (element.addEventListener) {
            element.addEventListener(type, handler, false);
        } else if (element.attachEvent) {
            element.attachEvent('on' + type, handler);
        } else {
            element['on' + type] = handler;
        }
    },
    removeHandler: function (element, type, handler) {
        if (element.removeEventHandler) {
            element.removeEventHandler(type, handler, false);
        } else if (element.detachEvent) {
            element.detachEvent('on' + type, handler);
        } else {
            element['on' + type] = null;
        }
    }
};

4.使td中的文本自动换行

word-wrap: break-word;word-break:break-all;

禁止文本换行

word-break:keep-all ;white-space:nowrap;

5.使td中的文本内容过长时自动变成省略号,主要是依赖text-overflow属性

在td内嵌套div   $('#demo td[height=20]').wrapInner('
'); 为div添加样式 #demo .clip { width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

或者使用js插件 https://github.com/thinhunan/jquery.ellipsis.js

6.去掉a标签点击时的虚线效果

给它添加属性  hidefocus="true"
或          onfocus="this.blur()"
或          a{outline:none;blr:expression(this.onFocus=this.blur());}

7.有时候flash logo在html页面中无法正常显示
解决方法:用iframe嵌套放入了flash的页面,或者用其他的js库来加载flash

8.在IE6、7中li标签会多出3px的问题
解决方法:http://www.actphp.com/webdev/ie6-and-ie7-li-3px-more.html

9.IE6中设置div高度较小时不起作用
IE6下div默认的最小显示高度是字体大小的高度,这时设置更小的高度值也不会生效
这时可以在样式中添加 overflow: hidden; 属性

10.指定IE解析页面的模式
在head标签中添加

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />  高版本的IE会采用IE7兼容模式

11.有的时候需要屏蔽js报错提示以免影响美观

window.onerror = function () {
    return true;
};

或者用try–catch块将代码包裹起来,避免错误抛出

你可能感兴趣的:(零散问题)