- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
eWebEditor在IE新版本下
eWebEditor在IE新版本下摘 要: eWebEditor是一个基于浏览器的在线HTML编辑器,在客户端操作的用户不需要额外去安装任何的组件,便可以在直观、可视化的图形界面下创建或发布网页内容,然而在浏览器升级到IE8甚至更高版本后,老版的eWebEditor会出现在这些浏览器下按钮失效的情况。主要探讨eWebEditor在高版本的IE或其它浏览器下按钮失效的解决方法。 关键词: eWebEditor IE;按钮失效;KindEdito 0 引言 eWebEditor是一个基于浏览器的在线HTML编辑器,普通用户可以通过浏览器在线生成或是编辑网页内容,由于其操作界面和传统的Windows应用软件操作界面风格相似,且简单实用、非常容易上手,因此,eWebEditor是当前很受用户欢迎的网站内容管理及发布的必备工具之一。然而,随着浏览器的不断升级,出现了老版的eWebEditor在这些浏览器下按钮失效的情况,使用户无法顺利完成网页的发布。笔者将在下文中探索解决这一问题的方法。 1 探索过程 1.1 按钮失效原因分析 让我们打开eWebEditor编辑器工作时调用的关键文件editor.js,在其代码列表中发现有这样的一串代码: if (element.YUSERONCLICK) eval(element.YUSERONCL ICK + “anonymous()”); 这串代码表示的是当用户点击eWebEditor编辑器上的按钮时,将会激活此按钮所对应的函数,然而笔者发现,在IE8正式版中实际上已经对anonymous()函数限制使用了,因此这个受限制的anonymous()函数便是引起按钮失效的根本原因。既然已经找到了原因,下面便可以对症下药了。 1.2 解决方法 方法一:既然在IE8中已经限制了anonymous()函数,那我们只需将其修改为在IE8中能实现对应功能的函数即可,而在IE8中对应功能所支持的函数即onclick(event)函数,因此,我们很自然地会想到用onclick(event)函数去替换anonymous ()函数。但是,替换之后,新的问题又出来了,由于在IE7及以前的版本中却是不支持onclick(event)函数的,所以这种简单的替换,会使eWebEditor编辑器中的按钮在IE7及以下浏览器中无法正常工作。为了eWebEditor能够在IE8及之前的版本中都能使用,我们可以在语句列表中加上判断IE版本的语句,使得在不同的浏览器版本中,可以实现调用不同的函数的功能;当然如果你希望你的eWebEditor编辑器在其它类型的浏览器中也能正常使用,比如在遨游浏览器里也能使用,那么,我们还可以在语句列表中再加了个判断语句。综上所述,最终的参考解决方式便很明朗了,只需用下面所示的代码替换前文中提到的代码行即可: 该方法引入版本检测的方法,针对不同的IE版本,调用不同函数名称来解决eWebEditor在不同版本的浏览器下调用函数不相同的情况,确实是很好地解决了当下eWebEditor编辑器按钮失效的问题。但如果我们将眼光放得更远一点,发现这个方法还是有一定的局限性的,IE的后续版本必然会不断地涌出并流行,这要的话,当新的版本流行起来时,我们又需要加入新的IE版本号来判断了;另一方面,如果新版本的IE又修改了函数名的话,那么判断语句将会更加复杂了。 方法二:在方法一中,我们已经意识了到版本号判断所带来的麻烦,如果可以避开版本号的判断,方法将会简单很多。不检测IE的版本号的方法,可以通过try/catch来实现,借助try/catch我们模糊区分版本号,代码可改写成: 本方法虽然省略了IE版本号的判断,对代码进行了瘦身,但还是会面临方法一中所提到的另一个问题,即当新版本的IE中又出现变更函数名的情况时,则又需要在代码中嵌套一层try/catch了。 方法三:前面所列的两种方法从一定程度上来说,较好地解决了下eWebEditor编辑器按钮失效的问题,但也寸在一定的缺陷,首先:代码偏多,其次:无法应对IE升级后有可能出现的变更函数名的问题,那么,实际上还是没能很好地彻底解决问题。我们仔细分析这段有问题的代码就会发现,其实element.YUSERONCLICK属性里存放的是一段function的定义,alert一下就会看到代码字符串如下: 由于IE浏览器的的升级变化,导致anonymous()函数名发生变化,但如果我们在代码里把函数名作为常量字符串来使用时,这种变化就不能适应了。当然也可以用提取字符的方法把函数名从代码段里分割出来,然后拼凑起代码段来执行,虽然这个方法是没什么问题,也可以达到目的,但代码写起来将会比较复杂,不够简洁。其实利用JS的动态特
有哪些信誉好的足球投注网站
文档评论(0)