|
|
/** * 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");
|