我们先创建一个addScript函数,用于动态加载js脚本。
/**
* 动态加载js文件文件
* @param url
* @param callback
*/
function addScript(url,callback){
var elt = document.createElement("script");
elt.src = url;
elt.anysc = true;
if(elt.onload==null){
elt.onload = function(){
typeof callback=='function'&&callback();
}
}else{
elt.onreadystatechange = function(){
if(elt.readyState=="loaded" || elt.readyState=="complete"){
typeof callback=='function'&&callback();
}
}
}
document.getElementsByTagName("body")[0].appendChild(elt);
}
然后写angularjs指令
directivesApp.directive('ueditor',
function () {
return{
restrict: 'EA',
require: 'ngModel',
scope: {
height: '@?'
},
link: function (scope, element, attr, ctrl) {
var _self = this,
_initContent,
editor,
editorReady = false,
baseURL = "/assets/vendor/jquery_plugin/ueditor/1.4.3/"; //写你的ue路径
var fexUE = {
initEditor: function () {
var _self = this;
if (typeof UE != 'undefined') {
editor = new UE.ui.Editor({
initialContent: _initContent,
toolbars: [
['source', 'undo', 'redo', 'bold', 'italic', 'removeformat', 'formatmatch', 'autotypeset', 'blockquote',
'pasteplain', '|', 'forecolor', 'backcolor', 'insertorderedlist', 'insertunorderedlist']
],
initialFrameHeight:scope.height || 120,
autoHeightEnabled:false,
wordCount:false,
elementPathEnabled: false
});
editor.render(element[0]);
editor.ready(function () {
editorReady = true;
_self.setContent(_initContent);
editor.addListener('contentChange', function () {
scope.$apply(function () {
ctrl.$setViewValue(editor.getContent());
});
});
});
} else {
addScript(baseURL + 'ueditor.config.js');
addScript(baseURL + 'ueditor.all.min.js', function(){
_self.initEditor();
})
}
},
setContent: function (content) {
if (editor && editorReady) {
editor.setContent(content);
}
}
};
/**
* 当Model改变值得时候赋值。
*/
ctrl.$render = function () {
_initContent = ctrl.$isEmpty(ctrl.$viewValue) ? '' : ctrl.$viewValue;
fexUE.setContent(_initContent);
};
fexUE.initEditor();
}
}
}
)
好了,ue的封装就完成了。
关于ue的宽度不能100%的问题,我在我项目中css中写了如下:
/*修证百度的宽度100%问题*/
#edui1{width:100% !important; margin-bottom: 10px;}/* 这个ID为编辑器的ID */
#edui1_iframeholder{width:100% !important}/* 这个ID为编辑器可编辑区域的ID */
创造与魔法 安卓版v1.0.0750
创造与魔法是一款开放世界手游,在游戏中玩家可探索这个奇妙的世
创造与魔法修改版 最新版v1.0.0750
创造与魔法无限点券版是款探索冒险游戏,该款游戏的操作还是蛮自
战争与文明官方版本 安卓版v1.7.16
战争与文明是一款由上海邮通科技有限公司开发的战争策略游戏,这
迷你世界0元领皮肤无限迷你币版 最新安卓版v1.43.0
迷你世界0元购买皮肤版是这款开放沙盒冒险建造游戏的特殊破解版
创造与魔法无限经验版 安卓版v1.0.0750
创造与魔法无限经验版是款可以改造环境,整个游戏的自由度还是蛮