百度编辑器ueditor添加图片自动添加alt标签
最近发现一些很奇怪的问题,就是那个百度编辑器的上传图片问题,居然没有自动添加alt标签,这个让我很苦恼。
百度自己的SEO优化规则一方面说,我们图片img的标签一定要添加alt标签,这样才能有利于优化,但是丫的是自家的编辑器居然没有自动添加alt标签。
对于这个问题,我只能默默的需找方法,下面是一个解决方法:
打开百度编辑器(Ueditor)目录/dialogs/image/image.js文件,查找“插入多张图片”
修改以下代码:
/** * 插入多张图片 */ function insertBatch() { if (imageUrls.length < 1) return; var imgObjs = [], align = findFocus("localFloat", "name"); for (var i = 0, ci; ci = imageUrls[i++];) { var tmpObj = {}; tmpObj.title = ci.title; tmpObj.alt = ci.title; tmpObj.floatStyle = align; //修正显示时候的地址数据,如果后台返回的是图片的绝对地址,那么此处无需修正 tmpObj._src = tmpObj.src = editor.options.imagePath + ci.url; imgObjs.push(tmpObj); } insertImage(imgObjs); hideFlash(); }
即在tmpObj.title = ci.title;下面添加tmpObj.alt = ci.title;这个应该很简单就可以看得出来是什么意思,看不出来,我只能呵呵了。
下面的我也没有找到什么,只有有一些网友说,需要这样设置,我丫的找了许久,都没有找到,不过通过上面的已经解决了问题,我觉得应该是我没有使用这么高级的过滤规则。
如果你在ueditor.config.js配置文件filterRules中定义了图片img标签的过滤规则,需要在这里设置下:
img: function (node) { var src = node.getAttr('src'); var alt = node.getAttr('title'); var title = node.getAttr('title'); node.setAttr(); node.setAttr({'src':src}) node.setAttr({'alt':alt}) node.setAttr({'title':title}) },
再添加一个东西,在图片上传了之后,要修改alt怎么办,直接改代码好像太麻烦了,主要怕编辑人员改错了,这样就麻烦了。
所以我觉得可以将图片上传的修改的一个描述,添加为alt,这样我们修改描述的时候,一并把alt给修改了,这样也就放心多了
/** * 插入单张图片 */ function insertSingle() { var url = g("url"), width = g("width"), height = g("height"), border = g("border"), vhSpace = g("vhSpace"), title = g("title"), align = findFocus("remoteFloat", "name"), imgObj = {}; if (!url.value) return; if (!flagImg) return; //粘贴地址后如果没有生成对应的预览图,可以认为本次粘贴地址失败 if (!checkNum([width, height, border, vhSpace])) return false; imgObj.src = url.value; imgObj._src = url.value; imgObj.width = width.value; imgObj.height = height.value; imgObj.border = border.value; imgObj.floatStyle = align; imgObj.vspace = imgObj.hspace = vhSpace.value; imgObj.title = title.value; imgObj.alt = title.value; imgObj.style = "width:" + width.value + "px;height:" + height.value + "px;"; insertImage(imgObj); editor.fireEvent("catchRemoteImage"); hideFlash(); }
主要就是添加一个一句这个imgObj.alt = title.value;这样就可以轻松解决了一些不必要的麻烦,大家可以试一下。
本文作者: Liaodeity
本文链接: https://www.jianbaizhan.com/article/221
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!