主题: iframe内调用外部方法初始化编辑器报错 |
作者: 絢夢, 发布日期: 2012-06-21 09:59:13, 浏览数: 4226 |
iframe内调用外部方法无法初始化编辑器 并且报错 原因:找不到初始化的元素
iframe.html <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>TEST</title> <script src="../jquery-1.4.4.js" type="text/javascript"></script> <script src="kindeditor-min.js?1001" type="text/javascript"></script> <script src="lang/zh_CN.js?1001" type="text/javascript"></script> <script type="text/javascript"> var Editor = function(obj, params, jq){ this.init(obj, params, jq); }; Editor.tools = [ 'fontname', 'fontsize', '|', 'bold', 'italic', 'underline', 'strikethrough', 'forecolor', 'hilitecolor', '|', 'selectall', 'removeformat', 'justifyleft', 'justifycenter', 'justifyright', 'justifyfull', 'insertorderedlist', 'insertunorderedlist', 'outdent', 'indent', '|', 'link', 'unlink', 'table', 'source', 'fullscreen' ]; Editor.prototype = { _obj: null, _editor: null, _params: null, _isEditor: true, _jq: null, init: function(obj, params, jq){ params.itmes = Editor.tools; this._editor = KindEditor.create(obj, params); } }; </script> </head> <body> <iframe width="800" height="500" src="demo.html"></iframe> </body> </html>
demo.html <!DOCTYPE html> <html> <head> <title>DEMO</title> <script src="../jquery-1.4.4.js" type="text/javascript"></script> </head> <body> <textarea id="content" style="width:100%;height:200px;"></textarea> <script type="text/javascript"> $(function(){ if (typeof(getTop) != 'function') { function getTop() { return top; } } var TOP = TOP || getTop(), editor = new TOP.Editor('#content', { resizeType : 1, minHeight: 200, themeType : 'default' }, jQuery); }); </script> </body> </html> 这样就会报错并无法初始化 |
作者: 絢夢, 发布日期: 2012-06-21 10:25:53 |
求高手们指教 KindEditor开发者们有没有解决的办法呢,请赐教 感激不尽 |
回复 |
作者: Roddy, 发布日期: 2012-06-21 12:13:15 |
回复絢夢:调用外部的JS会有问题,主要原因是document,window是外部的。请在内部引入JS。
|
回复 |
作者: 絢夢, 发布日期: 2012-06-21 12:36:38 |
回复Roddy:这个我也知道,但是我有很多方法都在外部封装,之间都有相互关系,所以不好动。 给个建议,初始化如果能这样
var editor = new TOP.Editor($('#content'), { }); 就会很好罗 |
回复 |
作者: Roddy, 发布日期: 2012-06-21 15:28:09 |
回复絢夢:可以传入element对象的,不过不知道功能是否正常。
var editor = new TOP.Editor($('#content')[0], { resizeType : 1, minHeight: 200, themeType : 'default' }); |
回复 |