tags: ‘IE9及以上’

categories: ‘IE9及以上’


引入的文件

让IE认识@media媒体查询,让低版本IE认识html5新增的标签

  1. <!--
  2. 1. html5shiv.min.js 让低版本IE认识html5新增的标签
  3. 2. respond.min.js IE认识@media 媒体查询
  4. -->
  5. <!--[if lt IE 9]>
  6. <script src="../assets/common/js/html5shiv.min.js"></script>
  7. <script src="../assets/common/js/respond.min.js"></script>
  8. <![endif]-->

JQuery使用1点几版本

(注!jquery-2.0以上版本不再支持IE 6/7/8) 并不是最新的版本就最好的,而是根据您项目需求所适合的版本!

ajax的使用

  1. // IE 浏览器需要手动开启下面的,否则ajax不生效
  2. jQuery.support.cors=true;

使用了自制图标库—icomoon

https://icomoon.io/app/#/select

input需要双击上传的原因

??????IE9下上传文件是否可以调用input的点击事件

  1. 需要将隐藏的input按钮的大小足够的大,因为如果点击在input输入框中的话,就需要点击两次
  2. input[type=file] {
  3. font-size: 100px;
  4. }

让浏览器以什么模式渲染

  1. <meta http-equiv="X-UA-Compatible" content="IE=10">

动态引入JS

  1. // 动态引入js文件
  2. Utils.prototype.importJS = function (url, callback) {
  3. var script = document.createElement("script");
  4. script.type = "text/javascript";
  5. script.src = url;
  6. script.onload = function(){
  7. typeof callback == 'function' ? callback() : '';
  8. };
  9. document.body.appendChild(script);
  10. }

兼容IE8的数组indexof方法的解决

  1. if (!Array.prototype.indexOf){
  2. Array.prototype.indexOf = function(elt /*, from*/)
  3. {
  4. var len = this.length >>> 0;
  5. var from = Number(arguments[1]) || 0;
  6. from = (from < 0)
  7. ? Math.ceil(from)
  8. : Math.floor(from);
  9. if (from < 0)
  10. from += len;
  11. for (; from < len; from++)
  12. {
  13. if (from in this &&
  14. this[from] === elt)
  15. return from;
  16. }
  17. return -1;
  18. };
  19. }

解决IE9中console未定义的问题

  1. window.console = window.console || (function(){
  2. var c = {}; c.log = c.warn = c.debug = c.info = c.error = c.time = c.dir = c.profile = c.clear = c.exception = c.trace = c.assert = function(){};
  3. return c;
  4. })();

css预处理器可以使用

就是简化开发者代码的编写,利用工具生成浏览器能识别的CSS代码
例如:使用“scss”的CSS预处理器,使用koala这个工具来生成CSS代码,其实IDEA也能编译CSS代码

使用jsviews

jsRender/jsViews 引入外部模板引擎

例子

一:模板文件

模板文件 text.tmpl.html

  1. <p>名称:{^{:name}}</p>

模板文件 nav.html

  1. {{for nav}}
  2. <p>{^{:#data}}</p>
  3. {{/for}}

二、调用模板
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
  7. <script src="jsrender.min.js"></script>
  8. <script src="template.js"></script>
  9. </head>
  10. <body>
  11. <p>首页</p>
  12. <text id="text"><text>
  13. <div id="bbb"><div>
  14. </body>
  15. <script>
  16. // 调用模板
  17. // new TempRender({ src: './', name: 'text', selector: '#text', data: {name: 'www'} });
  18. // 调用自定义模板文件名
  19. new TempRender({ srcCustom: true, src: './nav.html', selector: '#bbb', data: { nav: ['www', 'abc', '123']} });
  20. </script>
  21. </html>

三、封装调用模板TempRender方法
  1. (function () {
  2. var that = ''
  3. var TempRender = function (options) {
  4. // console.log(options);
  5. that = this
  6. this.path = options.srcCustom ? options.src : options.src + options.name + '.tmpl.html'; // 模板文件所在位置(包含文件名)【此路径根据调用文件的位置为起始位置】
  7. this.selector = options.selector; // 调用模板的标签 id class等,如 '#nav'
  8. this.data = options.data; // 数据
  9. this.initRender(this); // 此处传入this是为了防止that被污染而导致页面渲染错误
  10. }
  11. // 此处方法内不能使用that,如果出现多出调用,使用that会污染数据
  12. TempRender.prototype.initRender = function (obj) {
  13. $.when($.get(obj.path))
  14. .done(function (tmplData) {
  15. // tmplData 模板文件内容
  16. $.templates({tmpl: tmplData});
  17. console.log(obj.selector, $.render.tmpl(obj.data))
  18. $(obj.selector).html($.render.tmpl(obj.data));
  19. })
  20. }
  21. window.TempRender = TempRender
  22. })()

参数说明

  1. srcCustom 自定义模板文件名,不使用公共的后缀
  2. src 必传,模板文件所在位置(不包含文件名)【此路径根据调用文件的位置为起始位置】
  3. name srcCustom不填时,必传name。模板文件的前缀,后缀默认 '.tmpl.html' 可在template.js中修改。
  4. selector 必传,调用模板的标签 id class等,如 '#nav'
  5. data 数据

自定义jsrender标签

自定义标签的声明

  1. // 自定义jsrender标签
  2. // a标签的自定义(没有子级的a标签)
  3. function renderTagA1(url, name, isActive, show) {
  4. if(show) {
  5. if(isActive) {
  6. return '<li class="active"><a class="theme_style_slide_color theme_style_slide_color_h" href="' + url + '"> ' + name + ' </a></li>';
  7. }else {
  8. return '<li><a class="theme_style_slide_color theme_style_slide_color_h" href="' + url + '"> ' + name + ' </a></li>';
  9. }
  10. }
  11. }
  12. // 加载自定义jsrender标签
  13. $.views.tags("renderTagA1", renderTagA1);

自定义标签的使用

  1. <ul>
  2. {^{for list}}
  3. {{renderTagA1 url title isActive show /}}
  4. {{/for}}
  5. </ul>

头部信息

  1. <meta charset="utf-8">
  2. <meta http-equiv="X-UA-Compatible" content="IE=Edge">
  3. <meta name="viewport" content="width=device-width, initial-scale=1,user-scalable=no">

更改网址,但是不进行跳转

  1. window.history.pushState({}, 0, window.location.href + '?id='+ACKData.data.id);

CSS更改

解决获取焦点之后,输入框移动的问题

  1. input {
  2. vertical-align: top;
  3. }

调整input中placeholder的样式

  1. input::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  2. color: #ccc;
  3. }
  4. input::-moz-placeholder { /* Firefox 19+ */
  5. color: #ccc;
  6. }
  7. input:-ms-input-placeholder { /* IE 10+ */
  8. color: #ccc;
  9. }
  10. input:-moz-placeholder { /* Firefox 18- */
  11. color: #ccc;
  12. }

解决金额符号¥在IE上显示和谷歌上显示不一致的问题,解决方案:字体库改成微软雅黑

  1. html{
  2. overflow-x: hidden;
  3. font-family: 微软雅黑;
  4. }

清除IE下的右侧的叉

  1. input[type=text]::-ms-clear{display: none;}

rgba() ie兼容

  1. @mixin bg($bgColor, $color) {
  2. background-color: $bgColor;
  3. // 兼容IE8
  4. filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=##{$color}, endColorstr=##{$color});
  5. -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#438ACA,endColorstr=#438ACA) !important;
  6. }

background-size: cover; ie8兼容

  1. @mixin bgSize($bgUrl, $bgPath) {
  2. background: url($bgUrl) no-repeat;
  3. background-size: cover;
  4. /*兼容ie8 路径要使用绝对路径*/
  5. -ms-behavior: url('#{$bgPath}guarantee/src/assets/common/backgroundsize.min.htc');
  6. behavior: url('#{$bgPath}guarantee/src/assets/common/backgroundsize.min.htc');
  7. }

定义input placeholer的样式

  1. /*input placeholder css*/
  2. .placeholder_css:-webkit-input-placeholder {
  3. color: #ccc !important;
  4. }
  5. .placeholder_css:-ms-input-placeholder {
  6. color: #ccc !important;
  7. }
  8. .placeholder_css:-moz-placeholder {
  9. color: #ccc !important;
  10. }
  11. .placeholder_css:placeholder {
  12. color: #ccc !important;
  13. }
  14. .placeholder_css::placeholder {
  15. color: #ccc !important;
  16. }

定义滚动条样式

  1. .scrollStyle2 {
  2. scrollbar-base-color: #ccc;
  3. //scrollbar-base-color: #134087;
  4. scrollbar-3dlight-color:#ccc;
  5. scrollbar-highlight-color: #ccc;
  6. scrollbar-track-color: #e9e9e9;
  7. scrollbar-arrow-color: #ccc;
  8. scrollbar-shadow-color:#e9e9e9;
  9. //scrollbar-dark-shadow-color: #011433;
  10. }
  11. .scrollStyle2::-webkit-scrollbar {
  12. width: 6px;
  13. height: 6px;
  14. background-color: #e9e9e9;
  15. }
  16. /*定义滚动条轨道 内阴影+圆角*/
  17. .scrollStyle2::-webkit-scrollbar-track {
  18. border-radius: 2px;
  19. background-color: #e9e9e9;
  20. }
  21. /*定义滑块 内阴影+圆角*/
  22. .scrollStyle2::-webkit-scrollbar-thumb {
  23. border-radius: 2px;
  24. background-color: #CCCCCC;
  25. }

项目使用

公告栏的滚动

  1. intervalNotice();
  2. function intervalNotice() {
  3. clearInterval(noticeTimer);
  4. noticeTimer = setInterval(function () {
  5. $("div.notice ul").animate({
  6. marginTop: '-35px'
  7. }, 500, function () {
  8. $(this).css({marginTop:"0"}).find(":first").appendTo(this);
  9. })
  10. }, 2000);
  11. }
  12. $("div.notice").mouseover(function () {
  13. clearInterval(noticeTimer);
  14. }).mouseleave(function () {
  15. intervalNotice();
  16. })

更改元素高度

  1. $(".calcuHeight").css("height", document.documentElement.clientHeight-224 + "px");

滚动到底部请求数据

  1. $(".search-result").scroll(function() {
  2. // console.log("滚动条到顶部的垂直高度:" + $(".search-result").scrollTop() );
  3. // console.log("滚动条盒子高度:" + $(".search-result").height() );
  4. // console.log("页面的文档高度:" + $(".search-result > ul").height() );
  5. // 滚动到底部的计算
  6. if($(this).scrollTop() + $(this).height() > $(".search-result > ul").height()) {
  7. // ge.data.insureProjectInfo.status限制滚动到底部在上一次请求结束之前只请求一次
  8. if (ge.data.insureProjectInfo.status) {
  9. // 请求下一页的数据
  10. ge.data.insureProjectInfo.status = false;
  11. ge.data.insureProjectInfo.page++;
  12. ge.queryProject();
  13. }
  14. }
  15. });

清除input type=’file’内容

  1. Utils.prototype.clearFile = function(waitClearFile) {
  2. var $file = $("" + waitClearFile);
  3. if ($file.length > 0) {
  4. $file.after($file.clone().val(""));
  5. $file.remove();
  6. }
  7. }

PDF的展示的插件—-PDFjs—(兼容到IE8)

下载PDFjs案例

分页插件(兼容IE8)

下载分页插件

JS悬浮彩色气泡文字标签云动画特效(兼容IE9)

下载JS悬浮彩色气泡文字标签云动画特效

兼容IE7的复制

参考文献

clipboard.js!前端实现复制剪切功能,这个小插件仅仅支持到IE9+

IE的window对象提供了clipboardData对象用于实现复制功能

重新封装clipboard实现完美兼容

  1. var ClipBoard = function(obj){
  2. this.handlerID = obj.handlerID || null;
  3. this.textID = obj.textID || null;
  4. this.type = obj.type || 'copy';
  5. this.isAttr = obj.isAttr || false;
  6. this.isPlugin = true;
  7. this.isActive = false;
  8. var ua = window.navigator.userAgent;
  9. var is_IE = ua.match(/(rv:|msie )\d+/i);
  10. var IE_Version = is_IE ? parseInt(is_IE[0].split(/:| /g)[1]) : 9;
  11. if(IE_Version <= 8){
  12. this.isPlugin = false;
  13. }
  14. var handlerObj = document.getElementById(obj.handlerID);
  15. if(typeof this.type === 'string'){
  16. handlerObj.setAttribute('data-clipboard-action',this.type)
  17. }else{
  18. throw error('type类型错误!');
  19. }
  20. if(!obj.isAttr && obj.textID){
  21. handlerObj.setAttribute('data-clipboard-target','#'+obj.textID);
  22. }
  23. }
  24. ClipBoard.prototype.attach = function(){
  25. if(this.isActive){ // 对象已经被实例化
  26. return;
  27. }
  28. var tip = '复制';
  29. if(this.type === 'cut'){
  30. tip = '剪切';
  31. }
  32. this.isActive = true;
  33. if(this.isPlugin){
  34. var clip = new Clipboard('#'+this.handlerID);
  35. clip.on('success', function(e) {
  36. alert(tip+'成功,可通过Ctrl+V进行粘贴!');
  37. });
  38. clip.on('error', function(e) {
  39. alert(e.action+'操作失败!');
  40. });
  41. }else if(window.attachEvent){
  42. var self = this;
  43. var handlerObj = document.getElementById(this.handlerID);
  44. handlerObj.attachEvent('onclick',function(){
  45. var text = '';
  46. if(self.isAttr){// 复制属性值
  47. text = handlerObj.getAttribute('data-clipboard-text');
  48. }else{
  49. var textObj = document.getElementById(self.textID);
  50. text = textObj.value || textObj.innerHTML;
  51. }
  52. window.clipboardData.setData('Text',text);
  53. alert(tip+'成功,可通过Ctrl+V进行粘贴!');
  54. });
  55. }else{
  56. alert('浏览器版本过低,不支持该插件!')
  57. }
  58. }

用法

首先引入clipboard.js以及上面那段代码,然后通过new的方式去实例化控件

  1. // html
  2. <p id="copy-p" class="a">将被复制的p文本</p>
  3. <button id="copy-btn">复制</button>
  4. <script src="/path/clipboard.js"></script>
  5. // js
  6. var c1 = new ClipBoard({
  7. handlerID: 'copy-btn',
  8. textID: 'copy-p',
  9. isAttr: false,
  10. type:'copy'
  11. });
  12. c1.attach(); // 触发复制/剪切功能

参数说明

handlerID:用于点击事件的控件,在html标签里面加上id这个属性;
textID:被复制文本所在的容器的id;
isAttr:用于说明复制的内容是否为控件中的属性值,默认为false(此时复制的内容是textID内的文本),如果设置为true,前提需要在控件这个标签上增添一个属性:data-clipboard-text,属性值就是你要复制的文本;eg: 复制
type:操作的类型,取值为copy/cut(复制/剪切),默认是copy

兼容IE9及以上 - 图1

日期控件的使用

dcalendar.picker

  1. // 日期控件的渲染---调用
  2. $('.mydatepicker').dcalendarpicker({
  3. format:'yyyy-mm-dd'
  4. });
  5. $('#mycalendar').dcalendar();

兼容IE8的简单jQuery日期选择器插件

兼容IE9及以上 - 图2

参考网址

兼容IE8的图片上传,不需要转base64展示图片———好像不兼容IE10

案例代码

判断上传文件是否是图片类型—-未验证是否可以使用

  1. Base64 = function (imgFile, callback) {
  2. var _this = this;
  3. $(imgFile).change(function(){
  4. // 定义方法
  5. // console.log($(this));
  6. console.dir($(this));
  7. var pattern = /(\.*.jpg$)|(\.*.png$)|(\.*.jpeg$)|(\.*.gif$)|(\.*.bmp$)/;
  8. if(!pattern.test($(this)[0].value)) {
  9. alert("请上传jpg/jpeg/png/gif/bmp格式的照片!");
  10. $(this).focus();
  11. }else{
  12. var base64value = "";
  13. //判断浏览器类型
  14. if(document.all){
  15. //兼容IE
  16. base64value = Base64.prototype.ieBase64($(this)[0].value, $(this),callback);
  17. }else{
  18. //兼容主流浏览器
  19. base64value = Base64.prototype.mainBase64($(this)[0].files[0], $(this), callback);
  20. }
  21. }
  22. });
  23. };
  24. Base64.prototype = {
  25. ieBase64: function(file, ele, callback){
  26. var realPath, xmlHttp, xml_dom, tmpNode, imgBase64Data;
  27. realPath = file;//获取文件的真实本地路径.
  28. // console.log("file", file)
  29. xmlHttp = new ActiveXObject("MSXML2.XMLHTTP");
  30. xmlHttp.open("POST",realPath, false);
  31. xmlHttp.send("");
  32. xml_dom = new ActiveXObject("MSXML2.DOMDocument");
  33. tmpNode = xml_dom.createElement("tmpNode");
  34. tmpNode.dataType = "bin.base64";
  35. tmpNode.nodeTypedValue = xmlHttp.responseBody;
  36. imgBase64Data = "data:image/bmp;base64," + tmpNode.text.replace(/\n/g,"");
  37. callback(imgBase64Data, ele);
  38. // console.log("IE 兼容");
  39. },
  40. mainBase64: function(file, ele, callback){
  41. var fileReader, imgData;
  42. fileReader = new FileReader();
  43. fileReader.readAsDataURL(file);
  44. fileReader.onload = function () {
  45. imgData = this.result; //base64数据
  46. // console.log(imgData);
  47. // console.log(callback)
  48. callback(imgData, ele);
  49. }
  50. },
  51. }
  1. /* 兼容IE8的图片上传,不需要转base64展示图片 */
  2. Utils.prototype.previewImage = function (imgFile, ele) {
  3. var filextension=imgFile.value.substring(imgFile.value.lastIndexOf("."),imgFile.value.length);
  4. filextension=filextension.toLowerCase();
  5. // console.log("imgFile",imgFile)
  6. if(filextension == '.zip'){
  7. ele.style.display = "block";
  8. // console.log("执行zip");
  9. // document.getElementsByClassName("img_show").innerHTML = "<img id='img1' width='120px' height='100px' src='"+path+"'/>";
  10. ele.innerHTML = "<img id='img1' width='100%' height='100%' src='/assets/common/img/zip.png'/>";
  11. }else if ((filextension!='.jpg')&&(filextension!='.gif')&&(filextension!='.jpeg')&&(filextension!='.png')&&(filextension!='.bmp'))
  12. {
  13. // console.log("pathtop,sorry")
  14. alert("对不起,系统仅支持标准格式的照片,请您调整格式后重新上传,谢谢 !");
  15. imgFile.focus();
  16. }
  17. else
  18. {
  19. // console.log("path")
  20. var path;
  21. if(document.all && document.addEventListener && window.atob)//IE
  22. {
  23. path=window.URL.createObjectURL(imgFile.files[0]);// FF 7.0以上
  24. ele.style.display = "block";
  25. ele.innerHTML = "<img width='100%' height='100%' src='"+path+"'/>";
  26. }else if(document.all) {
  27. // console.log("IE")
  28. imgFile.select();
  29. // console.log(imgFile.select())
  30. path = document.selection.createRange().text;
  31. // console.log("path",document.selection.createRange())
  32. console.dir(document.selection.createRange(), document.selection)
  33. // console.log(path)
  34. ele.innerHTML="";
  35. ele.style.display = "block";
  36. ele.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true',sizingMethod='scale',src=\"" + path + "\")";// 使用滤镜效果
  37. document.getElementsByClassName("img_show")[0].style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true',sizingMethod='scale',src=\"" + path + "\")";// 使用滤镜效果
  38. }else{
  39. path=window.URL.createObjectURL(imgFile.files[0]);// FF 7.0以上
  40. ele.style.display = "block";
  41. ele.innerHTML = "";
  42. ele.innerHTML = "<img width='100%' height='100%' src='"+path+"'/>";
  43. }
  44. }
  45. }

文件上传

/todo 暂时需要在前面增加判断,判断是否是IE9以上的浏览器,如果是则判断文件的大小,如果大于文件的大小则不予上传/
IE9 不支持 files 属性

使用jquery.form.js的文件进行上传(兼容IE9),废弃使用ajaxfileupload.js

动态更改元素高度

  1. $(".calcuHeight").css("height", document.documentElement.clientHeight-205 + "px");

文件下载

  1. window.open(data.guaranteeInfo.guaranteeUrl, '_blank');
  2. /*if (!!window.ActiveXObject || "ActiveXObject" in window) {
  3. // console.log("下载保单")
  4. var elemIF = document.createElement("iframe");
  5. elemIF.src = data.guaranteeInfo.guaranteeUrl;
  6. elemIF.style.display = "none";
  7. document.body.appendChild(elemIF);
  8. elemIF.click()
  9. } else {
  10. var link = document.createElement('a');
  11. link.setAttribute("download", "发票");
  12. link.href = data.guaranteeInfo.guaranteeUrl;
  13. link.click();
  14. }*/

字体图标

可以使用字体图标

选择页面中iframe中的元素

  1. /*放大*/
  2. $("body").off("click", ".fangdaEvent").on("click", ".fangdaEvent", function () {
  3. $("#iframeContent").contents().find("#zoomIn").click();
  4. })

打印

使用jQuery.print.min.js
使用print.min.js

  1. /*打印*/
  2. $("body").off("click", ".printEvent").on("click", ".printEvent", function () {
  3. // jQuery.print.min.js --- 可能只兼容谷歌打印
  4. /*$(".induranceInfo").print({
  5. globalStyles:true,//是否包含父文档的样式,默认为true
  6. mediaPrint:false,//是否包含media='print'的链接标签。会被globalStyles选项覆盖,默认为false
  7. stylesheet:null,//外部样式表的URL地址,默认为null
  8. noPrintSelector:".no-print",//不想打印的元素的jQuery选择器,默认为".no-print"
  9. iframe:true,//是否使用一个iframe来替代打印表单的弹出窗口,true为在本页面进行打印,false就是说新开一个页面打印,默认为true
  10. append:null,//将内容添加到打印内容的后面
  11. prepend:null,//将内容添加到打印内容的前面,可以用来作为要打印内容
  12. deferred: $.Deferred()//回调函数
  13. })*/
  14. // 使用print.min.js
  15. // printJS('/assets/page/myGuaranteeDetail/img/fapiao.pdf');
  16. $(".transfer_pay > .content").print({
  17. globalStyles:true,//是否包含父文档的样式,默认为true
  18. mediaPrint:false,//是否包含media='print'的链接标签。会被globalStyles选项覆盖,默认为false
  19. stylesheet:null,//外部样式表的URL地址,默认为null
  20. noPrintSelector:".no-print",//不想打印的元素的jQuery选择器,默认为".no-print"
  21. iframe:true,//是否使用一个iframe来替代打印表单的弹出窗口,true为在本页面进行打印,false就是说新开一个页面打印,默认为true
  22. append:null,//将内容添加到打印内容的后面
  23. prepend:null,//将内容添加到打印内容的前面,可以用来作为要打印内容
  24. deferred: $.Deferred()//回调函数
  25. })
  26. // printPage(); // 自己定义的方法
  27. })
  28. /*打印*/
  29. function printPage(obj){
  30. var bdhtml=window.document.body.innerHTML; //获取当前页的html代码
  31. var sprnstr="<!--startprint-->"; //设置打印开始区域
  32. var eprnstr="<!--endprint-->"; //设置打印结束区域
  33. var prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+18); //从开始代码向后取html
  34. var prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr)); //从结束代码向前取html
  35. window.document.body.innerHTML = prnhtml; //将html代码 放在页面上,方便打印
  36. //打印之前设置IE打印时不打印页眉 、页脚
  37. if (!!window.ActiveXObject || "ActiveXObject" in window) {
  38. remove_ie_header_and_footer();
  39. }
  40. print.portrait = false;//横向打印
  41. //打印
  42. window.print();
  43. // window.document.body.innerHTML=bdhtml;
  44. }
  45. //打印之前设置IE打印时不打印页眉 、页脚
  46. function remove_ie_header_and_footer() {
  47. var hkey_root, hkey_path, hkey_key;
  48. hkey_path = "HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
  49. try {
  50. var RegWsh = new ActiveXObject("WScript.Shell");
  51. RegWsh.RegWrite(hkey_path + "header", ""); //设置页眉为空
  52. RegWsh.RegWrite(hkey_path + "footer", ""); //设置页脚为空
  53. } catch (e) {}
  54. }

展示的富文本插件

quill.core.css

封装的提示框

  1. /** 提示框
  2. * 使用: 引入 base.js
  3. * 参数 options
  4. type 类型 success 成功 || info || warning 警告 || error 错误
  5. msg 提示信息
  6. hideTime 提示框消失时间
  7. top 最终展示位置
  8. * 调用
  9. Utils.funWebTip({
  10. type: 'warning',
  11. msg: "aa"
  12. })
  13. */
  14. Utils.prototype.funWebTip = function (options){
  15. var option = {
  16. type: "success", // success || info || warning || error
  17. name: "alert" + new Date().getTime(),
  18. top: '26.5%',
  19. hideTime: 3000
  20. }
  21. $.extend(option, options);
  22. var html = '<section class="webTipBg alert-' + option.type + " " + option.name + '">' +
  23. '<div class="webTip">' +
  24. '<i></i>' +
  25. '<div class="tip-message">' + option.msg + '</div>' +
  26. '</div>' +
  27. '</section>'
  28. $("body").append(html);
  29. var dom = $("." + option.name);
  30. dom.animate({
  31. top: option.top,
  32. opacity: 1
  33. }, 500);
  34. setTimeout(function (){
  35. dom.fadeOut().remove();
  36. }, option.hideTime)
  37. }
  1. /*提示框*/
  2. /********************************************************************************/
  3. .webTipBg {
  4. /*display: none;*/
  5. opacity: 0;
  6. max-width: 80%;
  7. position: fixed;
  8. top: 50%;
  9. left: 50%;
  10. -webkit-transform: translate(-50%, -50%);
  11. -moz-transform: translate(-50%, -50%);
  12. -ms-transform: translate(-50%, -50%);
  13. -o-transform: translate(-50%, -50%);
  14. transform: translate(-50%, -50%);
  15. z-index: 9999;
  16. font-size: 14px;
  17. border-radius: 4px;
  18. padding: 8px 25px;
  19. display: flex;
  20. justify-content: space-between; }
  21. .webTipBg.alert-success {
  22. background-color: #f0f9eb;
  23. color: #67c23a; }
  24. .webTipBg.alert-info {
  25. background-color: #E5F1FF;
  26. color: #B9CAFF; }
  27. .webTipBg.alert-warning {
  28. background-color: #fdf6ec;
  29. color: #e6a23c; }
  30. .webTipBg.alert-error {
  31. background-color: #fef0f0;
  32. color: #f56c6c; }
  33. .webTipBg div.webTip {
  34. display: flex;
  35. justify-content: flex-start;
  36. align-items: center; }
  37. .webTipBg div.webTip i {
  38. border-radius: 50%;
  39. width: 16px;
  40. height: 16px;
  41. margin-right: 8px;
  42. display: inline-block;
  43. vertical-align: middle; }
  44. .webTipBg div.webTip .tip-message {
  45. display: inline-block;
  46. vertical-align: middle; }
  47. .webTipBg.alert-success .webTip i {
  48. background: url(/assets/common/img/big_icon_success.png) no-repeat center center;
  49. background-size: cover; }
  50. .webTipBg.alert-info .webTip i {
  51. background: url(/assets/common/img/big_icon_jijingshi@2x.png) no-repeat center center;
  52. background-size: cover; }
  53. .webTipBg.alert-warning .webTip i {
  54. background: url(/assets/common/img/big_icon_jingshib@2x.png) no-repeat center center;
  55. background-size: cover; }
  56. .webTipBg.alert-error .webTip i {
  57. background: url(/assets/common/img/big_icon_cuowu@2x.png) no-repeat center center;
  58. background-size: cover; }
  59. /*图标公共样式*/
  60. .del-small-public {
  61. position: absolute;
  62. border-radius: 50%;
  63. background-color: #ccc;
  64. top: -6px;
  65. right: -8px;
  66. z-index: 1;
  67. text-align: center;
  68. line-height: 12px;
  69. color: #fff; }

提示图片的压缩文件

搜索内容在IE下搜索时乱码问题

使用encodeURIComponent的方法来解决

iframe可以使用什么遮盖Object

  1. <iframe id="iframe1" src="about:blank" frameBorder="0" marginHeight="0" marginWidth="0" style="position:relative; visibility:inherit; top:0px;left:0px;height:100%;width:100%; z-Index:-1;opacity: 0; filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0);" allowTransparency="true"></iframe>

解决IE中new Date()转换出来的不是日期格式的问题

IE下不能将带有-的日期格式转换成其他的日期格式

  1. var date = new Date(projectInfo.dueTime.replace(/-/g,'/'));

解决IE的缓存问题

还是在请求后面添加时间戳

gulp打包

  1. 打包的版本号可以是动态的更改