不是吧,只有使用<p>和<div>等block标签,浏览器才会自动在复制中加入换行符,是没有硬编码的换行符存在的。而微信是用canvas画布绘制,浏览器不知道它其实是由<p>标签包裹的(源代码完全看不到),我们是解密后知道其实都使用的<p>。
<p>
<div>
加入断点后可以看到隐藏在后方的文字被select了,是完全的纯文本。我将其他先行执行的校验函数直接跳过,微信并没有进行替换操作,传入剪切板的就是没有换行符的文字。