我正在尝试从 ckeditor 中获取特定区域的数据。为此,我使用以下代码
function get_body_html(){
var email = CKEDITOR.instances['message'].getData();
var before_body = header_to + to + to_subject + subject + subject_body;
var s_index = email.indexOf(before_body)+before_body.length;
var e_index = email.indexOf(body_footer);
return email.substring(s_index,e_index);
}
出于某种原因,当我在页面加载时这样做时有效
CKEDITOR.instances.message.setData(header_to + to + to_subject+
subject + subject_body + body_text + body_footer);
get_body_html();
它工作正常,并给了我 body_text 中包含的相同字符串。
但是当我这样做时
body_text = get_body_html();
CKEDITOR.instances.message.setData(header_to + to + to_subject + subject +
subject_body + body_text + body_footer);
在 onclick 函数中,它以某种方式获取错误的索引。有时它找不到字符串并返回 -1,有时它只是得到一个没有意义的奇怪索引。这些索引变化仅在我的代码被更改以以不同方式解决问题时发生。因此,如果是像 -5 和 2 这样的错误索引,那么在我进行代码更改之前,这些索引将继续是错误的索引。