全国服务热线:18980020603 成都热线:028-86633922
新闻中心网站专题联系我们
行业新闻 建站经验 网站建设资讯 手机网站资讯 微信网站建设资讯 APP开发资讯 商城网站资讯

成都网站制作: BUG(IE8-) 全局变量作用范围

发布人:桔子科技    发布时间:2015-05-05 09:28:00    分享到:

今天在调试低版本IE的兼容性时遇到一个很奇葩的问题,在IE8-中,使用window.*方式定义的全局变量竟然会因为在不同的SCRIPT标签中执行而失效。在全局作用域使用var语句或直接对为定义的变量赋值创建的全局变量都可以正常工作,唯有window.*存在BUG。
下面是BUG重现:
运行<script>
window.g=1;
</script>
<script>
var g=g||2;
alert(g);
</script>
这个代码在IE8-上会弹出2,而其它正常的浏览器都弹出1。
我们使用window[name],这样的方式定义变量时通常是变量名为一个字符串的时候。这样我们当然无法直接使用var,也无法直接对这个动态变量名赋值。于是要解决这个问题,我们可以使用execScript执行一个全局的var语句,在全局作用域上定义一次,让浏览器知道这个变量名是全局变量。这样就不会再出问题了。
运行<script>
var name=”g”;
//修复IE8-的BUG
-[1,]||execScript(“var “+name);
window[name]=1;
</script>
<script>
var g=g||2;
alert(g);
本文来源于成都网站建设公司、成都网站设计制作公司与成都APP开发公司-桔子科技公司!
成都网站建设,成都网站设计,成都网站制作,成都网页设计,成都网站建设公司 ,成都网站设计公司, 成都网站制作公司,成都手机网站建设,手机网站建设,成都APP开发,APP开发,成都建网站,成都做网站,成都微信网站建设,成都微商城网站建设,成都商城网站建设,成都网络公司。
 

下一篇:介绍JS和CSS资源加载标签的放置位置上一篇:企业网站建设、制作中需要注意的事项

最新案例
手机/微网站
  1. [成都]微信网站建设:微信分销系统能为商铺带来哪些特色服务
  2. [成都]微信网站建设:如何通过微信公众号来推广产品
  3. [成都]微信网站建设:微信开发都有些什么功能
  4. [成都]手机网站:手机网站设计需要达到什么效果
  5. [成都]手机网站:手机网站响应式网站解决方案
  6. [成都]手机网站:手机网站响应式网站解决方案
网络营销
  1. APP开发: APP网页评分功能设计
  2. APP开发:手机APP开发前这4点必须要了解
  3. APP开发:为什么企业要做手机APP
  4. APP开发:你可以更好的留住APP用户
  5. APP开发:开发时间的长短主要由哪些因素决定
  6. APP开发:电子商务类APP开发的4点建议
img

7x24小时售后服务

img

5倍故障时长赔付

img

15天无理由退款

img

N对一管家服务

让我们的顾问联系您

  • 电话:4006-028-024 028-86633922

    邮箱:Service@orangeapp.cn

    成都市成华区崔家店路789号上城国际1-24-9号

qq sina