IE文档模式--添加水印
问题:ie浏览器修改文档模式的默认设置。每一次打开f12,文档模式都是8,有时候需要调至8以上等。这就需要在代码中进行修改,如下:
ie默认模式设置
文本模式版本修改
代码:<meta http-equiv=“X-UA-Compatible” content=“IE=EmulateIE9”>浏览器模式版本修改
代码:<meta http-equiv=“x-ua-compatible” content=“IE=9” >
**特别注意:上面两句在吗,需要在css样式之前引入(毕竟你是想让ie兼容你的样式或者js)
IE添加水印(transform与canvas)两种方式
第一:使用transform添加(利用旋转div的方式)
$.prinWaterMarker = function(text, timestamp) {if (text == null || $.trim(text) == "") {return;}text = text.replace(/#_#/,"");var watermark_width=parseInt(setting.width), watermark_height=parseInt(setting.height);//水印长度 -- //水印宽度var asin = Math.asin( (watermark_width ) /( text.length*20))*180/Math.PI;if(Math.abs(setting.rotate)>= asin){setting.rotate = -asin;}//获取页面最大宽度var page_width = Math.max(document.body.scrollWidth,document.body.clientWidth);//获取页面最大长度var page_height = Math.max(document.body.scrollHeight,document.body.clientHeight);//如果将水印列数设置为0,或水印列数设置过大,超过页面最大宽度,则重新计算水印列数和水印x轴间隔var watermark_cols = 0, watermark_rows = 0;var watermark_x=100, watermark_y = 50;//水印起始位置Y轴坐标 /水印起始位置x轴坐标if (watermark_cols == 0) {watermark_cols = parseInt((page_width -watermark_x) / (watermark_width ));}//如果将水印行数设置为0,或水印行数设置过大,超过页面最大长度,则重新计算水印行数和水印y轴间隔if (watermark_rows == 0 ){watermark_rows =parseInt(( page_height - watermark_y)/ (watermark_height ));}var x,y;var oTemp = document.createDocumentFragment();for (var i = 0; i < watermark_rows+1; i++) {y = watermark_y + ( watermark_height) * i;for (var j = 0; j < watermark_cols; j++) {x = watermark_x + (watermark_width ) * j;var mask_div = document.createElement('div');mask_div.id = 'mask_div' + i + j;mask_div.appendChild(jQuery("<div><cc class='fonttitlsize'>"+text+"</cc><br><cc>"+timestamp+"</cc></div>")[0]);mask_div.className = "prinwatermark";//设置水印div倾斜显示mask_div.style.left = x + 'px';mask_div.style.top = y + 'px';mask_div.style.opacity = setting.alpha;mask_div.style.width = watermark_width + 'px';mask_div.style.height = watermark_height + 'px';mask_div.style.webkitTransform = "rotate(" + setting.rotate + "deg)";//safari and chromemask_div.style.MozTransform = "rotate(" + setting.rotate + "deg)";//firefoxmask_div.style.msTransform = "rotate(" + setting.rotate + "deg)";//IE9mask_div.style.OTransform = "rotate(" + setting.rotate + "deg)";//operamask_div.style.transform = "rotate(" + setting.rotate + "deg)";mask_div.style.visibility = "";oTemp.appendChild(mask_div);};};document.body.appendChild(oTemp);}
第二种方式:利用canvas画图(添加到body的background中)
$.waterMarker = function(text, timestamp) {text = text+"";if (text == null || $.trim(text) == "") {return;}try {text = text.replace(/#_#/,"");text = $.trim(text);}catch (e) { }var random = new Date().getTime();var canvas = $("<canvas id='canvas_" + random + "' width='" + (setting.width) + "' height='" + (setting.height) + "'></canvas>")[0];try {var context2D = canvas.getContext("2d");context2D.fillStyle = setting.backgroundColor;context2D.fillRect(0, 0, canvas.width, canvas.height);//矩形边界context2D.rotate(setting.rotate * Math.PI / 180);//旋转context2D.translate(-150, 80);//翻转// context2D.font = setting.waterMarkerFont;context2D.font = setting.waterMarkerTimeFont;//字体context2D.fillStyle = setting.waterMarkerColor;//样式context2D.fillText(text, 0, (canvas.height / 2) - 10);context2D.font = setting.waterMarkerTimeFont;if (timestamp != null && $.trim(timestamp) != "") {context2D.fillText($.trim(timestamp), 0 , (canvas.height / 2) + 30);}$("body").css("cssText","background:url("+ canvas.toDataURL("image/png") + ") top center !important;");}catch (e) {if(isIE()) {$.prinWaterMarker(text, timestamp);return;}}
//判断iefunction isIE(){if (window.navigator.userAgent.indexOf("MSIE")>=1)return true;elsereturn false;}
两种方式优缺点:
第一:这种需要计算div旋转高度,而且打印时可以直接打印水印。
第二:这种方式不能直接打印(需要设置打印背景图片才可以)<当然也可以用这种方式实现第一种方式的效果>
水印完整代码:链接: https://pan.baidu.com/s/1P4Jj48CcoR_LwcDUrtuwzA 提取码: 9gsu 复制这段内容后打开百度网盘手机App,操作更方便哦
IE文档模式--添加水印相关推荐
- DOCTYPE是什么鬼?文档模式又是什么鬼?
!DOCTYPE !DOCTYPE是什么: 在所有 HTML 文档中规定 DOCTYPE 是非常重要的,这样浏览器就能了解预期的文档类型, 告诉浏览器要通过哪一种规范(文档类型定义 DTD)解析文档( ...
- 关于 IE的文档模式的指定
IE定义文档兼容性 文档兼容性可定义 Internet Explorer 呈现网页的方式. 本文将介绍文档兼容性.如何为网页指定文档兼容性模式以及如何确定网页的文档模式. 简介 为了帮助确保您的网页在 ...
- 文档模式引起的浏览器兼容问题
最近做的一个网页,在本地打开都是非常完美,可以兼容常见的浏览器,但是放到服务器上就不行了,在ie的兼容模式下,打开F12发现文档模式一直是IE7 .为此,查询了很多关于浏览器兼容的问题. 基本上就是说 ...
- 【浏览器】浏览器模式与文档模式区别
浏览器模式下的影响: 简单来说,"浏览器模式"影响的是浏览器的版本及IE的条件注释, "浏览器模式"会影响服务器端对浏览器版本的判断,主要表现在展现,对CSS影 ...
- html 浏览器文档模式,调整:浏览器模式lE8十文档模式8是怎样操作
本文将讨论IE8浏览器如何确定用以渲染网站的文档模式,如怪异模式(又称IE5模式)和标准模式(更多资料,英文:http://en.wikipedia.org/wiki/Quirks_mode).该内容 ...
- IE文档模式的切换,Quirks模式
使用文档类型DocType.这样可以避免使用Quirks模式 如:使用IE7文档模式 方法: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 ...
- 文档模式:标准模式、混杂模式
一. 背景: 由于历史的原因,不同浏览器对页面的渲染是不同的,甚至同一浏览器的不同版本也是不同的.然后这时候就出现了一个至关重要的标准规范:W3C标准. 在W3C标准出台之前,不同的浏览器在页面的渲 ...
- 设置IE文档模式解决IE浏览器兼容性
IE的兼容性一直是前端开发者最头疼的问题之一,很多时候为了解决莫名其妙的兼容性脑细胞那叫一个大片大片的死亡啊,经常是Chrome.Firefox等浏览器正常,但偏偏IE要出现问题,有些时候可能高版本的 ...
- 判断IE浏览器的文档模式以及浏览器模式
IE浏览器的浏览器模式和文档模式 判断浏览器模式: function IEVersion() {var userAgent = navigator.userAgent; //取得浏览器的userAge ...
最新文章
- php获取会员数据代码,php将会员数据导入到ucenter的代码
- PHP5.4新特性(转)
- python编写程序-30分钟学会用Python编写简单程序
- WordPress备份的七种办法
- go标准库的学习-net/rpc/jsonrpc
- 阿里开发规范文档_华为阿里等技术专家15年开发经验总结:SSM整合开发实战文档...
- 如何新建java内部类_java内部类-1(内部类的定义)
- 【小说网站 - 抓取登陆后的数据,cookie操作】
- 中国移动神州行5元卡普遍缺货
- java实现icmp攻击,利用java实现ICMP协议在linux环境配置
- 经典问题莫比乌斯反演gcd(a,b)==kGuGuFishtion好题
- RabbitMQ基础--总结
- Android(java)学习笔记97:使用GridView以及重写BaseAdapter
- opengl游戏引擎源码_我用C++复刻了这款上世纪最伟大的游戏
- 免费下载收费音乐教程,亲测有效
- Linux驱动开发-编写(EEPROM)AT24C02驱动
- 线下餐饮实体店线上精准引流方案!你想看的都在这儿!这篇文章教你转化!
- hihocoder图像算子(高斯消元)
- 如何让计算机桌面自动更换,怎样让电脑的桌面自动变换即自动更换桌面背景
- 机器人NAO:为自闭症儿童散去阴霾