复制代码 代码如下:

浏览器的趋势是加入越来越多对象,像Worker,同时也为旧有的对象添加新方法。如何兼容它的第一步就是检测它们是否存在,没有则补上自己的兼容代码。这时问题就来了,有的类库是给你做了这一步,但有时没有,有时是做了,但并不符合标准。因此单纯是typeof
Array.prototype.map ===
“function”可能不够用。这时isNative方法就要登场了。
我一直用的版本,自己写的:

升级了IE10,发现flexigrid无法显示数据,提示获取到了数据,但没任何报错任何显示。截图如下。
跟踪代码,发现内部是生成了td,tr和要显示的数据,但没有显示出来。
经过试验和跟踪,修改如下。

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”
“;
<html xmlns=”” >
<head>
<title>Untitled Page</title>
<script type=”text/javascript”
src=jquery-1.8.0.js></script>
<script>
$(document).ready(function () {
//当点击顶部按钮的时候,执行方法,scrollTop属性获取选中标签距滚动条的距离。
$(‘#top’).click(function () {
$(‘html’).animate(
{ scrollTop: ‘0px’ }, 1000
);
});
//当点击底部标签时候,执行方法,其中offset()获取匹配元素在当前视口的相对偏移,返回的是一个对象,有两个属性top,left
//animate,的第二个属性当然我们也可以设置’slow’,’normal’或’fast’
$(‘#foot’).click(function () {
$(‘html’).animate(
{scrollTop:$(‘span’).offset().top},1000
);
澳门微尼斯人手机版,});
});
</script>
</head>
<body>
<br /> <br /> <br /> <br /> <br />
<a href=”#” id=”foot”>底部</a>
<br /> <br /> <br /> <br /> <br />
<br /> <br /> <br /> <br /> <br />

复制代码 代码如下:

在addData中修改

<a href=”#” id=”top”>顶部</a>
<br /> <br /> <br /> <br /> <br />
<span></span>
</body>
</html>

var isNative = function(method){//判定是否为原生方法 
      return !! method && (/{s*[native code]s*}/.test(method+””)
|| 
          /{s*/* source code not available
*/s*}/.test(method+””));//这里是为了兼容opera9.x的 
  }

复制代码 代码如下:

代码如下: !DOCTYPE html PUBLIC
“-//W3C//DTD XHTML 1.0 Transitional//EN”
“” html
xmlns=”…

但世界这么大,肯定也有研究过这问题,下面是Diego
Perini的版本,指出safari对原生方法的toString值其实也是个不合群的:

$(t).append(tbody);

$(t).append(‘<table cellpadding=0 cellspacing=0>’+tbody.outerHTML

复制代码 代码如下:

  • ‘</table>’);

发表评论

电子邮件地址不会被公开。 必填项已用*标注