IE与FireFox的JavaScript兼容问题

【CAN通讯系列18】- NM在干什么?休眠唤醒 同时针对不同休眠或唤醒场景,网管报文的userdata有所区别,如何做到场景与网管报文内容一一映射,通常会定义另一帧报文,用来表明当前是哪个或哪几个唤醒条件或休眠条件满足。又或者如果用户发现汽车电量不充足了,那么会有充电需求,插枪充电,这时如果插上慢充枪,那么OBC会先被唤醒,识别出插枪行为及其慢充枪的连接状态,然后OBC唤醒BMS和其他相关的控制器进行充电。也就是说,通过对一个又一个整车功能和应用场景的详细分析,最终能够汇总出整车所有的休眠唤醒场景需求,通常会用一个表格来管理,俗称休眠唤醒表。 阅读详情


以下是 我在开发中遇到的情况:

1、动态删除table里的某一行。

table:表示table对象。

k:表示行号

table.rows[k].removeNode(true); //firefox执行失败,ie执行成功

IE与FireFox兼容写法

table.deleteRow(k);

 

 2、为HTML标签自定义属性。

inputElement:表示表单元素。

propertyName:表示表单元素下的某个属性

inputElement.propertyName; //firefox执行失败,ie执行成功

IE与FireFox兼容写法

document.getElementById("txtInput").attributes["idvalue"].nodeValue

 

3、在指定位置插入HTML元素。

inputElement:表示表单元素。

vDiv:表示将要插入的HTML元素。

inputElement.insertAdjacentElement("AfterEnd",vDiv);//firefox执行失败,ie执行成功

IE与FireFox兼容写法

在firefox中,没有该方法的定义,因此,如果需要调用该方法,需要自己重定义该方法。

//重写insertAdjacentElement()方法,因为firefox中没有该方法
             HTMLElement.prototype.insertAdjacentElement=function(where,parsedNode){
                switch(where){
                    case "beforeBegin":
                        this.parentNode.insertBefore(parsedNode,this);
                        break;
                    case "afterBegin":
                        this.insertBefore(parsedNode,this.firstChild);
                        break;
                    case "beforeEnd":
                        this.appendChild(parsedNode);
                        break;
                    case "afterEnd":
                        if(this.nextSibling)
                            this.parentNode.insertBefore(parsedNode,this.nextSibling);
                        else
                            this.parentNode.appendChild(parsedNode);
                        break;
                    }
                }

4、break语句失效。

在IE里执行for循环语句时原本使用break可以跳出当次循环。但在FF里面就变成了退出整个循环。这时候改用continue语句即可。

 

5、firefox报String contains an invalid character。

var chkBox=document.createElement('<input type="Checkbox" name="treeBox" value= '+key+'>'); //在IE下成功执行

IE与FireFox兼容写法

firefox不支持这种createElement的定义方式,需要分步进行:

 var chkBox = document.createElement('input');
 chkBox.name = "treeBox";
 chkBox.type = "checkbox";

chkBox.value = key;

 

6、table 对象的 (表格行)对象的集合
bdList.rows(k).cells(0).innerHTML = "<a>aaa</a>";//firefox执行失败,ie执行成功

IE与FireFox兼容写法

bdList.rows[k].cells[0].innerHTML = "<a>aaa</a>";


 

7、JS的getYear()方法在firefox里的问题

var today = new date();
var year = today.getYear();
在 Firefox 里面 getYear 返回的是 "当前年份-1900" 的值 IE里面则:
当today的年份小于2000的时候,和firefox一样。所以最好用 getFullYear getUTCFullYear 去调用

IE与FireFox兼容写法

var today = new date(); 
var year = today.getFullYear(); 

嵌入式Linux&Android开发-环境搭建 目录 一、环境要求 二、相关软件&SDK下载 三、环境安装 3.1 VMware Worksation 3.2 Ubuntu1804 3.3 VSCode安装 3.4 Samba服务器搭建 一、环境要求 编译 Android 对机器的配置要求较高: 64 位 CPU 大于12GB 物理内存+交换内存(最好16GB以上) 30GB 空闲的磁盘空间用于构建,源码树另外占用大约 25GB, 如果要编译源码则还需要 150GB 的磁盘空间。 RK官方推荐使用 Ubuntu 16.. 阅读详情

相关推荐

雷电模拟器+Auto.js避坑指南:用桥接模式解决PC与模拟器连接超时问题

本文详细解析了雷电模拟器与Auto.js联调中的桥接模式应用,解决PC与模拟器连接超时问题。通过桥接模式配置、高频故障排查及多开环境下的高阶配置,提升开发效率与稳定性,特别适合需要稳定网络连接的Auto.js开发者。

weixin_28836989的博客 632

使用火狐浏览器报错

selenium使用报错“selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.” 安装了python2.7.8,使用pip安装了selenium,但是在使用时,报了“selenium.common.exceptions.WebDriverExcep...

sunny_happy08的博客 1979

用ESP32和HomeSpan自制HomeKit智能灯,手把手教你从零接入苹果家庭App

本文详细介绍了如何使用ESP32开发板和HomeSpan开源库自制原生HomeKit智能灯,从硬件搭建到软件配置,再到通过苹果家庭App控制的全过程。项目绕过了苹果MFi认证,成本低廉但功能完整,支持Siri语音控制、自动化场景等高级功能,是智能家居DIY的实用指南。

weixin_28717431的博客 321

兼容ie和firefox的表格删除

function testEvent(e){    var Evt = window.event == undefined ? e : window.event;    alert(window.event);    alert(Evt);}function d(){    //var Evt = window.event == undefined ? e : window.event

qqlxx的专栏 666

C# WPF多页面间的数据共享(经典)

实现页面间的数据共享有很多方法,比如:①事件的发布订阅 ②委托③ioc容器④静态类等,这节主要通过静态的集合实现数据的添加和获取。

sf315418的博客 638

190、LLC谐振变换器的样机调试实战(问题定位)

这篇实战笔记总结了LLC谐振变换器样机调试中的五大典型问题及解决方案:1)空载炸机源于谐振电容纹波电流能力不足;2)轻载啸叫因控制环路不稳定,需调整突发模式阈值;3)MOSFET过热由死区时间不当导致,需精确优化实现ZVS;4)输出纹波大由PCB布局耦合引起,需优化共模抑制;5)启动过冲需延长软启动时间。作者强调调试需结合示波器、热成像仪等工具,理论计算与实测并重,并详细记录每次参数调整。文章指出LLC调试是不断试错的过程,关键是通过现象分析本质原因。

Jack010169的博客 47

vue项目firefox报错SyntaxError: invalid regexp group

项目使用vue2开发,在谷歌浏览器正常 在linux中使用火狐报错 SyntaxError: invalid regexp group 修改方法: 修改前 修改后

seasidexin的专栏 1353

Linux脚本实战之SSH执行远端脚本

Linux脚本实战之SSH连接主机

jks212454的博客 2131

JS在IE,firefox,chrome中的兼容问题

<br />面对三大主流浏览器IE,firefox,chrome,JavaScript在部分细节的使用上有所不同,下面就根据本人使用中的遇到的问题稍作总结。<br />1、对frameset的解析的不同<br />    IE和chrome都可以使用frameset的name属性取得frameset,例如:<br /> <br /> <frameset id =top rows="70,*" frameborder="0" framespacing="0"><br /> <frame   name="tit

王庚的专栏 7865

OTA 升级失败/回滚策略设计:打造安全可靠的双分区/断点续传/签名校验方案

双分区机制(A/B Partitioning)是OTA升级的“保险箱”。简单来说,设备存储分为两个分区:A分区(当前运行)和B分区(备用)。升级时,新固件写入B分区,A分区保持不变。如果升级成功,系统切换到B分区运行;如果失败,设备直接回滚到A分区,完全不受影响。这就像玩游戏存档:你打Boss前存了个档,万一挂了还能读档重来。双分区就是设备的“读档”机制,避免了变砖的尴尬。以Android设备为例,Google从Android 7.0开始强制引入A/B分区机制(Seamless Updates)。

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

uniapp - 解决在线预览PDF文件空白打不开的问题,无论是后端下载二进制文件流pdf还是本地插件或JS预览查看打开白屏不显示,详细排查解决(适用于移动端H5网页、安卓/苹果app、微信小程序)

uniapp App端 实现pdf文件预览打开白屏解决,uniapp 在线预览pdf打开一片空白,跨域白屏,uni-app中使用WebView预览PDF文件打开空白,微信小程序(uniapp)预览PDF空白怎么办,下载PDF文件流后打开空白或无法打开的问题,Uniapp H5网页下载二进制pdf文件页面空白以及解决文件损坏打不开的情况,Uniapp app在线预览pdf文件流,PDF加载出来怎么办,服务器后端返回PDF文件流后前端进行下载但打开后一片白屏,解决pdf文件流,预览全是空白页,pdf文件流,下载

🏆 前端领域优质创作者 1万+

firefox 与 ie 的js兼容问题

1. 对象问题 1.1 Form对象 现有问题:现有代码这获得form对象通过document.forms("formName"),这样使用在IE 能接受,MF 不能。解决方法:改用 作为下标运算。改为document.forms["formName"]备注上述的改用 作为下标运算中的formName是id而name1.2 HTML对象 现有问题:在 IE 中,HTML 对象的 ID 可以作为 d

jlzan1314的专栏 892

SKUA-GOCAD入门教程-第八节 线的创建与编辑7和8

本文介绍了曲线编辑操作的主要功能,包括曲线部分和区域的管理操作。在曲线部分操作方面,详细说明了如何合并、删除、移动和过滤曲线部分,支持精确或带公差的合并方式。在曲线区域操作方面,阐述了保留/删除区域点、移动区域点、保留/删除区域线段等操作。此外还介绍了节点连接功能,包括新增/删除连接、端点连接以及为曲线赋予地质特征的方法。

江洋大葱的博客 390

firefox 与IE 对 js获取当前年份的兼容问题

firefox 与IE 对 js获取当前年份的兼容问题 通过年份查找数据的需求,这个功能实现起来比较简单    js代码如下:    [javascript] view plaincopy  var myDate = new Date();   var year=myDate.getYear();             year=year+"年";

sunny 的专栏 562

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

firefox和ie js兼容问题

 1.firefox不能对innerText支持。firefox支持innerHTML但却不支持innerText,它支持textContent来实现innerText,不过默认把多余的空格也保留了。如果不用textContent,如果字符串里面不包含HTML代码也可以用innerHTML代替。2.禁止选取网页内容:在IE中一般用js:obj.onselectstart=function(){re

jkant的专栏 1820

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

ie 与 firefox javascript 兼容问题

方法1:function $f(a,b){return a.getElementsByTagName(b)[0].text;} 方法2:function $f(a,b){return a.getElementsByTagName(b)[0].firstChild.nodeValue;} 以上两个方法 方法1在ie中可以使用,但是在firefox中不支持, 而 方法 2 在 ie 和 fi...

老朱的专栏 123

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

IE、Firefox中JavaScript兼容问题

<br />1、使用window.location.href遇到的问题<br /> <br />     使用window.location.href实行跳转<br />     不兼容代码:<br />    <a href="#" mce_href="#" onclick="JavaScript:window.location.href='UseAdd_init.action';" ><input type="button" value="增加"/></a> <br />    在IE下面跳转正常,但是

dhdhdh0920的专栏 1055

firefox和ie js兼容问题

<br />1.firefox不能对innerText支持。<br />firefox支持innerHTML但却不支持innerText,它支持textContent来实现innerText,不过默认把多余的空格也保留了。如果不用textContent,如果字符串里面不包含HTML代码也可以用innerHTML代替。<br />2.禁止选取网页内容:<br />在IE中一般用js:obj.onselectstart=function(){return false;}<br />而firefox用CSS:-m

lzqial1987的专栏 478

ie跟firefox的js兼容问题

下以 IE 代替 Internet Explorer,以 Fx 代替 Mozilla Firefox   1. document.form.item 问题   (1)现有问题:   现有代码中存在许多 document.formName.item("itemName") 这样的语句,不能在 Fx 下运行   (2)解决方法:   改用 document.formName.ele...

cmdn_rtjnwan的博客 70

js 处理 ie和firefox window.frames 兼容问题

在做项目的时候网页里嵌套iframe时想对iframe对象进行操作时ie和firefox是不同的。例如:js:window.frames['xx1'].document.location.replace('http://www.jjj.com');在ie下是没有问题的可是在firefox下就不行了,错误提示是找不到 window.frames['xx1']对象。这是怎么回事呢,刚开始我找了很长时间一直没有找到好的解决方法。后来经过我不歇的努力终于成功解决!原因是ie和firefox的内核是不一样的,ie是用

老李 技术 专栏 1万+

IE和Firefox的兼容问题之javascript

在用js得到父元素时,发现parentElement只能在IE下使用,而只有parentNode才是IE和FF都通用的,IE真是让人头大,在此特收集其它的一些js兼容性差异: 1、Event的问题 在ie中我们可以直接使用event变量,但是在firefox下由于event是局部变量,firefox下我们可以事件绑定到元素上 例如 为了同时兼容ie和firefox 通常在函...

七彩阳光java 275

insertRow() firefox和IE下的兼容问题 览器JavaScript时要注意的问题

table.insertRow() firefox和IE下的兼容问题 最近做了个Struts2.0的文章发布系统,使用dwr的框架,没想到在firefox下的兼容问题却不好,所以自己网上找了下才知道如何解决,本身我对js也不熟悉,web要学的东西还真多,哎。table.insertRow()在IE下没问题 但在firefox下就得改为tabl

老张的专栏 5178

[置顶]       IE与FireFox的JavaScript兼容问题

1、动态删除table里的某一行。 table:表示table对象。 k:表示行号 table.rows[k].removeNode(true); //firefox执行失败,ie执行成功 IE与FireFox兼容写法 table.deleteRow(k); 2、为HTML标签自定义属性。 inputElement...

weixin_34245169的博客 79

IE与Firefox的几个javascript兼容问题及解决

项目中遇到的问题   javascript动态创建页面元素   代码:   var hName=document.createElement("");   ie下能正常执行,Firefox下执行不了 解决办法:    var h = document.createElement('input');        h.setAttribute('type', 'hidden');

Leonard's Blog 523

JS中 getYear 和 getFullYear 解决IE和 FireFox兼容问题

getYear()   使用getYear()函数的本意是获取年份,以2010年为例,如: Js代码  var nowd = new Date();   var yf = nowd.getYear();    在IE中是可以正确获取年份:2010,但是在FF等浏览器下则为:110。 原因则是 在 FF等浏览器内 getYear 返回的是 "当前年份-1900"

realbeckham的ADF学习总结 2217
上一篇: js判断浏览器
下一篇: 自动登录telnet批处理文件
cg_program
博客等级 码龄19年 245粉丝 147原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值