IE8兼容模式与非兼容式的Object元素新发现

本文通过一个示例展示了在IE8浏览器中,Object元素在兼容模式和非兼容模式下可能存在不同的行为。代码中利用JavaScript获取并修改Object元素的data属性,揭示了在两种模式下可能存在的差异,对于理解IE8的兼容性问题有一定参考价值。
  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="webProject.兼容非兼容.WebForm1" %>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3.  
  4. <html xmlns="http://www.w3.org/1999/xhtml" >
  5. <head runat="server">
  6.     <title></title>
  7.         <script type="text/javascript">
  8.     function clk() {
  9.         var VLCObj = document.getElementById('MyOject0');
  10.         if ( VLCObj != null )
  11.         {
  12.             alert(VLCObj.data);
  13.             VLCObj.data = "";
  14.         }
  15.         alert(VLCObj.data);
  16.  
  17.         var VLCObj1 = document.getElementById('myTest');
  18.         if (VLCObj1 != null)
  19.         {
  20.             alert(VLCObj1.data);
  21.             VLCObj1.data = "";
  22.         }
  23.         alert(VLCObj1.data);
  24.     }
  25.         </script>
  26. </head>
  27. <body>
  28.     <form id="form1" runat="server">
  29.     <div>
  30.     <div id="myTest" onclick="clk()">mytest</div>
  31.     </div>
  32. <object width="301" height="230" title="" id="MyOject0" classid="clsid:52c209fd-75f6-41da-893f-fbda4a1bb1b8" style="background-color: black; display: block;"/>
  33.     </form>
  34. </body>
  35. </html>
如上代码
非兼容模式下,object元素是默认有一个data值,且为空,当我们为它赋值后,这个值会变为,当前URL.
兼容模式下,object元素是无默认data值,为undefined,当我们为它赋值后,这个值就为空.
 
所以在使用自定义属性时,应避免使用data之类可能为保留字的名称。
原文链接:http://www.software8.co/wzjs/Javascript/4188.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值