第一次提交
This commit is contained in:
157
static/plugins/ueditor-1.4.3.3/dialogs/wordimage/wordimage.js
Normal file
157
static/plugins/ueditor-1.4.3.3/dialogs/wordimage/wordimage.js
Normal file
@@ -0,0 +1,157 @@
|
||||
/**
|
||||
* 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");
|
||||
Reference in New Issue
Block a user