在使用angularjs的项目中引入ueditor编辑器,页面加载后,控制台出现如下错误:
解决的办法如下:
1. 修改源码
找到路径为ueditor.../third-party/zeroclipboard/ZeroClipboard.js,找到下图所示代码:
将该段代码改为如下所示:
if (typeof define === "function" && define.amd) {
define(function() {
return ZeroClipboard;
});
} else if (typeof module === "object" && module && typeof module.exports === "object" && module.exports) {
module.exports = ZeroClipboard;
}
window.ZeroClipboard = ZeroClipboard;
注意:经过笔者使用发现,该方法存在一个问题,就是当ueditor所在的页面有跳转链接且类型跳转类型为_self,点击第一次无反应,点击第二次才会跳转。
2. 模块加载时处理
在配置的js文件中模块加载做如下处理:
require.config({
baseUrl: '',
paths: {
ZeroClipboard: "./UEditor.../ZeroClipboard" // 声明ZeroClipboard模块
}
});
在js文件中调用模块:
define(function(require) {
...
// 调用这个模块并把模块定义到全局变量
require(['ZeroClipboard'] , function (ZeroClipboard) {
window['ZeroClipboard'] = ZeroClipboard;
});
...
});