白捷建站网

主页
分享互联网资讯
白捷建站网-拥有专业的设计模板,响应式设计,设计方案

javascript中load,javascript中load有什么用

更新时间:2024-10-01 13:52:36点击:

javascript中load,javascript中load有什么用

本篇文章给大家谈谈j*ascript中load,以及j*ascript中load有什么用对应的知识点,希望对各位有所帮助,不要忘了收***本站喔。 今天给各位分享j*ascript中load的知识,其中也会对j*ascript中load有什么用进行解释,如果能碰巧解决***现在面临的问题,别忘了关注本站,现在开始吧!

  1. js冲突怎么解决?

1、js冲突怎么解决?

a.最容易出现的就是js的命名冲突

①、变量名冲突

变量有全局变量和局部变量当全局变量变量和局部变量名称一致时,就会js冲突,由于变量传递数值或地址不同就会产生J*aScript错误,甚至***循环。

②、方***名冲突

函数中有很多方***,不同的js之间可能函数名一样,这就使得程序执行时不知***改调用那个方***或者哪个方***执行后的结果,最终导致程序加载失败。

③、函数名冲突

一般是命名导致JS冲突。解决方***主要是查找在加载的js中是否具有相同命名的情况,然后修改命名

b.onload **冲突

如果在js中调用了window.onload = function(),同时在页面上又有body onload语句,会导致window.onload**覆盖掉body onload**而出现错误.

解决方***:attachEvent给onload添加所需运行的函数。

c . 浏览器不兼容问题,虽然这个不属于js冲突但是也常见的js的原因之一

①document.form.item 问题

(1)现有问题: 现有***码中存在许多document.formName.item("itemName") 这样的语句,不能在Fx 下运行

(2)解决方***: 改用document.formName.elements["elementName"]

②**类对象问题

(1)现有问题: 现有***码中许多**类对象取用时使用(),IE 能接受,Fx 不能。

(2)解决方***: 改用[] 作为下标运算。如:document.forms("formName") 改为document.forms["formName"]。又如:document.getElement*yName("inputName")(1) 改为document.getElement*yName("inputName")

③window.event

(1)现有问题: 使用window.event 无***在Fx 上运行

(2)解决方***: Fx 的event 只能在**发生的现场使用,此问题暂无***解决。可以这样变通:

原***码(可在IE中运行):

***码:

...

新***码(可在IE和Fx中运行):

***码:

onclick="j*ascript:gotoSubmit(event)"/>

...

此外,如果新***码中第一行不改,与老***码一样的话(即gotoSubmit 调用没有给参数),则仍然只能在IE中运行,但不会出错。所以,这种方案tpl 部分仍与老 ***码兼容。

④HTML 对象的id 作为对象名的问题

(1)现有问题 :在IE 中,HTML 对象的ID 可以作为document 的下属对象变量名直接使用。在Fx 中不能。

(2)解决方*** :用getElementById("idName") ***替idName 作为对象变量使用。

⑤用idName字符串取得对象的问题

(1)现有问题 :在IE中,利用eval(idName) 可以取得id 为idName 的HTML 对象,在Fx 中不能。

(2)解决方*** :用getElementById(idName) ***替eval(idName)。

⑥变量名与某HTML 对象id 相同的问题

(1)现有问题 :在Fx 中,因为对象id 不作为HTML 对象的名称,所以可以使用与HTML 对象id 相同的变量名,IE 中不能。

(2)解决方*** :在声明变量时,一律加上var ,以避免歧义,这样在IE 中亦可正常运行。

此外,最好不要取与HTML 对象id 相同的变量名,以减少错误。

⑦event.x 与event.y 问题

(1)现有问题 :在IE 中,event 对象有x, y 属性,Fx中没有。

(2)解决方*** :在Fx中,与event.x 等效的是event.p*eX。但event.p*eX IE中没有。

故***用event.clientX ***替event.x。在IE 中也有这个变量。

event.clientX 与event.p*eX 有微妙的差别(当整个页面有滚动条的时候),不过大多数时候是等效的。 如果要完全一样,可以稍麻烦些:

mX = event.x ? event.x : event.p*eX;

然后用mX ***替event.x

(3)其它:event.layerX 在IE 与Fx 中都有,具体意义有无差别尚未试验。

⑧关于frame

(1)现有问题 :在IE中 可以用window.testFrame取得该frame,Fx中不行

(2)解决方*** :在frame的使用方面Fx和ie的最主要的区别是: 如果在frame标签中书写了以下属性:

⑨在Fx中,自己定义的属性必须getAttribute()取得

⑩在Fx中没有parentElement parement.children 而用

parentNode parentNode.childNodes

childNodes的下标的含义在IE和Fx中不同,Fx使用DOM规范,childNodes中会插入空白文本节点。

一般可以通过node.getElement*yT*Name()来回避这个问题。 当html中节点缺失时,IE和Fx对parentNode的解释不同,例如:

Fx中input.parentNode的值为form, 而IE中input.parentNode的值为空节点

Fx中节点没有removeNode方***,必须使用如下方***node.parentNode.removeChild(node)

d . const 问题

(1)现有问题: 在IE 中不能使用const 关键字。如const constVar = 32; 在IE中这是语***错误。

(2)解决方***: 不使用const ,以var ***替。

.. body 对象

Fx的body在body标签没有被浏览器完全读入之前就存在,而IE则必须在body完全被读入之后才存在

. url encoding

在js中如果书写url就直接写&不要写&例如var url = 'xx.jsp?objectName=xx&objectEvent=xxx';

frm.action = url那么很有可能url不会被正常显示以至于参数没有正确的传到服务器

一般会服务器报错参数没有找到,当然如果是在tpl中例外,因为tpl中符合xml规范,要求&书写为&

一般Fx无***识别js中的&

e . nodeName 和t*Name 问题

(1)现有问题: 在Fx中,所有节点均有nodeName 值,但textNode 没有t*Name 值。在IE 中,nodeName 的使用好象

有问题(具体情况没有测试,但我的IE已经***了好几次)。

(2)解决方***: 使用t*Name,但应检测其是否为空。

元素属性:IE下input.type属性为只读,但是Fx下可以修改

document.getElement*yName() 和document.all[name] 的问题

(1)现有问题: 在IE 中,getElement*yName()、document.all[name] 均不能用来取得div 元素(是否还有其它不能取的元素还不知***)。

jQuery多个版本或和其他js库冲突主要是常用的$符号的问题,主要解决办***如下:

方***一:

方***二:

方***三:

关于j*ascript中load和j*ascript中load有什么用的介绍到此就结束了,不知******从中找到***需要的信息了吗 ?如果***还想了解更多这方面的信息,记得收***关注本站。 j*ascript中load的介绍就聊到这里吧,感谢***花时间阅读本站内容,更多关于j*ascript中load有什么用、j*ascript中load的信息别忘了在本站进行查找喔。

[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484#qq.com,#换成@即可,我们会予以删除相关文章,保证您的权利。 转载请注明出处:http://www.zzbaijie.cn/junshixinwen/41047.html

推荐文章