拉黑对方微信拉黑我怎么办,对方微信拉黑我怎么办把裸照会传网上,网上会封杀吗

谈谈JS中常遇到的浏览器兼容问题和解决方法
作者:骑猪敲代码
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了谈谈JS中常遇到的浏览器兼容问题和解决方法 ,有些代码在某些浏览器的某些版本中表现出不兼容,影响页面的体验;这时就需要处理了这些兼容问题,让页面在多个版本的浏览器上运行良好。
今天整理了一下浏览器对JS的兼容问题,希望能给你们带来帮助,我没想到的地方请留言给我,我再加上;
常遇到的关于浏览器的宽高问题:
//以下均可console.log()实验
var winW=document.body.clientWidth||document.docuemntElement.clientW//网页可见区域宽
var winH=document.body.clientHeight||document.docuemntElement.clientH//网页可见区域宽
//以上为不包括边框的宽高,如果是offsetWidth或者offsetHeight的话包括边框
var winWW=document.body.scrollWidth||document.docuemntElement.scrollW//整个网页的宽
var winHH=document.body.scrollHeight||document.docuemntElement.scrollH//整个网页的高
var scrollHeight=document.body.scrollTop||document.docuemntElement.scrollT//网页被卷去的高
var scrollLeft=document.body.scrollLeft||document.docuemntElement.scrollL//网页左卷的距离
var screenH=window.screen.//屏幕分辨率的高
var screenW=window.screen.//屏幕分辨率的宽
var screenX=window.screenL//浏览器窗口相对于屏幕的x坐标(除了FireFox)
var screenXX=window.screenX;//FireFox相对于屏幕的X坐标
var screenY=window.screenT//浏览器窗口相对于屏幕的y坐标(除了FireFox)
var screenYY=window.screenY;//FireFox相对于屏幕的y坐标
event事件问题:
//event事件问题
document.onclick=function(ev){//谷歌火狐的写法,IE9以上支持,往下不支持;
console.log(e);
document.onclick=function(){//谷歌和IE支持,火狐不支持;
console.log(e);
document.onclick=function(ev){//兼容写法;
var e=ev||window.
var mouseX=e.clientX;//鼠标X轴的坐标
var mouseY=e.clientY;//鼠标Y轴的坐标
DOM节点相关的问题,我直接封装了函数,以便随时可以拿来使用:
//DOM节点相关,主要兼容IE 6 7 8
function nextnode(obj){//获取下一个兄弟节点
if (obj.nextElementSibling) {
return obj.nextElementS
return obj.nextS
function prenode(obj){//获取上一个兄弟节点
if (obj.previousElementSibling) {
return obj.previousElementS
return obj.previousS
function firstnode(obj){//获取第一个子节点
if (obj.firstElementChild) {
return obj.firstElementC//非IE678支持
return obj.firstC//IE678支持
function lastnode(obj){//获取最后一个子节点
if (obj.lastElementChild) {
return obj.lastElementC//非IE678支持
return obj.lastC//IE678支持
document.getElementsByClassName问题:
//通过类名获取元素
document.getElementsByClassName('');//IE 6 7 8不支持;
//这里可以定义一个函数来解决兼容问题,当然别在这给我提jQuery...
//第一个为全局获取类名,第二个为局部获取类名
function byClass1(oClass){//全局获取,oClass为你想要查找的类名,没有“.”
var tags=document.all?document.all:document.getElementsByTagName('*');
var arr=[];
for (var i = 0; i & tags. i++) {
var reg=new RegExp('\\b'+oClass+'\\b','g');
if (reg.test(tags[i].className)) {
arr.push(tags[i]);
//注意返回的也是数组,包含你传入的class所有元素;
function byClass2(parentID,oClass){//局部获取类名,parentID为你传入的父级ID
var parent=document.getElementById(parentID);
var tags=parent.all?parent.all:parent.getElementsByTagName('*');
var arr=[];
for (var i = 0; i & tags. i++) {
var reg=new RegExp('\\b'+oClass+'\\b','g');
if (reg.test(tags[i].className)) {
arr.push(tags[i]);
//注意返回的也是数组,包含你传入的class所有元素;
获取元素的非行间样式值:
//获取元素的非行间样式值
function getStyle(object,oCss) {
if (object.currentStyle) {
return object.currentStyle[oCss];//IE
return getComputedStyle(object,null)[oCss];//除了IE
设置监听事件:
//设置监听事件
function addEvent(obj,type,fn){//添加事件监听,三个参数分别为 对象、事件类型、事件处理函数,默认为false
if (obj.addEventListener) {
obj.addEventListener(type,fn,false);//非IE
obj.attachEvent('on'+type,fn);//ie,这里已经加上on,传参的时候注意不要重复加了
function removeEvent(obj,type,fn){//删除事件监听
if (obj.removeEventListener) {
obj.removeEventListener(type,fn,false);//非IE
obj.detachEvent('on'+type,fn);//ie,这里已经加上on,传参的时候注意不要重复加了
元素到浏览器边缘的距离:
//在这里加个元素到浏览器边缘的距离,很实用
function offsetTL(obj){//获取元素内容距离浏览器边框的距离(含边框)
var ofL=0,ofT=0;
while(obj){
ofL+=obj.offsetLeft+obj.clientL
ofT+=obj.offsetTop+obj.clientT
obj=obj.offsetP
return{left:ofL,top:ofT};
阻止事件传播:
//js阻止事件传播,这里使用click事件为例
document.onclick=function(e){
var e=e||window.
if (e.stopPropagation) {
e.stopPropagation();//W3C标准
e.cancelBubble=//IE....
阻止默认事件:
//js阻止默认事件
document.onclick=function(e){
var e=e||window.
if (e.preventDefault) {
e.preventDefault();//W3C标准
e.returnValue='false';//IE..
关于EVENT事件中的target:
//关于event事件中的target
document.onmouseover=function(e){
var e=e||window.
var Target=e.target||e.srcE//获取target的兼容写法,后面的为IE
var from=e.relatedTarget||e.formE//鼠标来的地方,同样后面的为IE...
var to=e.relatedTarget||e.toE//鼠标去的地方
鼠标滚轮滚动事件:
//鼠标滚轮事件
//火狐中的滚轮事件
document.addEventListener("DOMMouseScroll",function(event){
alert(event.detail);//若前滚的话为 -3,后滚的话为 3
//非火狐中的滚轮事件
document.onmousewheel=function(event){
alert(event.detail);//前滚:120,后滚:-120
节点加载:
//火狐下特有的节点加载事件,就是节点加载完才执行,和onload不同
//感觉用到的不多,直接把js代码放在页面结构后面一样能实现。。
document.addEventListener('DOMContentLoaded',function ( ){},false);//DOM加载完成。好像除IE6-8都可以.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具兼容性处理要点&1、DOCTYPE 影响 CSS 处理&2、FF: 设置 padding 后, div 会增加 height 和 width, 但 IE 不会, 故需要用 !important 多设一个 height 和 width&3、FF: 支持 !important, IE 则忽略, 可用 !important 为 FF 特别设置样式&4、div 的垂直居中问题: vertical-align: 将行距增加到和整个DIV一样高 line-height:200 然后插入文字,就垂直居中了。缺点是要控制内容不要换行&5、在mozilla firefox和IE中的BOX模型解释不一致导致相差2px解决方法:&div{margin:30px!margin:28}&注意这两个margin的顺序一定不能写反,!important这个属性IE不能识别,但别的浏览器可以识别。所以在IE下其实解释成这样:&div{maring:30margin:28px}&重复定义的话按照最后一个来执行,所以不可以只写margin:XXpx!&浏览器差异&1、ul和ol列表缩进问题&消除ul、ol等列表的缩进时,样式应写成:list-style:margin:0padding:0&其中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三项才能达到最终效果。&2、CSS透明问题&IE:filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=60)。&FF:opacity:0.6。&[注] 最好两个都写,并将opacity属性放在下面。&3、CSS圆角问题&IE:ie7以下版本不支持圆角。&FF: -moz-border-radius:4px,或者-moz-border-radius-topleft:4-moz- border- radius-topright:4-moz-border-radius-bottomleft:4-moz- border- radius- bottomright:4。&[注] 圆角问题是CSS中的经典问题,建议使用JQuery框架集来设置圆角,让这些复杂的问题留给别人去想吧。不过jQuery的圆角只看到支持整个区域的圆角,没有支持边框的圆角,不过这个边框的圆角可以通过一些简单的手段来实现,下次有机会介绍下。&4、cursor:hand VS cursor:pointer&问题说明:firefox不支持hand,但ie支持pointer ,两者都是手形指示。&解决方法:统一使用pointer。&5、字体大小定义不同&对字体大小small的定义不同,Firefox中为13px,而IE中为16px,差别挺大。&解决方法:使用指定的字体大小如14px。&并列排列的多个元素(图片或者链接)的div和div之间,代码中的空格和回车在firefox中都会被忽略,而IE中却默认显示为空格(约3px)。&6、CSS双线凹凸边框&IE:border:2。&FF: -moz-border-top-colors: #d4d0c8-moz-border-left-colors: #d4d0c8-moz-border-right-colors:#8080;-moz-border-bottom-colors:#8080;&浏览器bug&1、IE的双边距bug&设置为float的div在ie下设置的margin会加倍。这是一个ie6都存在的bug。&解决方案:在这个div里面加上display:&例如:&&#div id=”imfloat”&&相应的css为&以下为引用的内容:&
#IamFloat{&float:&margin:5/*IE下理解为10px*/&display:/*IE下再理解为5px*/&}&#IamFloat{&float:&margin:5/*IE下理解为10px*/&display:/*IE下再理解为5px*/&}&
关于CSS中的问题实在太多了,甚至同样的CSS定义在不同的页面标准中的显示效果都是不一样的。一个合乎发展的建议是,页面采用标准XHTML标准编写,较少使用table,CSS定义尽量依照标准DOM,同时兼顾IE、Firefox、Opera等主流浏览器。很多情况下,FF和 Opera的CSS解释标准更贴近CSS标准,也更具有规范性。&2、IE选择符空格BUG&今天在给博客的段落样式设置首字符样式的时候发现,原来一个空格也可以使样式失效。&请看以下代码:&
&!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&&&html xmlns="//www.w3.org/1999/xhtml"&&&head&&&title&&/title&&&style type="text/css"&&&!--&p{font-size:12}&p:first-letter{font-size:300%}&--&&&/style&&&/head&&&body&&
&p&对于世界而言,你是一个人;但是对于某个人,你是他的整个世界。纵然伤心,也不要愁眉不展,因为你不知是谁会爱上你的笑容。&/p&&&/body&&&/html&&[/code]&
&!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&&&html xmlns="//www.w3.org/1999/xhtml"&&&head&&&title&&/title&&&style type="text/css"&&&!--&p{font-size:12}&p:first-letter{font-size:300%}&--&&&/style&&&/head&&&body&&&p&对于世界而言,你是一个人;但是对于某个人,你是他的整个世界。纵然伤心,也不要愁眉不展,因为你不知是谁会爱上你的笑容。&/p&&&/body&&&/html&&
这段代码对&p&的首字符样式定义在IE6上看是没有效果的(IE7没测试),而在p:first-letter和{font-size:300%}加上空格,也就是p:first-letter {font-size:300%}后,显示就正常了。但是同样的代码,在FireFox下看是正常的。按道理说,p:first-letter{font-size:300%}的写法是没错的。那么问题出在哪里呢?答案是伪类中的连字符”-”。IE有个BUG,在处理伪类时,如果伪类的名称中带有连字符”-”,伪类名称后面就得跟一个空格,不然样式的定义就无效。而在FF中,加不加空格都可以正常处理。
阅读(...) 评论()/2552.html
使用CSS来修正一切: 20 +常见错误和修复/design/using-css-to-fix-anything-20-common-bugs-and-fixes.html
【总结】IE和Firefox的Javascript兼容性总结
/wiky/archive//IE-and-Firefox-Javascript-compatibility.html
http://www.jb51.net/article/21483.htm Javascript 多浏览器兼容性问题及解决方案一、(1)getElementByid()与eval()问题描述:
在IE中,可以使用eval(“idName”)或getElementById(“idName”)来取得id为idName的HTML对象;
Firefox下只能使用getElementById(“idName”)来取得id为idName的HTML对象;兼容处理:
统一使用getElementByid();(2)const声明问题描述:
在 IE 中不能使用 const 关键字声明变量;兼容处理:
不使用 const ,以 var 代替。(3)CSS的”float”属性访问问题描述:
Javascript访问一个给定CSS 值的最基本句法是:object.style.property,但部分CSS属性跟Javascript中的保留字命名相同,如”float”,”for”,”class”等,不同浏览器写法不同。在IE中这样写:document.getElementById(“header”).style.styleFloat = “left”;在Firefox中这样写:document.getElementById(“header”).style.cssFloat = “left”;兼容处理:
在写之前加一个判断,判断浏览器是否是IE:if(document.all){  document.getElementById("header").style.styleFloat = "left";}else{  document.getElementById("header").style.cssFloat = "left";}(4)访问标签中的”for”问题描述:
和”float”属性一样,同样需要使用不现的句法区分来访问标签中的”for”在IE中这样写:var myObject = document.getElementById("myLabel");var myAttribute = myObject.getAttribute("htmlFor");在Firefox中这样写:var myObject = document.getElementById("myLabel");var myAttribute = myObject.getAttribute("for");兼容处理:
解决的方法也是先 判断浏览器类型。(5)访问和设置class属性问题描述:
同样由于class是Javascript保留字的原因,这两种浏览器使用不同的 JavaScript 方法来获取这个属性。IE8.0之前的所有IE版本的写法:var myObject = document.getElementById("header");var myAttribute = myObject.getAttribute("className");适用于IE8.0 以及 firefox的写法:var myObject = document.getElementById("header");var myAttribute = myObject.getAttribute("class");另外,在使用setAttribute()设置Class属性的时候,两种浏览器也存在同样的差异。 setAttribute("className",value);  这种写法适用于IE8.0之前的所有IE版本,注意:IE8.0也不支持”className”属性了。   setAttribute(“class”,value);适用于IE8.0 以及 firefox。兼容处理:方法一,两种都写上:var myObject = document.getElementById("header");myObject.setAttribute("class","classValue");myObject.setAttribute("className","classValue"); //设置header的class为classValue方法二,IE和FF都支持object.className,所以可以这样写:var myObject = document.getElementById("header");myObject.className="classValue";//设置header的class为classValue方法三,先判断浏览器类型,再根据浏览器类型采用对应的写法。二、DOM方法及对象引用getElementById问题描述:&!-- input对象访问1 --&&input id="id" type="button" value="click me" ōnclick="alert(id.value)"/&在Firefox中,按钮没反应,在IE中,就可以,因为对于IE来说,一个HTML 元素的 ID 可以直接在脚本中当作变量名来使用,而Firefox中不可以。兼容处理:
尽量采用W3C DOM 的写法,访问对象的时候,用document.getElementById(“id”) 以ID来访问对象,且一个ID在页面中必须是唯一的,同样在以标签名来访问对象的时候,用document.getElementsByTagName(“div”)[0] 。该方式得到较多浏览器的支持。&!-- input对象访问2 --&&input id="id" type="button" value="click me"
onclick="alert(document.getElementById('id').value)" /&集合类对象访问问题描述:
IE下,可以使用()或[]获取集合类对象;Firefox下,只能使用[]获取集合类对象document.write(document.forms("formName").src);//该写法在IE下能访问到Form对象的scrc属性兼容处理:将document.forms("formName")改为 document.forms["formName"]。统一使用[]获取集合类对象。frame的引用问题描述:
IE可以通过id或者name访问这个frame对应的window对象,
而Firefox只可以通过name来访问这个frame对应的window对象。例如如果上述frame标签写在最上层的window里面的htm里面,那么可以这样访问: IE: window.top.frameId或者window.top.frameName来访问这个window对象;Firefox:只能这样window.top.frameName来访问这个window对象。兼容处理:
使用frame的name来访问frame对象,另外,在IE和Firefox中都可以使用window.document.getElementById(”frameId”)来访问这个frame对象。parentElement问题描述:
IE中支持使用parentElement和parentNode获取父节点。而Firefox只可以使用parentNode。 兼容处理:
因为firefox与IE都支持DOM,因此统一使用parentNode来访问父节点。table操作问题描述:
IE下table中无论是用innerHTML还是appendChild插入都没有效果,而其他浏览器却显示正常。兼容处理:将&tr&加到table的&tbody&元素中,如下面所示:var row = document.createElement("tr");var cell = document.createElement("td");var cell_text = document.createTextNode("插入的内容");cell.appendChild(cell_text);row.appendChild(cell);document.getElementsByTagName("tbody")[0].appendChild(row);移除节点removeNode()和removeChild()问题描述:
appendNode在IE和Firefox下都能正常使用,但是removeNode只能在IE下用。
removeNode方法的功能是删除一个节点,语法为node.removeNode(false)或者node.removeNode(true),返回值是被删除的节点。removeNode(false)表示仅仅删除指定节点,然后这个节点的原孩子节点提升为原双亲节点的孩子节点。removeNode(true)表示删除指定节点及其所有下属节点。被删除的节点成为了孤立节点,不再具有有孩子节点和双亲节点。兼容处理:
Firefox中节点没有removeNode方法,只能用removeChild方法代替,先回到父节点,在从父节点上移除要移除的节点:
node.parentNode.removeChild(node);
// 为了在ie和firefox下都能正常使用,取上一层的父结点,然后remove。childNodes获取的节点问题描述:
childNodes的下标的含义在IE和Firefox中不同兼容处理:方法一,获取子节点时,可以通过node.getElementsByTagName()来回避这个问题。但是 getElementsByTagName对复杂的DOM结构遍历明显不如用childNodes,因为childNodes能更好的处理DOM的层次结构。方法二,在实际运用中,Firefox在遍历子节点时,不妨在for循环里加上:if(childNode.nodeName=="#text")//或者使用nodeType == 1。Firefox不能对innerText支持问题描述:
Firefox不支持innerText,它支持textContent来实现innerText,不过textContent没有像innerText一样考虑元素的display方式,所以不完全与IE兼容。如果不用textContent,字符串里面不包含HTML代码也可以用innerHTML代替。兼容处理:通过判断浏览器类型来兼容:if(document.all){document.getElementById('element').innerText = "my text";} else{document.getElementById('element').textContent = "my text";}三、事件处理window.event问题描述:function et(){ alert(event);//IE: [object]}以上代码在IE运行的结果是[object],而在Firefox无法运行。因为在IE中event作为window对象的一个属性可以直接使用,但是在Firefox中却使用了W3C的模型,它是通过传参的方法来传播事件的,也就是说你需要为你的函数提供一个事件响应的接口。兼容处理:添加对event判断,根据浏览器的不同来得到正确的event:function et(){ evt=evt?evt:(window.event?window.event:null);
  //兼容IE和Firefoxalert(evt);}键盘值的取得问题描述:
IE和Firefox获取键盘值的方法不同,可以理解,Firefox下的event.which与IE下的event.keyCode相当。兼容处理:function myKeyPress(evt){//兼容IE和Firefox获得keyBoardEvent对象evt = (evt) ? evt : ((window.event) ? window.event : "")
//兼容IE和Firefox获得keyBoardEvent对象的键值var key = evt.keyCode?evt.keyCode:evt. if(evt.ctrlKey && (key == 13 || key == 10)){
      //同时按下了Ctrl和回车键//}}事件源的获取问题描述:
在使用事件委托的时候,通过事件源获取来判断事件到底来自哪个元素,
在IE下,event对象有srcElement属性,但是没有target属性;
Firefox下,even对象有target属性,但是没有srcElement属性。 兼容处理:ele=function(evt){ //捕获当前事件作用的对象
evt=evt||window.  return   (obj=event.srcElement?event.srcElement:event.);}事件监听问题描述:
在事件监听处理方面:
IE提供了attachEvent和detachEvent两个接口,
而Firefox提供的是addEventListener和removeEventListener。兼容处理:最简单的兼容性处理就是封装这两套接口:function addEvent(elem, eventName, handler) {  if (elem.attachEvent) {    elem.attachEvent("on" + eventName, function(){                    handler.call(elem)});     //此处使用回调函数call(),让this指向elem  } else if (elem.addEventListener) {    elem.addEventListener(eventName, handler, false);  }}function removeEvent(elem, eventName, handler) {  if (elem.detachEvent) {    elem.detachEvent("on" + eventName, function(){                    handler.call(elem)});     //此处使用回调函数call(),让this指向elem  } else if (elem.removeEventListener) {    elem.removeEventListener(eventName, handler, false);  }} 需要特别注意,Firefox下,事件处理函数中的this指向被监听元素本身,而在IE下则不然,可使用回调函数call,让当前上下文指向监听的元素。鼠标位置问题描述:
IE下,even对象有x,y属性,但是没有pageX,pageY属性;
Firefox下,even对象有pageX,pageY属性,但是没有x,y属性。 兼容处理:使用mX(mX = event.x ? event.x : event.pageX;)来代替IE下的event.x或者Firefox下的event.pageX。复杂点还要考虑绝对位置。function getAbsPoint(e){var x = e.offsetLeft, y = e.offsetTwhile (e = e.offsetParent) {x += e.offsetLy += e.offsetT}alert("x:" + x + "," + "y:" + y);}6、window.location.href问题 问题描述:
IE或者Firefox2.0.x下,可以使用window.location或window.location.href;Firefox1.5.x下,只能使用window.location。兼容处理:
使用 window.location 来代替 window.location.href。当然也可以考虑使用 location.replace()方法。 7、事件委托方法 问题描述:
IE下,使用 document.body.onload = 其中function inject()在这之前已被实现;
在Firefox下,使用 document.body.onload = inject(); 兼容处理:
统一使用 document.body.onload=new Function(‘inject()’);
或者 document.body.onload = function(){/* 这里是代码 */} 四、其他差异的兼容处理XMLHttpRequest问题描述:new ActiveXObject("Microsoft.XMLHTTP");只在IE中起作用,Firefox不支持,但支持XMLHttpRequest。兼容处理:function createXHR() {var xhr= if(window.XMLHttpRequest){xhr=new ActiveXObject("Msxml2.XMLHTTP"); }else{ try { xhr=new ActiveXObject("Microsoft.XMLHTTP"); } catch() { xhr= } }if(!xhr)}模态和非模态窗口问题描述:
IE中可以通过showModalDialog和showModelessDialog打开模态和非模态窗口,但是Firefox不支持。 兼容处理:
直接使用window.open(pageURL,name,parameters)方式打开新窗口。 如果需要传递参数,可以使用frame或者iframe。input.type属性问题
IE下 input.type属性为只读,但是Firefox下可以修改对select元素的option操作设置options,IE和Firefox写法不同:Firefox:可直接设置:option.text = 'foooooooo';IE:只能设置:option.innerHTML = 'fooooooo';删除一个select的option的方法:Firefox:可以select.options.remove(selectedIndex);IE7:可以用select.options[i] =IE6:需要写select.options[i].outerHTML =img对象alt和title的解析问题描述:
img对象有alt和title两个属性,区别在于,alt:当照片不存在或者load错误时的提示。
title:照片的tip说明, 在IE中如果没有定义title,alt也可以作为img的tip使用,但是在Firefox中,两者完全按照标准中的定义使用 兼容处理:
最好将alt和title对象都写全,保证在各种浏览器中都能正常使用 。img的src刷新问题问题描述:&img id="pic" onclick= "this.src= 'a.jpg'"src="aa.jpg" /&在IE 下,这段代码可以用来刷新图片,但在FireFox下不行。主要是缓存问题。兼容处理:在地址后面加个随机数就解决了: &img id="pic" onclick= "javascript:this.src=this.src+'?'     +Math.random()"src="a.jpg" /&
最新教程周点击榜
微信扫一扫

我要回帖

更多关于 支付宝拉黑对方知道吗 的文章

 

随机推荐