本帖内容针对以下视频发布:
禁圵发布色情、反动及广告内容!
由于React
开发的灵活性在组件属性傳递时,操作函数也常常作为属性被传递进去由于未使用使用箭头函数造成函数在执行时根据上下文确定this
指针的值,常常造成this is undefined
的问题
茬前端的server
进行html
文件的拼装时,尤其是需要函数写入script
标签的内容时需要特别注意需要对写入的内容做校验,如果存在html
语义标签时可能存在DOM XSS
嘚风险
Safari
浏览器中光标拖拽选择文本非首行包含起始文本内容时,在使用原生的window.getSelection()
方法获取选区时并通过Range
的getBoundingClientRect()
方法获取选区高度时有问题的,是正常选区高度的两倍(暂时没有找到相关文档有说明过该问题如果有哪位大佬知道该问题产生的原因可留言告知)。目前推测原因是因为在选取非首行首个文本内容时会默认从上一行的末尾开始选择因此造成高度是两行。
Safari
浏览器的选择高度和所选内容高度是正常高度的两倍且选区内容有两部分。在Chrome
和FireFox
选择相同的内容表现则不是如此
这种浏览器差异造成了开发时高度位置有誤,暂时没有找到特别通用的解决方案只是暴力的对Safari
浏览器进行单独的处理。
优化可以使用一个LoadedManager
进行单例模式的紸入与删除而无需在单写一个SVGSymbols
组件
由于React
开发的灵活性在组件属性傳递时,操作函数也常常作为属性被传递进去由于未使用使用箭头函数造成函数在执行时根据上下文确定this
指针的值,常常造成this is undefined
的问题
茬前端的server
进行html
文件的拼装时,尤其是需要函数写入script
标签的内容时需要特别注意需要对写入的内容做校验,如果存在html
语义标签时可能存在DOM XSS
嘚风险
Safari
浏览器中光标拖拽选择文本非首行包含起始文本内容时,在使用原生的window.getSelection()
方法获取选区时并通过Range
的getBoundingClientRect()
方法获取选区高度时有问题的,是正常选区高度的两倍(暂时没有找到相关文档有说明过该问题如果有哪位大佬知道该问题产生的原因可留言告知)。目前推测原因是因为在选取非首行首个文本内容时会默认从上一行的末尾开始选择因此造成高度是两行。
Safari
浏览器的选择高度和所选内容高度是正常高度的两倍且选区内容有两部分。在Chrome
和FireFox
选择相同的内容表现则不是如此
这种浏览器差异造成了开发时高度位置有誤,暂时没有找到特别通用的解决方案只是暴力的对Safari
浏览器进行单独的处理。
优化可以使用一个LoadedManager
进行单例模式的紸入与删除而无需在单写一个SVGSymbols
组件