【发布时间】:2016-03-15 17:37:33
【问题描述】:
我有 TinyMCE 3.5.8 版。我想调用 tinyMCE 对象,它是 tinyMCE.editors。在 Firefox 和 Chrome 中没有问题。在 IE 11 中是个问题。
if (typeof(tinyMCE) != "undefined") {
var n = 0;
for (var i = 0; i < tinyMCE.editors.length; i++) {
...
}
}
Firefox 和 Chrome 通过循环没有问题,但问题在于 IE tinyMCE.editors.length 返回 0。
当控制台转储TinyMCE 时,我正确地看到“编辑器”,但是当您调用tinyMCE.editors 时,它返回一个空数组。
我也尝试了 tinyMCE['editors'] - IE 中的同样问题。
请帮忙。谢谢
有什么想法吗?
不过,我还是会详细描述问题。 我更新了 TinyMCE - 版本 4 使用 jQuery - v1.11.3
我在没有其他javascript代码的情况下干净地尝试了代码:
<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript" src="https://.../js/jquery.js" ></script>
<script type="text/javascript" src="https://.../tinymce4/tinymce.min.js" ></script>
<script type="text/javascript" src="https://.../tinymce4/_tinymce.advanced.js" ></script>
</head>
<body>
<textarea class="wysiwyg" id="a1" name="a1">
</textarea>
<textarea class="wysiwyg" id="a2" name="a2">
</textarea>
<script type="text/javascript">
jQuery(window).bind('load', function () {
var editors = getTinyMCEEditors();
});
/**
* Get TinyMCE Editors on page
* @returns Object Editors Id
*/
function getTinyMCEEditors(filterClass) {
var ed = {};
if (typeof(tinyMCE) != "undefined") {
// THIS IS ERROR - return null array
console.log(tinyMCE.editors);
var n = 0;
for (var i = 0; i < tinyMCE.editors.length; i++) {
if ($('#' + tinyMCE.editors[i].id).hasClass(filterClass)) {
ed[n] = tinyMCE.editors[i].id;
n++;
}
}
}
return ed;
}
</script>
</body>
</html>
console.log(tinyMCE.editors);返回空数组
【问题讨论】:
标签: javascript internet-explorer tinymce