1

我的 JSF 应用程序中有一个来自 primefaces 扩展的 Primefaces ckEditor。

当粘贴电话号码时,它会巧妙地将其识别为电话号码并生成电话图标的小 base64 图像标签。源中没有任何内容可以生成此信息,因此它必须将电话号码识别为电话号码,然后添加电话图标。

问题是,这个粘贴的文本然后在各个点从应用程序中通过电子邮件发送出去,当电子邮件到达 Office 2007 时,图像无法呈现,因为 Outlook 2007 似乎不喜欢 base64 图像类型,因此丢失的图像图标是提出了。

如何防止电话号码的这种自动识别,并防止在粘贴操作后创建任何 base64 类型的图像创建。

 <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAKLSURBVHjadJPfS5NhFMe/21xvuhXRyJAZroiSrJnbRdT7vrAf5HBaK5RABmEEwQIvkpZ/QRcWXdSFw5soKaF0F7qZeLO13mGBDpQsf5CoxVKHOt0Pctp2uvEdrzG/V+c553w/54HnPDIiQiGpPMETABoB2AAYd9MRAMMAvGmX+RcAyAoBVJ7gZQDtABworH4AHWmX+bOMZdkjCoXiUzabvcAwzPSsob5p/VTNY9GcdpnxdmYZ9wJThSCtCr1e/4XjuNPd3d1KjUZzaGbI27ysqzGQoggAsLa1A7ehArrDxfDNr0oBlQB+wmKxbJFEL968SxoamsjkHaPU9l9piUo6A0RE1DG2QCWdASrpDAzJM5kMI8XecdjVxfEl+K9dxFgsgUvvR6HyBKHyBAEATyKLeGSsENuNcqk5kUjEGm7fzcYqr0ClVODl99+YXEvl6+c1amjVe+ahiGGYaUEQKnmeh91uL43rqheixjpdmzCL11er0PcjhrTLvMfUJsyKYUSeyWQ6enp6tgCgrKxsfbP8bB8AdE1G89cOReMAgOv+Cag8QXRNRkXAsDwcDr+am5tLCYKA3t7eo2dG+1vVK/MfpRPtA+MIReMYaKj+/xm9MiICx3EmpVL5wefzFavValis1u1vvHMkdfykCQC0kSGUTo+Ajmnx1dSC7IGD+UUCEYGIwLKsyWazrSeTSSIiMpnNf7Ttz5+ec96fr7/VnE0mk+QfHMzV3WjcKH/4rEr05QGFIA6HY4llWRLPRER+v3/HYrFMFQSIkNra2tVQKJSlfcSyLO0LECFWq3XF6XRGA4HAptTsdrsXeZ6fEHtl+31nAOA4rkUulz/I5XL63dQGgHEAN8Ph8AYA/BsAt4ube4GblQIAAAAASUVORK5CYII=" style="margin: 0px; border: currentColor; left: 0px; top: 0px; width: 16px; height: 16px; right: 0px; bottom: 0px; overflow: hidden; vertical-align: middle; float: none; display: inline; white-space: nowrap; position: static !important;" title="Call: +44 (0) 1111 1111" />

问候

一世

4

3 回答 3

0

这是由于您的浏览器中的一些扩展。

禁用所有扩展,然后一点一点地启用它们,找出哪个是罪魁祸首。

于 2013-07-10T11:27:24.037 回答
0

我现在使用正则表达式在保存时将这些内容剥离...无法拦截 ckEditor 的粘贴事件。

public void setAutoSignature(String autoSignature) {

        //strip out base 64 img tags which can appear when phone numbers identified and phone icon appears 
        String pattern = "<img\\s[^>]*base64[^>]*>";
        autoSignature = autoSignature.replaceAll(pattern, "");

        this.autoSignature = autoSignature;
    }
于 2013-07-10T16:59:06.167 回答
0

这是 StackOverflow 上的相关帖子,可能会解决该问题: https : //stackoverflow.com/a/23101048/2808203 在 plugin.js 中添加 Javascript 并修改如果只需要阻止 base64 图像。

于 2020-04-16T14:41:43.343 回答