liferay / liferay-ckeditor

Other
8 stars 49 forks source link

escapeCss is not IE11 compatible #137

Closed rolandpakai closed 3 years ago

rolandpakai commented 3 years ago

https://issues.liferay.com/browse/LPS-122947

The escapeCss is not escaping correctly the selector on IE11: For example if a selector contains $ char: _com_liferay_dynamic_data_mapping_form_web_portlet_DDMFormAdminPortlet_ddm$$text$JaNoTmMm$0$$en_US

If the browser supports window.CSS.escape then the escapeCss function works correctly, but in the IE11 it is not supperted and returns the selector without escaping it. https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape

https://github.com/ckeditor/ckeditor4/blob/eb2d11644a796cd13cd047cd55541430359f9317/core/tools.js#L1454-L1470

Solution: Add a function which polyfills CSS.escape: https://github.com/mathiasbynens/CSS.escape/blob/master/css.escape.js

wincent commented 3 years ago

Wouldn't this polyfill go into then 7.3.x and older branches of DXP (in the frontend-compatibility-ie module) then? We don't really want every single library to bring its own polyfill.

rolandpakai commented 3 years ago

Thanks @wincent I will implement it in the frontend-compatibility-ie module

Thanks, Roland

https://issues.liferay.com/browse/LPS-122947