1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/gitee-community-gitee-7th-event-3

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
eWebEditor老版本在新版IE按钮报错的解决方案.js 988
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
EProKing Отправлено 12.06.2020 11:51 c2a835a
//出问题的是editor.js中的这句:if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
//由于IE的升级变化,导致anonymous()函数名发生变化,但我们在代码里把函数名作为常量字符串使用时,这种变化就不能适应了。
//当然我们也可以用提取字符的方法把函数名从代码段里分割出来,然后拼凑起代码段来执行,虽然方法没问题,但还不够简洁。
//其实利用JS的动态特性,我们完全可以在不必知道函数名也不必动态提取函数名的情况下直接正确的执行该函数
//最终代码会比源代码还节省代码字节,只需将函数名替换成一对括号就可以解决了:
if (element.YUSERONCLICK) eval("(" + element.YUSERONCLICK + ")()");
// 这样一处理,不但没增加代码,反而减肥了,而且不论IE升级版本后函数名变成什么都无所谓了,只要IE不取消这个匿名功能函数就会一劳永逸。

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/gitee-community-gitee-7th-event-3.git
git@api.gitlife.ru:oschina-mirror/gitee-community-gitee-7th-event-3.git
oschina-mirror
gitee-community-gitee-7th-event-3
gitee-community-gitee-7th-event-3
master