Ie9 ext tree 失效

  我看到好多网上实现ie9ext tree的办法都是通过渲染模式为ie8 或者更低的浏览器,其实现的代码都是添加meta标记(<metahttp-equiv="X-UA-Compatible" content="IE=8" />),这样是可以解决ie9中面板事件失效的问题,但是这不是一个最终的解决办法,通过我一天的调试研究,我修改了下ext-all.js的代码,之后通过一步一步调试,才解决了ie9的这个问题.. 下面我详细说下哪里错了,具体怎么改,以后我们应该注意什么.

1.      哪里错了:

a)   得到ext-all.js的未压缩版,我是得到ext-all.js的压缩版,然后通过js美化,得到清晰地版本,解压的地址为(http://app.baidu.com/webkits)
b)   然后找到相应的代码块getAttributeNS 属性所对应的函数属性所对应的函数,代码如下:

[javascript]   view plain copy
  1. getAttributeNS: Ext.isIE ?  
  2.         function (ns, name) {  
  3.             var  d =  this .dom;  
  4.             var  type =  typeof  d[ns +  ":"  + name];  
  5.             if  (type !=  "undefined"  && type !=  "unknown" ) {  
  6.                 return  d[ns +  ":"  + name]  
  7.             }  
  8.             return  d[name]  
  9.         }: function (ns, name) {  
  10.             var  d =  this .dom;  
  11.             return  d.getAttributeNS(ns, name) || d.getAttribute(ns +  ":"  + name) || d.getAttribute(name) || d[name]  
  12.         }  
(c)  首先这个方法的作用是: 通过命名空间 URI 和名称来获取属性值。
参数描述
ns
必需。规定从中获取属性值的命名空间 URI。
name必需。规定从中取得属性值的属性。
(d)  这段代码在ie9中取属性值得方式错了. 在这块是通过数组的行式来取 取出来的值是null类型,

2.      怎么改:

将数组的取值方式改为是通过attribute的类型来取.代码如下(为了兼容其他的类型,可能我还对操作属性还不是很理解透彻,所以做的保险一点,不修改原来的代码在后面添加代码 ):

[javascript]   view plain copy
  1. getAttributeNS: Ext.isIE?  
  2.             function (ns, name) {  
  3.                 var  d =  this .dom;  
  4.                 var  type =  typeof  d[ns +  ":"  + name];  
  5.                 if  (type !=  "undefined"  && type !=  "unknown" ) {  
  6.                     return  d[ns +  ":"  + name]  
  7.                 }  
  8.                 type = typeof  d[name];  
  9.                 if (type !=  "undefined"  && type !=  "unknown" )  
  10.                 {  
  11.                     return  d[name];  
  12.                 }  
  13.                 type=typeof  d.getAttribute(ns +  ":"  + name);  
  14.                 if (type !=  "undefined"  && type !=  "unknown" )  
  15.                 {  
  16.                     return  d.getAttribute(ns +  ":"  + name);  
  17.                 }  
  18.                 type=typeof  d.getAttribute(name);  
  19.                 if (type !=  "undefined"  && type !=  "unknown" )  
  20.                 {  
  21.                     return  d.getAttribute(name);  
  22.                 }  
  23.                 return   null ;  
  24.         }: function (ns, name) {  
  25.             var  d =  this .dom;  
  26.             return  d.getAttributeNS(ns, name) || d.getAttribute(ns +  ":"  + name) || d.getAttribute(name) || d[name]  
  27.         }  

我只是在它后面多添加了几次判断,如果没有走方法体内的return,那么就会往下执行,这样可以不会影响ext其他的影响..

3.      今后应该注意什么:

         这个ext tree的 ie9 bug 是在取dom属性的值时候报了错,所以以后在拿什么样的属性,用getAttribute, 什么样的属性用 数组形式取值, 什么浏览器下,用什么取值方式,都得注意一下,现在我还没有对取值方式没有研究透彻,下次blog里面将会详细介绍如何《js  dom对象 属性值》希望大家多多提意见,


 

前端犄角旮旯,非常规面试题总结(不断更新....) 27、判断类型的方式有哪些?1、typeof操作符:用来检测数据的类型,返回的是一个表示类型的字符串。2、instanceof操作符:用来检测对象是否为指定的构造函数的实例。3、方法:可以返回对象的准确类型。4、方法:用来判断一个变量是否为数组。(一)typeof和instanceof区别typeof返回的是一个字符串,表示变量的数据类型,可能的返回值有numberstringbooleanfunctionundefinedobject。instanceof返回的是一个布尔值,true或。 阅读详情

相关推荐

Ubuntu零基础入门到精通【3.5讲】:双系统安装 Ubuntu 与 Windows:从分区原理到系统引导,一次讲透!

🏆 本文收录于 《滚雪球学 Ubuntu》 专栏。 本专栏面向有一定计算机基础,但尚未系统学习 Linux / Ubuntu 的读者,采用“滚雪球式学习法”:先装好、再会用、再理解、再优化、再实战,带你从第一次进入 Ubuntu 桌面 / 终端开始,逐步掌握 Ubuntu 的日常使用、命令操作、软件安装、系统配置、开发环境搭建与服务器部署能力。

**My Coding Family** 1341

ExtJS TreePanel 在IE9、IE10下报错:无法获取未定义或 null 引用的属性ui

在使用ExtJS 3.0的时候,出现这个问题。树节点可以绘制出来,但是却不能点击。打开控制台后发现报错:无法获取未定义或 null 引用的属性“ui”。如果开启兼容模式在没有问题,在Google浏览器下没有问题。 在网上搜索的时候发现有人说在ExtJS 2.2中同样出错,估计是老版本的ExtJS不兼容IE9、IE10造成的。网上给出的解决方案是: 找到getAttributeNS方法,

jxzhangfan的博客 7672

Ubuntu零基础入门到精通【3.1讲】:图形化安装 Ubuntu Desktop 完全实战指南!

🏆 本文收录于 《滚雪球学 Ubuntu》 专栏。 本专栏面向有一定计算机基础,但尚未系统学习 Linux / Ubuntu 的读者,采用“滚雪球式学习法”:先装好、再会用、再理解、再优化、再实战,带你从第一次进入 Ubuntu 桌面 / 终端开始,逐步掌握 Ubuntu 的日常使用、命令操作、软件安装、系统配置、开发环境搭建与服务器部署能力。

**My Coding Family** 2328

ext3与ie9解决办法

1.解决panel失效问题   if ((typeof Range !== "undefined") && !Range.prototype.createContextualFragment) {   Range.prototype.createContextualFragment = function(html) {   var frag = document.createDoc

wintersdl的专栏 1441

AI助力运维——AIGC运维应用实践—玩转龙虾(OpenClaw)之编写并使用技能处理日常运维故障

本文介绍了OpenClaw在AIGC运维领域的应用实践,重点讲解了其与传统大模型的区别及技能编写方法。OpenClaw能像现场专家一样直接诊断并自动修复故障,而传统大模型仅能提供通用解决方案。文章详细展示了多个实用运维技能的创建过程,包括Linux通用故障排查、磁盘检测修复、文件系统异常诊断、Java性能调优、网络安全扫描和软件安装等场景。每个技能模板都严格遵循非侵入性原则,确保系统安全,并提供标准化的报告输出格式。为运维人员提供了开箱可用的智能化运维方案。

提供C#相关开发 、云计算、运维测试、网络安全相关技术分享与服务,有意向可联系。 86

拼多多Android面试题及参考答案

Android 系统采用分层架构设计,从底层到上层依次为Linux 内核层硬件抽象层(HAL)系统运行时库层应用框架层应用层,共五层。位置:Linux 内核层与系统运行时库层之间,是“硬件与系统的隔离层”。核心作用:屏蔽硬件差异,为上层提供统一的硬件访问接口,解决 Android 开源与硬件厂商闭源的矛盾,具体功能如下:硬件能力抽象:将硬件的具体实现(如不同厂商的摄像头芯片、音频芯片)封装为标准化接口(如Camera HALAudio HAL。

大模型大数据攻城狮的专栏 1285

ie9 不能执行extjs的解决办法

ExtJS 3 不能在IE9下正常运行的简单解决办法 博客分类: JavaScript IE浏览器GoogleHTMLWeb  今天碰到一个问题,我们的一个项目是用ExtJS做的,但在IE9下几乎完全不能用。排除Bug半天后才发现是ExtJS本身就无法在IE9下正常运行。抛开一些细小的问题,最典型的就是TreePanel根本无法使用,节点都无法点开……google了一下,ExtJS的论坛

zhuixunhebe1的专栏 524

【信息科学与工程学】【物理/化学科学和工程技术】第八篇 光学07

对于光源-探测器距离 ρ, 稳态漫反射率 R(ρ) ≈ (1/(4π)) [ z₀ (μ_eff + 1/r₁) exp(-μ_eff r₁)/r₁² + (z₀ + 2z_b) (μ_eff + 1/r₂) exp(-μ_eff r₂)/r₂² ], 其中 μ_eff = √(3μ_a(μ_a+μ_s’)), z₀=1/μ_s’, z_b 与边界条件有关。通过测量光纤各点的布里渊频移 ν_B(z) 来得到应变/温度分布:Δν_B(z) = C_ν,ε Δε(z) + C_ν,T ΔT(z)。

weixin_49199313的博客 334

EXT3.3在IE9上 , TreePanel click event 失效

///下面的节点sys_baseRoot.appendChild(new Ext.tree.TreeNode({ id: 'sys_params', text: '用户管理', //icon: 'content/images/find.png', hidden:menuPower(8), listeners: { 'click': function(...

weixin_33918357的博客 80

OFDM基本原理

OFDM基础介绍,包括OFDM的核心思想,数学推导了OFDM信号的调制解调过程。

伊丽莎白的学习之路 8912

音乐频谱灯的硬件艺术:从STM32到SK9822LED的工程美学

本文探讨了基于STM32微控制器和SK9822 LED的音乐频谱灯硬件设计与实现。通过ADC采集音频信号,利用FFT算法进行频谱分析,并驱动LED阵列呈现动态视觉效果,展现了硬件工程与艺术美学的完美融合。

Pepper的专栏 218

解决EXT3.3.1在IE9上 , TreePanel click event 失效

在HTML中添加下面一行: &lt;meta http-equiv="X-UA-Compatible" content="IE=8" /&gt;   原文:http://www.oschina.net/question/109139_21077

iteye_15850的博客 177

从ADS到SystemVue:当简单链路预算不够用时,我的射频系统级仿真方案升级实录

本文详细介绍了从ADS到SystemVue的射频系统级仿真升级路径,重点分析了基础链路预算在多端口元件和复杂场景下的局限性,并提供了SystemVue在非线性系统验证和跨域协同分析中的优势。通过实际案例展示了如何平滑迁移工具链,提升仿真精度和效率,适用于5G、毫米波雷达等现代射频系统设计。

weixin_34233974的博客 345

Python图像处理实战:从OpenCV基础到质量评估系统开发

数字图像处理作为计算机视觉的核心基础,通过将图像转换为数字矩阵进行分析和操作。其基本原理涉及像素级的数学运算,包括色彩空间转换、滤波增强等关键技术。在工程实践中,图像处理的价值体现在提升图像质量、提取有用信息以及实现自动化分析。OpenCV作为行业标准库,结合Python生态中的NumPy、PIL等工具,为医疗影像诊断、工业质检、安防监控等场景提供强大支持。本文以图像质量评估系统开发为例,详细解析从环境配置、基础操作到边缘检测、图像分割等完整技术栈,帮助开发者掌握数字图像处理与OpenCV实战应用。

weixin_33843409的博客 426

【项目实战】DevOps制品管理之JFrog Artifactory介绍

JFrog Artifactory是一款领先的二进制软件制品仓库管理工具,由JFrog公司开发。

奶爸的编程之路,也就一周冷个三天 1356

【AI Agent系列】【阿里AgentScope框架】深入源码:Msg是如何转变成模型需要的Prompt形式的?多模态Prompt如何构建?

前面咱们学习AgentScope,在使用Agent来对话时,输入为一个 Msg 对象,不能是字符串,然后在Agent内部,会将Msg对象转换为模型接受的Prompt。那 AgentScope 如何根据 Msg 形成相应模型接收的Prompt结构的?如何使用 Msg 带入更多的参数,传递给大模型呢?

同学小张的博客 1535

Vue3打包报错‘Vue is not defined‘解决方案

在Vue3项目开发中,模块化设计和Tree Shaking优化改变了传统全局Vue对象的使用方式。现代前端工程通过ES模块实现按需导入,配合webpack、vite等构建工具实现代码优化。当项目从Vue2迁移到Vue3时,常见的'Uncaught ReferenceError: Vue is not defined'错误往往源于打包配置不当或API调用方式未更新。解决方案包括正确使用createApp工厂函数、调整externals配置、处理CDN引入等场景,同时需要注意微前端架构和第三方库的兼容性问题。通

weixin_30482181的博客 381

【算法】克里金kriging参数值预测模型

模型中特征值2个,目标值1个,data数据集如图所示。搭建kriging参数值预测模型。

weixin_48618536的博客 5060

工作中使用到的单词(软件开发)_第五版

本文摘要: 本文为软件开发相关的术语与技术要点整理,主要包含2020-2025年间四版内容更新(No.01-41)。重点包括: 证书文件格式(PEM/P12)差异 外部API通信注意事项(Accept头设置、HTTPS连接问题) Postman工具使用技巧(Cookie管理、请求头设置) WAS配置相关经验(JVM设置、SSL连接问题) 数据库操作命令(DB2表结构修改) IBM安全管理组件(TAM/iv-user机制) 网络通信细节(chunked传输编码特性) 常用开发工具(curl、Postman)的

sun0322 2521

【GameFramework框架内置模块】15、场景(Scene)

场景(Scene)模块,提供场景管理的功能,负责场景的加载、卸载、切换和管理。可以方便地管理不同场景之间的切换以及不同场景之间的信息传递。

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 1888

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Jmeter接口性能测试

1.jmeter简介 Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。开源,免费且具有了LoadRunner95%以上的功能,性价比极高。 2.jmeter特点 支持对多种服务类型进行测试;

guo_qingxia的博客 5072

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Ext在IE9下出现的兼容性问题

交了项目后工头说不能显示界面,然后他是IE9,我用的是IE8,Google了下,许多人遇上这个问题,说在head里面加上 就可以了 加上去了,然后……继续不显示 没Google到,回来百度了下,看到一条说特殊字符,然后换火狐试下,可以显示了 火狐对特殊字符不敏感,但IE9貌似不能识别json里面的特殊字符,所以IE9遇上特殊字符后界面会显示异常...

manyouying1991的博客 388

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

上一篇: JS对象序列化为JSON对象
下一篇: 安装opencms ,MySQL 'max_allowed_packet'....
programloverjack
博客等级 码龄17年 5粉丝 252原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值