IE9 TinyMCE ajax保存问题
我在一个页面中只有几个选项卡,其中一个选项卡中有三个文本区域(都包含TinyMCE)编辑器。
我使用ajax来发布表单和保存值,然后重新显示从PartialViewResult返回的部分视图。
我使用的是TinyMCE的最新版本(3.5.8)。
当我第一次单击时,文本区的值被保存。但当我第二次点击时,标签消失了,并给出了“SCRIPT70: Permission denied”。
错误发生在tiny_mce_src.js中的
getBody : function() {
return this.bodyElement || this.getDoc().body;
}我试过使用document.domain =‘localhost’(写在tiny_mce_src.js的顶部),它可以工作,但只有一个文本区转换成TinyMCE编辑器,另外两个仍然是正确的文本区。
我还尝试将其设置为1(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_OBJECT_CACHING\iexplore.exe)
我发布表单和重新显示的代码如下所示。
$(".save").live("click", function () {
tinyMCE.triggerSave();
var f = $(this).parents("form");
var action = f.attr("action");
var serializedForm = f.serialize();
$.ajax({
type: 'POST',
url: action,
data: serializedForm,
async: false,
cache: false,
success: function (data, textStatus, request) {
// redisplay partial view
$("div.tab-pane.active").html(data);
window.scrollTo(0, 0);
InItTinyMCE();
},
error: function (req, status, error) {
alert("Error occurred!");
}
});
return false;
});
function InItTinyMCE() {
tinyMCE.init({
mode: "textareas",
cleanup: true
});
}请帮帮忙。
发布于 2013-01-25 17:10:40
您可能需要正确地重新初始化tinymce实例
要关闭edtor实例,请使用以下命令:
tinymce.execCommand('mceRemoveControl',true,'your_editor_id');重新初始化使用
tinymce.execCommand('mceAddControl',true,'your_editor_id');发布于 2013-01-25 13:25:21
尝试使用mode:exact
$(window).ready(function() {
tinyMCE.init({
...
mode : "exact",
elements : "elm1,elm2"
});
}).
发布于 2015-03-13 14:50:52
add some line in Sizzle function in sizzle.js like this -
function Sizzle( selector, context, results, seed ) {
var match, elem, m, nodeType,
// QSA vars
i, groups, old, nid, newContext, newSelector;
try{
document === document; //may cause permission denied
}
catch(err){
document = window.document; //resets document, and no more permission denied errors.
}
if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
setDocument( context );
}
//remaining code will be same
}https://stackoverflow.com/questions/14515721
复制相似问题