我的IE浏览器和360游览器都不支持Object.defineProperty,怎么解决?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我的IE浏览器和360游览器都不支持Object.defineProperty,怎么解决?相关的知识,希望对你有一定的参考价值。

代码如下:

运行结果如下:

这种情况怎么解决?

参考技术A 如果您用360浏览器,看看地址栏右侧是闪电图标的时候,是否支持呢? 参考技术B 把360安全浏览器切换到兼容模式下就可以了。Object.defineProperty不支持Chromium内核的浏览器

JavaScript 的setAttribute问题

<div id="div1" class="class1></div>
然后我用
div1.setAttribute("class","class2")这样改变class但是不能兼容所有游览器
就指IE说,IE8可以显示正常,IE6 IE7就不能。

代码也是网上抄袭的,谁能帮我写个可以判断游览器然后给出不同游览器命名class的规则

意思也就是兼容所有游览器……

你自己应该已经了解了不同浏览器的不同语法,所需要的应该仅仅是判断浏览器名称和版本的代码。如下:
<script type="text/javascript">
var Sys = ;
var ua = navigator.userAgent.toLowerCase();
window.ActiveXObject ? Sys.ie = ua.match(/msie ([\\d.]+)/)[1] :
document.getBoxObjectFor ? Sys.firefox = ua.match(/firefox\\/([\\d.]+)/)[1] :
window.MessageEvent && !document.getBoxObjectFor ? Sys.chrome = ua.match(/chrome\\/([\\d.]+)/)[1] :
window.opera ? Sys.opera = ua.match(/opera.([\\d.]+)/)[1] :
window.openDatabase ? Sys.safari = ua.match(/version\\/([\\d.]+)/)[1] : 0;

//以下进行测试
if(Sys.ie) document.write(\'IE: \'+Sys.ie);
if(Sys.firefox) document.write(\'Firefox: \'+Sys.firefox);
if(Sys.chrome) document.write(\'Chrome: \'+Sys.chrome);
if(Sys.opera) document.write(\'Opera: \'+Sys.opera);
if(Sys.safari) document.write(\'Safari: \'+Sys.safari);
</script>

ps:兼容所有的浏览器是不可能的,这个世界上有数百种浏览器,并且还在不断出现新的浏览器,我们程序员没必要去适应那些极少有人用的浏览器,上述代码能判断市面上使用最多的五种浏览器。
参考技术A IE6,IE7应该用div1.setAttribute("className","class2") 参考技术B 你试下div.className="class2"; 参考技术C 兼容所有浏览器的方法就是使用元素的className来直接设置CLASS
即:div1.className = 'yourname';

以上是关于我的IE浏览器和360游览器都不支持Object.defineProperty,怎么解决?的主要内容,如果未能解决你的问题,请参考以下文章

游览器

JSP页面。突然间页面就处于加载中。重装浏览器,或者重新安装JAVA虚拟机都不可以解决。用的是IE6和360

解决方法正常游览Flash页面,解决主流游览器的不支持问题(如Edge,Firefox)

为啥我的CSS样式表在火狐游览器里没有起来作用?

为啥我安装了网银控件,谷歌浏览器还是提示没有安装?刷新N次都没用,但是用IE浏览器很正常。

IE游览器强制广告问题