提交 1bf18b8a 编写于 作者: 许恒

Merge remote-tracking branch 'origin/dev-1.2.4' into dev-1.2.4

......@@ -40,7 +40,6 @@
toFocus.filter(":visible").focus();
}
} catch(e) {
// ignore IE throwing errors when focusing hidden elements
}
}
}
......
......@@ -453,10 +453,11 @@
*/
getAllHtml:function () {
var me = this,
headHtml = {html:''},
headHtml = [],
html = '';
me.fireEvent( 'getAllHtml', headHtml );
return '<html><head>' + (me.options.charset ? '<meta http-equiv="Content-Type" content="text/html; charset=' + me.options.charset + '"/>' : '') + me.document.getElementsByTagName( 'head' )[0].innerHTML + headHtml.html + '</head>'
return '<html><head>' + (me.options.charset ? '<meta http-equiv="Content-Type" content="text/html; charset=' + me.options.charset + '"/>' : '')
+ me.document.getElementsByTagName( 'head' )[0].innerHTML + headHtml.join('\n') + '</head>'
+ '<body ' + (ie && browser.version < 9 ? 'class="view"' : '') + '>' + me.getContent( null, null, true ) + '</body></html>';
},
/**
......
......@@ -9,7 +9,7 @@ UE.plugins['background'] = function(){
}else{
url = su!="none" ? su.replace(/url\("?|"?\)/ig,""):"";
}
headHtml.html += '<style type="text/css">body{';
var html = '<style type="text/css">body{';
var bgObj = {
"background-color" : domUtils.getComputedStyle(body,"background-color")||"#ffffff",
'background-image' : url ? 'url('+url+')' : '',
......@@ -19,9 +19,10 @@ UE.plugins['background'] = function(){
};
for ( var name in bgObj ) {
if ( bgObj.hasOwnProperty( name ) ) {
headHtml.html += name+":"+bgObj[name]+";";
html += name+":"+bgObj[name]+";";
}
}
headHtml.html += '}</style> ';
html += '}</style> ';
headHtml.push(html);
});
}
\ No newline at end of file
......@@ -13,12 +13,12 @@ UE.plugins['highlightcode'] = function() {
me.commands['highlightcode'] = {
execCommand: function (cmdName, code, syntax) {
if(code && syntax){
me.execCommand('inserthtml','<pre id="highlightcode_id" class="brush: '+syntax+';toolbar:false;">'+code+'</pre>',true);
var pre = me.document.getElementById('highlightcode_id');
domUtils.removeAttributes(pre,'id');
me.window.SyntaxHighlighter.highlight(pre);
if(pre){
domUtils.removeAttributes(pre,'id');
me.window.SyntaxHighlighter.highlight(pre);
}
}else{
var range = this.selection.getRange(),
start = domUtils.findParentByTagName(range.startContainer, 'table', true),
......@@ -114,20 +114,20 @@ UE.plugins['highlightcode'] = function() {
}
});
me.addListener("beforegetcontent",function(){
me.addListener("beforegetcontent beforegetscene",function(){
utils.each(domUtils.getElementsByTagName(me.body,'div','syntaxhighlighter'),function(di){
var str = [];
utils.each(di.getElementsByTagName('code'),function(ci){
str.push(ci[browser.ie?'innerText':'textContent'])
});
var pre = domUtils.createElement(me.document,'pre',{
innerHTML : str.join('\n'),
'class' : 'brush: '+di.className.match(/[\w-]+$/)[0]+';toolbar:false;'
'class' : 'brush: '+di.className.replace(/\s+/g,' ').split(' ')[1]+';toolbar:false;'
});
pre.appendChild(me.document.createTextNode(str.join('\n')));
di.parentNode.replaceChild(pre,di);
});
});
me.addListener("aftergetcontent aftersetcontent",changePre);
me.addListener("aftergetcontent aftersetcontent aftergetscene",changePre);
me.addListener('afterinserthtml',function(){
utils.each(domUtils.getElementsByTagName(this.document,'div',function(node){
......@@ -147,7 +147,7 @@ UE.plugins['highlightcode'] = function() {
//避免table插件对于代码高亮的影响
me.addListener('excludetable',function(cmd,target){
if(target && domUtils.findParent(target,function(node){
return node.tagName == 'div' && domUtils.hasClass(node,'syntaxhighlighter');
return node.tagName == 'DIV' && domUtils.hasClass(node,'syntaxhighlighter');
},true)){
return true;
}
......@@ -162,29 +162,19 @@ UE.plugins['highlightcode'] = function() {
});
}
me.addListener('getAllHtml',function(type,html){
me.addListener('getAllHtml',function(type,headHtml){
var coreHtml = '';
for(var i= 0,ci,divs=domUtils.getElementsByTagName(me.document,'div');ci=divs[i++];){
if(domUtils.hasClass(ci,'syntaxhighlighter')){
if(!me.document.getElementById('syntaxhighlighter_css')){
coreHtml = '<link id="syntaxhighlighter_css" rel="stylesheet" type="text/css" href="' +
(me.options.highlightCssUrl ||me.options.UEDITOR_HOME_URL + 'third-party/SyntaxHighlighter/shCoreDefault.css"') + ' ></link>'
}
if(!me.window.XRegExp){
coreHtml += '<script id="syntaxhighlighter_js" type="text/javascript" src="' +
(me.options.highlightJsUrl || me.options.UEDITOR_HOME_URL + 'third-party/SyntaxHighlighter/shCore.js"') + ' ></script>'+
'<script type="text/javascript">window.onload = function(){SyntaxHighlighter.highlight();' +
'setTimeout(function(){' +
'for(var i=0,di;di=SyntaxHighlighter.highlightContainers[i++];){' +
'var tds = di.getElementsByTagName("td");' +
'for(var j=0,li,ri;li=tds[0].childNodes[j];j++){' +
'ri = tds[1].firstChild.childNodes[j];' +
'ri.style.height = li.style.height = ri.offsetHeight + "px";' +
'}' +
'}},100)}</script>'
}
coreHtml = '<script type="text/javascript">window.onload = function(){SyntaxHighlighter.highlight();' +
'setTimeout(function(){' +
'for(var i=0,di;di=SyntaxHighlighter.highlightContainers[i++];){' +
'var tds = di.getElementsByTagName("td");' +
'for(var j=0,li,ri;li=tds[0].childNodes[j];j++){' +
'ri = tds[1].firstChild.childNodes[j];' +
'ri.style.height = li.style.height = ri.offsetHeight + "px";' +
'}' +
'}},100)}</script>'
break;
}
}
......@@ -198,7 +188,7 @@ UE.plugins['highlightcode'] = function() {
}
}
html.html += coreHtml;
coreHtml && headHtml.push(coreHtml)
});
//全屏时,重新算一下宽度
me.addListener('fullscreenchanged',function(){
......
......@@ -61,7 +61,7 @@
}
.syntaxhighlighter {
width: 96% !important;
width: 100% !important;
margin: 1em 0 1em 0 !important;
position: relative !important;
font-size: 1em !important;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册