|
|
/** * Created by JetBrains PhpStorm. * User: taoqili * Date: 12-1-30 * Time: 下午12:50 * To change this template use File | Settings | File Templates. */
var wordImage = {}; //(function(){
var g = baidu.g, flashObj,flashContainer;
wordImage.init = function(opt, callbacks) { showLocalPath("localPath"); //createCopyButton("clipboard","localPath");
createFlashUploader(opt, callbacks); addUploadListener(); addOkListener(); };
function hideFlash(){ flashObj = null; flashContainer.innerHTML = ""; } function addOkListener() { dialog.onok = function() { if (!imageUrls.length) return; var urlPrefix = editor.getOpt('imageUrlPrefix'), images = domUtils.getElementsByTagName(editor.document,"img"); editor.fireEvent('saveScene'); for (var i = 0,img; img = images[i++];) { var src = img.getAttribute("word_img"); if (!src) continue; for (var j = 0,url; url = imageUrls[j++];) { if (src.indexOf(url.original.replace(" ","")) != -1) { img.src = urlPrefix + url.url; img.setAttribute("_src", urlPrefix + url.url); //同时修改"_src"属性
img.setAttribute("title",url.title); domUtils.removeAttributes(img, ["word_img","style","width","height"]); editor.fireEvent("selectionchange"); break; } } } editor.fireEvent('saveScene'); hideFlash(); }; dialog.oncancel = function(){ hideFlash(); } }
/** * 绑定开始上传事件 */ function addUploadListener() { g("upload").onclick = function () { flashObj.upload(); this.style.display = "none"; }; }
function showLocalPath(id) { //单张编辑
var img = editor.selection.getRange().getClosedNode(); var images = editor.execCommand('wordimage'); if(images.length==1 || img && img.tagName == 'IMG'){ g(id).value = images[0]; return; } var path = images[0]; var leftSlashIndex = path.lastIndexOf("/")||0, //不同版本的doc和浏览器都可能影响到这个符号,故直接判断两种
rightSlashIndex = path.lastIndexOf("\\")||0, separater = leftSlashIndex > rightSlashIndex ? "/":"\\" ;
path = path.substring(0, path.lastIndexOf(separater)+1); g(id).value = path; }
function createFlashUploader(opt, callbacks) { //由于lang.flashI18n是静态属性,不可以直接进行修改,否则会影响到后续内容
var i18n = utils.extend({},lang.flashI18n); //处理图片资源地址的编码,补全等问题
for(var i in i18n){ if(!(i in {"lang":1,"uploadingTF":1,"imageTF":1,"textEncoding":1}) && i18n[i]){ i18n[i] = encodeURIComponent(editor.options.langPath + editor.options.lang + "/images/" + i18n[i]); } } opt = utils.extend(opt,i18n,false); var option = { createOptions:{ id:'flash', url:opt.flashUrl, width:opt.width, height:opt.height, errorMessage:lang.flashError, wmode:browser.safari ? 'transparent' : 'window', ver:'10.0.0', vars:opt, container:opt.container } };
option = extendProperty(callbacks, option); flashObj = new baidu.flash.imageUploader(option); flashContainer = $G(opt.container); }
function extendProperty(fromObj, toObj) { for (var i in fromObj) { if (!toObj[i]) { toObj[i] = fromObj[i]; } } return toObj; }
//})();
function getPasteData(id) { baidu.g("msg").innerHTML = lang.copySuccess + "</br>"; setTimeout(function() { baidu.g("msg").innerHTML = ""; }, 5000); return baidu.g(id).value; }
function createCopyButton(id, dataFrom) { baidu.swf.create({ id:"copyFlash", url:"fClipboard_ueditor.swf", width:"58", height:"25", errorMessage:"", bgColor:"#CBCBCB", wmode:"transparent", ver:"10.0.0", vars:{ tid:dataFrom } }, id );
var clipboard = baidu.swf.getMovie("copyFlash"); var clipinterval = setInterval(function() { if (clipboard && clipboard.flashInit) { clearInterval(clipinterval); clipboard.setHandCursor(true); clipboard.setContentFuncName("getPasteData"); //clipboard.setMEFuncName("mouseEventHandler");
} }, 500); } createCopyButton("clipboard", "localPath");
|