IE8与document.style.setExpression

本文探讨了在IE8浏览器中遇到的特定JavaScript代码兼容性问题,并提供了解决方案。通过设置<meta>标签以启用IE8的IE7兼容模式,可以确保页面元素正确定位。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

var tr=document.getElementsByTagName('tr')[0];

tr.style.setExpression("top",  "this.parentElement.parentElement.parentElement.scrollTop + 'px'");

 

这样的代码在IE8下测试是不能通过的,会提示“尚未实现”。

解决方案:在html的head中添加<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />以保持与IE7及以前版本的兼容性。

 

X-UA-Compatible是随着IE8的出现而产生的,IE8增加了一些对标准的支持,按照通俗的道理来讲,更加符合市场和开发者的需求的,但问题是一个充分符合标准的IE8与之前不符合标准的IE6以及部分符合标准的IE7就不能完全兼容了。换句话说:在IE6或者IE7下正常显示的网页有可能在IE8上不能正常显示,微软显然注意到了这点,于是在IE8上微软提出了一个新的处理方式:X-UA-Compatible来强制指定解析方式。

为什么@Import了指定的@Configuration,但是未起效@Configuration @ConditionalOnProperty( prefix = "kmc", name = {"aop.expression"} ) public class KmcDynamicAopConfig { private static final Logger log = LoggerFactory.getLogger(KmcDynamicAopConfig.class); @Value("${kmc.key.id}") private int kmcKeyId; @Autowired private KmcCrypto kmcCrypto; @Value("${kmc.aop.expression}") private String kmcAopExpression; private static boolean kmcEncryptFlag; private static Integer kmcMaxEncryptLength; private static String toggleFlag; public KmcDynamicAopConfig() { } @Value("${kmc.encrypt.flag:true}") public void setKmcEncryptFlag(boolean kmcEncryptFlag) { KmcDynamicAopConfig.kmcEncryptFlag = kmcEncryptFlag; } @Value("${kmc.encrypt.toggle:1}") public void setToggleFlag(String toggle) { toggleFlag = toggle; } @Value("${kmc.max.encrypt.length:-1}") public void setKmcMaxEncryptLength(Integer kmcMaxEncryptLength) { KmcDynamicAopConfig.kmcMaxEncryptLength = kmcMaxEncryptLength; } public static Integer getKmcMaxEncryptLength() { return kmcMaxEncryptLength; } public static boolean getKmcEncryptFlag() { return kmcEncryptFlag; } public static String getToggleFlag() { return toggleFlag; } @Bean public Pointcut kmcPointCut() { AspectJExpressionPointcut kmcDynamicPointcut = new AspectJExpressionPointcut(); kmcDynamicPointcut.setExpression(this.kmcAopExpression); log.info("切点:>{}", JSON.toJSONString(kmcDynamicPointcut.getExpression())); return kmcDynamicPointcut; } @Bean KmcAdvice kmcAdvice() { return KmcAdvice.getKmcAdviceInstance(this.kmcCrypto, this.kmcKeyId); } @Bean DefaultPointcutAdvisor kmcPointcutAdvisor() { DefaultPointcutAdvisor kmcPointcutAdvisor = new DefaultPointcutAdvisor(); kmcPointcutAdvisor.setPointcut(this.kmcPointCut()); kmcPoint
最新发布
03-19
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值