我允许使用全页编辑功能和标签。我添加了作为invalidelement,如果我在体内添加它,它会被删除,但如果我在head元素内部它不会被删除。有没有办法解决这个问题?
答案 0 :(得分:0)
我无法清楚地理解你的问题。 虽然,我认为这可能是你面临的问题。
在初始化时,您正在设置“invalid_elements”。
可能的原因:
在head部分下添加它时,可以确定脚本在使用之前已定义。此外,head标签中的代码将在正文中执行(页面加载顺序)。
在框架中使用JavaScript时,必须将所有JavaScript放在HEAD元素中,否则无法保证框架能够正确显示。 TinyMce使用iframe来模拟您在富文本中键入的内容。因此,由于这种情况可能会发生冲突。
答案 1 :(得分:0)
以下是用于该特定用例的代码段:
switchStyle: function(url,tiny_id,url_to_replace){
ed = tinymce.get(tiny_id);
doc = $(ed.getBody().ownerDocument);
// get stylesheet info alternative
sheets = ed.getParam('content_css_alt');
sheets_urls = [];
if (url_to_replace){
sheets_urls.push(url_to_replace);
}
else{
sheets_urls.push(ed.getParam('content_css'));
if (typeof sheets == "string"){
sheets_urls.push(sheets);
}
else {
for (var i = 0; i < sheets.length; i++) {
sheets_urls.push(sheets[i].url);
}
}
}
// remove all stylesheets from sheets_urls
doc.find('link').each(function() {
if (tinymce.inArray(sheets_urls, $(this).attr('href').split('?')[0]) !== -1) {
$(this).remove();
}
});
// set stylesheet
doc.find('head:first').append('<link rel="stylesheet" href="' + url + '"');
},