海南世紀云圖網絡科技有限公司
咨詢熱線:400-822-8458 客戶服務:0898-32183600

eWebeditor上傳圖片后自動給圖片增加鏈接

發表于:2011-07-06 00:00:00來源:SOUAB.COM人氣:4036

目標就是實現上傳圖片后可以自動給圖片添加新窗口鏈接,因為他使用的是ewebeditor2.8的免費版,所以就要看看ewebeditor是怎么實現的啦。
大致分析了一下,應該都是在/dialog/img.htm里控制的:
 

131行:
sHTML = '<img id=eWebEditor_TempElement_Img src="'+sFromUrl+'"'+sHTML;

在這里加入圖片的超鏈接應該就可以解決問題:

sHTML = '<a href='+sFromUrl+' target=_blank><img id=eWebEditor_TempElement_Img src="'+sFromUrl+'"'+sHTML;

看起來是不錯的解決了問題,不過卻有一個小毛病,那就是經過了154行處理以后img的地址是相對地址,href的地址卻是完整地址。

dialogArguments.insertHTML(sHTML);
img:
/xxx/xxx.gif
href:
http://www.xxx.com/xxx/xxx.gif

再往下看,發現后面對img進行了獨立的處理:

156~158
var oTempElement = dialogArguments.eWebEditor.document.getElementById("eWebEditor_TempElement_Img");
oTempElement.src = sFromUrl;
oTempElement.removeAttribute("id");

看起來在insertHTML中處理是一樣的。
下午這塊東西沒詳細看是怎么回事,剛才翻了一下ewebeditor2.8的文件,在include/editor.js中看到insertHTML的內容如下:

 

410行:
// 在當前文檔位置插入.
function insertHTML(html) {
 if (isModeView()) return false;
 if (eWebEditor.document.selection.type.toLowerCase() != "none"){
  eWebEditor.document.selection.clear() ;
 }
 if (sCurrMode!="EDIT"){
  html=HTMLEncode(html);
 }
 eWebEditor.document.selection.createRange().pasteHTML(html) ; 
}

前面的都沒什么好說的,主要是利用了selection.createRange().pasteHTML(html)來把相對路徑處理成了完整路徑。看起來跟下午猜得差不多。
關于pasteHTML可以參考一下msdn的介紹:
http://msdn2.microsoft.com/en-us/library/ms536656.aspx
另外舉個簡單的例子:

<html>
<body>
<script language="JavaScript">
function replace() {
  var myRange = document.selection.createRange().pasteHTML('<p><b>www.coolersky.com</b></p>');
} 
</script>
<p>隨便框選幾個字,然后點提交看看。By AcOol!</p>
<input id="m" type="button" value="提交" onclick="replace();">
</body>
</html>

言歸正傳,繼續。應該也要對href也作一下處理,翻了一下google,找到一個類似的,順便看了一下img.htm所在的目錄,發現/dialog/file.htm中有對href的處理過程,照貓畫虎搞了一下就好了。
最終代碼為:

131行:
sHTML = '<a id=eWebEditor_TempElement_Href href='+sFromUrl+' target=_blank><img id=eWebEditor_TempElement_Img src="'+sFromUrl+'"'+sHTML;
......
156行:
var oTempElement = dialogArguments.eWebEditor.document.getElementById("eWebEditor_TempElement_Img");
oTempElement.src = sFromUrl;
oTempElement.removeAttribute("id");
oTempElement = dialogArguments.eWebEditor.document.getElementById("eWebEditor_TempElement_Href");
oTempElement.href = sFromUrl;
oTempElement.removeAttribute("id");

文章整理: 世紀云圖  http://www.543ae.com/

以上信息與文章正文是不可分割的一部分,如果您要轉載本文章,請保留以上信息,謝謝!

版權申明:本站文章部份來自網絡,如有侵權,請聯系我們,我們收到后立即刪除,謝謝!

特別注意:本站部份轉載文章言論不代表本站觀點,本站所提供的攝影照片,插畫,設計作品,如需使用,請與原作者聯系,版權歸原作者所有。

微信
網站建設
軟件業務
網絡營銷
400電話
主站蜘蛛池模板: 亚洲天堂成人网| 九九精品免视看国产成人| 国产精品成人久久久久久久| 国产成人麻豆亚洲综合无码精品| 国产成人午夜高潮毛片| 亚洲国产成人久久综合一区| 欧洲97色综合成人网| 大臿蕉香蕉大视频成人| 国产成人无码一区二区三区 | 久久久久AV综合网成人| 成人影院wwwwwwwwwww| 亚洲精品国产成人片| 成人三级在线观看| 久久久噜噜噜www成人网| 成人做受120秒试看动态图| 57pao成人国产永久免费视频| 国产成人污污网站在线观看| 成人毛片18女人毛片免费| 亚洲国产一成人久久精品| 国产成人精品免高潮在线观看| 精品欧美成人高清在线观看| 免费成人在线电影| 国产成人无码精品久久久免费| 成人午夜国产内射主播| 成人美女黄网站视频大全| h成人在线观看| 88aa四虎影成人精品| 亚洲国产成人精品女人久久久 | 在线91精品亚洲网站精品成人| 日韩av无码成人精品国产| 精品国产成人亚洲午夜福利| 亚洲色成人网一二三区| 国产乱色精品成人免费视频| 国产成人yy精品1024在线| 国产成人av一区二区三区不卡| 国产成人久久精品二区三区| 国产成人亚洲综合| 亚洲精品成人网站在线播放 | 国产成人无码精品久久久露脸 | 国产成人av乱码在线观看| 免费一级成人毛片|