下午好,
我正在尝试从knockout-kendo项目(https://github.com/kendo-labs/knockout-kendo/)中获取kendoEditor,但它不断抛出错误'Uncaught TypeError:无法读取属性'body'为null'。
经过大量调试后,我得到了以下几行代码(此代码直接取自kendo.web.js ):
iframe = $("<iframe />", { src: 'javascript:""', frameBorder: "0" })
.css("display", "")
.addClass("k-content")
.insertBefore(textarea)[0];
wnd = iframe.contentWindow || iframe;
doc = wnd.document || iframe.contentDocument;
doc.open();
doc.write('STRIPPED FOR READABILITY');
doc.close();
在这里,它试图创建一个在编辑器中使用的iframe。有关示例,请参阅(http://demos.kendoui.com/web/editor/index.html)上的来源。但是,iframe.contentWindow,iframe.document和iframe.contentDocument都为null。逻辑上,当尝试执行doc.open()时,此代码失败;并导致上述例外。
经过一些搜索后,StackOverflow提出了以下内容:Why is iframe.contentWindow == null?。该文件的准备情况似乎存在问题。
有人知道如何解决这个问题吗? 或者有没有人有DurandalJS(不是新的v2)和淘汰剑道的经验?
我正在使用Durandal JS 1.2.0。
提前致谢。
修改
通过MVC Bundle.Config完成对jquery,knockout和kendo ui以及knockout-kendo的脚本引用。
kendoEditor初始化通过以下方式完成:
<textarea id="emailTemplate" data-bind="kendoEditor: content"></textarea>