v1.0
只读模式 group, 分享 评论更多问题 博客标签总是存在一个
This commit is contained in:
54
public/tinymce/classes/html/DomParser.js
Normal file → Executable file
54
public/tinymce/classes/html/DomParser.js
Normal file → Executable file
@ -106,7 +106,7 @@ define("tinymce/html/DomParser", [
|
||||
tempNode = currentNode;
|
||||
}
|
||||
|
||||
for (childNode = parents[i].firstChild; childNode && childNode != parents[i + 1]; ) {
|
||||
for (childNode = parents[i].firstChild; childNode && childNode != parents[i + 1];) {
|
||||
nextNode = childNode.next;
|
||||
tempNode.append(childNode);
|
||||
childNode = nextNode;
|
||||
@ -355,7 +355,7 @@ define("tinymce/html/DomParser", [
|
||||
function removeWhitespaceBefore(node) {
|
||||
var textNode, textVal, sibling;
|
||||
|
||||
for (textNode = node.prev; textNode && textNode.type === 3; ) {
|
||||
for (textNode = node.prev; textNode && textNode.type === 3;) {
|
||||
textVal = textNode.value.replace(endWhiteSpaceRegExp, '');
|
||||
|
||||
if (textVal.length > 0) {
|
||||
@ -573,7 +573,13 @@ define("tinymce/html/DomParser", [
|
||||
// Leave nodes that have a name like <a name="name">
|
||||
if (!node.attributes.map.name && !node.attributes.map.id) {
|
||||
tempNode = node.parent;
|
||||
node.empty().remove();
|
||||
|
||||
if (blockElements[node.name]) {
|
||||
node.empty().remove();
|
||||
} else {
|
||||
node.unwrap();
|
||||
}
|
||||
|
||||
node = tempNode;
|
||||
return;
|
||||
}
|
||||
@ -752,5 +758,47 @@ define("tinymce/html/DomParser", [
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (settings.validate && schema.getValidClasses()) {
|
||||
self.addAttributeFilter('class', function(nodes) {
|
||||
var i = nodes.length, node, classList, ci, className, classValue;
|
||||
var validClasses = schema.getValidClasses(), validClassesMap, valid;
|
||||
|
||||
while (i--) {
|
||||
node = nodes[i];
|
||||
classList = node.attr('class').split(' ');
|
||||
classValue = '';
|
||||
|
||||
for (ci = 0; ci < classList.length; ci++) {
|
||||
className = classList[ci];
|
||||
valid = false;
|
||||
|
||||
validClassesMap = validClasses['*'];
|
||||
if (validClassesMap && validClassesMap[className]) {
|
||||
valid = true;
|
||||
}
|
||||
|
||||
validClassesMap = validClasses[node.name];
|
||||
if (!valid && validClassesMap && validClassesMap[className]) {
|
||||
valid = true;
|
||||
}
|
||||
|
||||
if (valid) {
|
||||
if (classValue) {
|
||||
classValue += ' ';
|
||||
}
|
||||
|
||||
classValue += className;
|
||||
}
|
||||
}
|
||||
|
||||
if (!classValue.length) {
|
||||
classValue = null;
|
||||
}
|
||||
|
||||
node.attr('class', classValue);
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
});
|
||||
|
Reference in New Issue
Block a user