ckeditor/_source/core/htmlparser/fragment.js
(开头部分) 16KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
/*
Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
/**
* A lightweight representation of an HTML DOM structure.
* @constructor
* @example
*/
CKEDITOR.htmlParser.fragment = function()
{
/**
* The nodes contained in the root of this fragment.
* @type Array
* @example
* var fragment = CKEDITOR.htmlParser.fragment.fromHtml( '<b>Sample</b> Text' );
* alert( fragment.children.length ); "2"
*/
this.children = [];
/**
* Get the fragment parent. Should always be null.
* @type Object
* @default null
* @example
*/
this.parent = null;
/** @private */
this._ =
{
isBlockLike : true,
hasInlineStarted : false
};
};
(function()
{
// Block-level elements whose internal structure should be respected during
// parser fixing.
var nonBreakingBlocks = CKEDITOR.tools.extend( { table:1,ul:1,ol:1,dl:1 }, CKEDITOR.dtd.table, CKEDITOR.dtd.ul, CKEDITOR.dtd.ol, CKEDITOR.dtd.dl );
// IE < 8 don't output the close tag on definition list items. (#6975)
var optionalCloseTags = CKEDITOR.env.ie && CKEDITOR.env.version < 8 ? { dd : 1, dt :1 } : {};
var listBlocks = { ol:1, ul:1 };
// Dtd of the fragment element, basically it accept anything except for intermediate structure, e.g. orphan <li>.
var rootDtd = CKEDITOR.tools.extend( {}, { html: 1 }, CKEDITOR.dtd.html, CKEDITOR.dtd.body, CKEDITOR.dtd.head, { style:1,script:1 } );
function isRemoveEmpty( node )
{
// Empty link is to be removed when empty but not anchor. (#7894)
return node.name == 'a' && node.attributes.href
|| CKEDITOR.dtd.$removeEmpty[ node.name ];
}
/**
* Creates a {@link CKEDITOR.htmlParser.fragment} from an HTML string.
后面还有 458 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。