Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
qq_14980201
ueditor
提交
969195c3
U
ueditor
项目概览
qq_14980201
/
ueditor
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
ueditor
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
969195c3
编写于
3月 04, 2013
作者:
Y
yancen
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'dev-1.2.5' of
https://github.com/campaign/ueditor
into dev-1.2.5
上级
a7507ce8
1507b154
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
268 addition
and
281 deletion
+268
-281
_src/core/htmlparser.js
_src/core/htmlparser.js
+1
-1
_test/core/htmlparser.js
_test/core/htmlparser.js
+10
-0
_test/plugins/blockquote.js
_test/plugins/blockquote.js
+112
-127
_test/plugins/image.js
_test/plugins/image.js
+145
-153
未找到文件。
_src/core/htmlparser.js
浏览文件 @
969195c3
...
...
@@ -70,7 +70,7 @@ var htmlparser = UE.htmlparser = function (htmlstr) {
if
(
htmlattr
)
{
var
attrs
=
{},
match
;
while
(
match
=
re_attr
.
exec
(
htmlattr
))
{
attrs
[
match
[
1
].
toLowerCase
()]
=
match
[
2
]
attrs
[
match
[
1
].
toLowerCase
()]
=
match
[
2
]
||
match
[
3
]
||
match
[
4
]
}
elm
.
attrs
=
attrs
;
}
...
...
_test/core/htmlparser.js
浏览文件 @
969195c3
...
...
@@ -31,9 +31,19 @@ test( '补全不完整table', function() {
equals
(
root
.
toHtml
(),
'
<table><tbody><tr><td></td><td></td></tr></tbody></table>
'
,
'
包含
\n
,补全table
'
);
});
test
(
'
补全不完整li
'
,
function
()
{
var
root
=
UE
.
htmlparser
(
'
<ol><li><em><u>sdf<li>sdfsdf</ol>
'
);
equals
(
root
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<ol><li><em><u>sdf</u></em></li><li>sdfsdf</li></ol>
'
,
'
补全u,em
'
);
root
=
UE
.
htmlparser
(
'
<ol><li><em>sdf</em></li><ul><li>a</li><li>b</li><li>c</ul><li>jkl</ol>
'
);
equals
(
root
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<ol><li><em>sdf</em></li><ul><li>a</li><li>b</li><li>c</li></ul><li>jkl</li></ol>
'
,
'
补全li
'
);
});
test
(
'
属性引号问题
'
,
function
()
{
var
root
=
UE
.
htmlparser
(
'
<img width=200 height=200 />
'
);
equals
(
root
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<img width="200" height="200" />
'
);
var
root
=
UE
.
htmlparser
(
"
<img width='200' height='200' />
"
);
equals
(
root
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<img width="200" height="200" />
'
);
var
root
=
UE
.
htmlparser
(
'
<img width="200" height="200" />
'
);
equals
(
root
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<img width="200" height="200" />
'
);
});
\ No newline at end of file
_test/plugins/blockquote.js
浏览文件 @
969195c3
...
...
@@ -2,151 +2,135 @@ module( "plugins.blockquote" );
/*trace 967*/
//这个用例暂不测ie,因为ie中输入回车无效
/*
test( '切换到源码模式再切换回来点引用', function () {
if(!ua.browser.ie){
var editor = te.obj[0];
var body = editor.body;
editor.setContent( 'hello' );
editor.execCommand( 'source' );
var tas = editor.iframe.parentNode.getElementsByTagName( 'textarea' );
tas[tas.length - 1].value = '';
stop();
//source.js中有延时操作
setTimeout( function () {
editor.execCommand( 'source' );
editor.execCommand( 'blockquote' );
// //模拟回车,在引用后回车两段都是引用
setTimeout( function () {
//// //firefox竟然要多触发一次。。什么乱七八糟的bug啊
////// if ( ua.getBrowser() == "firefox" )
////// te.presskey( "enter", "" );
editor.focus();
te.presskey( "enter", "" );
setTimeout( function () {
editor.focus();
setTimeout( function () {
var bq = body.firstChild;
equal( body.childNodes.length, 1, 'body有1个孩子' );
equal( bq.childNodes.length, 2, 'blockquote有2个孩子' );
ok( bq.childNodes[0]&&bq.childNodes[0].tagName.toLowerCase()=='p', '第一个孩子是p' );
ok( bq.childNodes[1]&&bq.childNodes[1].tagName.toLowerCase()=='p', '第二个孩子是p' );
start();
}, 50 );
}, 30 );//
}, 60 );
}, 50 );
}
else
ok(ua.browser.ie,'这个用例暂不测,因为ie中输入回车无效');
} );
*/
//test( '切换到源码模式再切换回来点引用', function () {
// if(!ua.browser.ie){
// var editor = te.obj[0];
// var body = editor.body;
// editor.setContent( 'hello' );
// editor.execCommand( 'source' );
// var tas = editor.iframe.parentNode.getElementsByTagName( 'textarea' );
// tas[tas.length - 1].value = '';
// stop();
// setTimeout( function () { //source.js中有延时操作
// editor.execCommand( 'source' );
// editor.execCommand( 'blockquote' );
// setTimeout( function () { //模拟回车,在引用后回车两段都是引用
// //firefox竟然要多触发一次。。什么乱七八糟的bug啊
// //if ( ua.getBrowser() == "firefox" )
// //te.presskey( "enter", "" );
// debugger;
// editor.focus();
// te.presskey( "enter", "" );
// setTimeout( function () {
// editor.focus();
// setTimeout( function () {
// var bq = body.firstChild;
// equal( body.childNodes.length, 1, 'body有1个孩子' );
// equal( bq.childNodes.length, 2, 'blockquote有2个孩子' );
// ok( bq.childNodes[0]&&bq.childNodes[0].tagName.toLowerCase()=='p', '第一个孩子是p' );
// ok( bq.childNodes[1]&&bq.childNodes[1].tagName.toLowerCase()=='p', '第二个孩子是p' );
// start();
// }, 50 );
// }, 30 );
// }, 60 );
// }, 50 );
// }
// else
// ok(ua.browser.ie,'这个用例暂不测,因为ie中输入回车无效');
//} );
test
(
'
在表格中添加和去除引用
'
,
function
()
{
var
editor
=
te
.
obj
[
0
];
var
range
=
te
.
obj
[
1
];
editor
.
setContent
(
'
hello<table><tbody><tr><td>hello</td></tr></tbody></table>
'
);
var
body
=
editor
.
body
;
/*闭合选取*/
var
tds
=
body
.
lastChild
.
getElementsByTagName
(
'
td
'
);
range
.
setStart
(
tds
[
0
].
firstChild
,
2
).
collapse
(
true
).
select
();
editor
.
execCommand
(
'
blockquote
'
);
equal
(
body
.
lastChild
.
tagName
.
toLowerCase
(),
'
blockquote
'
,
'
引用加到表格外面去了
'
);
equal
(
tds
[
0
].
firstChild
.
nodeType
,
3
,
'
td里仍然是文本
'
);
equal
(
tds
[
0
].
firstChild
.
data
,
'
he
'
,
'
td里仍然是文本he
'
);
/*再执行一次引用,会去掉引用*/
range
.
setStart
(
tds
[
0
].
firstChild
,
2
).
collapse
(
true
).
select
();
editor
.
execCommand
(
'
blockquote
'
);
//1.2版本table外加了div
ok
(
body
.
lastChild
.
tagName
.
toLowerCase
()
!=
'
blockquote
'
,
'
引用去掉了
'
);
/*不闭合选中表格,添加引用*/
range
.
selectNode
(
tds
[
0
]
).
select
();
editor
.
execCommand
(
'
blockquote
'
);
equal
(
body
.
lastChild
.
tagName
.
toLowerCase
(),
'
blockquote
'
,
'
非闭合方式选中添加引用
'
);
var
editor
=
te
.
obj
[
0
];
var
range
=
te
.
obj
[
1
];
editor
.
setContent
(
'
hello<table><tbody><tr><td>hello</td></tr></tbody></table>
'
);
var
body
=
editor
.
body
;
var
tds
=
body
.
lastChild
.
getElementsByTagName
(
'
td
'
);
range
.
setStart
(
tds
[
0
].
firstChild
,
2
).
collapse
(
true
).
select
();
/*闭合选取*/
editor
.
execCommand
(
'
blockquote
'
);
equal
(
body
.
lastChild
.
tagName
.
toLowerCase
(),
'
blockquote
'
,
'
引用加到表格外面去了
'
);
equal
(
tds
[
0
].
firstChild
.
nodeType
,
3
,
'
td里仍然是文本
'
);
equal
(
tds
[
0
].
firstChild
.
data
,
'
he
'
,
'
td里仍然是文本he
'
);
range
.
setStart
(
tds
[
0
].
firstChild
,
2
).
collapse
(
true
).
select
();
editor
.
execCommand
(
'
blockquote
'
);
/*再执行一次引用,会去掉引用*/
ok
(
body
.
lastChild
.
tagName
.
toLowerCase
()
!=
'
blockquote
'
,
'
引用去掉了
'
);
//1.2版本table外加了div
range
.
selectNode
(
tds
[
0
]
).
select
();
/*不闭合选中表格,添加引用*/
editor
.
execCommand
(
'
blockquote
'
);
equal
(
body
.
lastChild
.
tagName
.
toLowerCase
(),
'
blockquote
'
,
'
非闭合方式选中添加引用
'
);
}
);
test
(
'
在列表中添加引用
'
,
function
()
{
var
editor
=
te
.
obj
[
0
];
var
range
=
te
.
obj
[
1
];
editor
.
setContent
(
'
hello<ol><li><p>hello1</p></li><li><p>hello2</p></li></ol>
'
);
var
body
=
editor
.
body
;
/*闭合选取*/
var
lis
=
body
.
lastChild
.
getElementsByTagName
(
'
li
'
);
range
.
setStart
(
lis
[
0
].
firstChild
,
1
).
collapse
(
1
).
select
();
editor
.
execCommand
(
'
blockquote
'
);
equal
(
body
.
lastChild
.
tagName
.
toLowerCase
(),
'
blockquote
'
,
'
引用加到列表外面去了
'
);
equal
(
lis
[
0
].
firstChild
.
nodeType
,
1
,
'
列表里套着p
'
);
equal
(
lis
[
0
].
firstChild
.
firstChild
.
data
,
'
hello1
'
,
'
列表里仍然是文本hello1
'
);
var
editor
=
te
.
obj
[
0
];
var
range
=
te
.
obj
[
1
];
editor
.
setContent
(
'
hello<ol><li><p>hello1</p></li><li><p>hello2</p></li></ol>
'
);
var
body
=
editor
.
body
;
var
lis
=
body
.
lastChild
.
getElementsByTagName
(
'
li
'
);
range
.
setStart
(
lis
[
0
].
firstChild
,
1
).
collapse
(
1
).
select
();
/*闭合选取*/
editor
.
execCommand
(
'
blockquote
'
);
equal
(
body
.
lastChild
.
tagName
.
toLowerCase
(),
'
blockquote
'
,
'
引用加到列表外面去了
'
);
equal
(
lis
[
0
].
firstChild
.
nodeType
,
1
,
'
列表里套着p
'
);
equal
(
lis
[
0
].
firstChild
.
firstChild
.
data
,
'
hello1
'
,
'
列表里仍然是文本hello1
'
);
}
);
/*trace 1183*/
test
(
'
trace1183:选中列表中添加引用,再去掉引用
'
,
function
()
{
var
editor
=
te
.
obj
[
0
];
var
range
=
te
.
obj
[
1
];
editor
.
setContent
(
'
<p>hello1</p><p>hello2</p>
'
);
var
body
=
editor
.
body
;
range
.
setStart
(
body
,
0
).
setEnd
(
body
,
2
).
select
();
/*添加列表*/
editor
.
execCommand
(
'
insertorderedlist
'
);
ua
.
manualDeleteFillData
(
editor
.
body
);
var
ol
=
body
.
getElementsByTagName
(
'
ol
'
)[
0
];
var
html
=
ua
.
getChildHTML
(
ol
);
var
editor
=
te
.
obj
[
0
];
var
range
=
te
.
obj
[
1
];
editor
.
setContent
(
'
<p>hello1</p><p>hello2</p>
'
);
var
body
=
editor
.
body
;
range
.
setStart
(
body
,
0
).
setEnd
(
body
,
2
).
select
();
editor
.
execCommand
(
'
insertorderedlist
'
);
/*添加列表*/
ua
.
manualDeleteFillData
(
editor
.
body
);
var
ol
=
body
.
getElementsByTagName
(
'
ol
'
)[
0
];
var
html
=
ua
.
getChildHTML
(
ol
);
editor
.
execCommand
(
'
blockquote
'
);
editor
.
execCommand
(
'
blockquote
'
);
ua
.
manualDeleteFillData
(
editor
.
body
);
equal
(
ua
.
getChildHTML
(
body
.
getElementsByTagName
(
'
ol
'
)[
0
]
),
html
,
'
引用前后列表没有发生变化
'
);
equal
(
body
.
getElementsByTagName
(
'
ol
'
).
length
,
1
,
'
只有一个有序列表
'
);
editor
.
execCommand
(
'
blockquote
'
);
editor
.
execCommand
(
'
blockquote
'
);
ua
.
manualDeleteFillData
(
editor
.
body
);
equal
(
ua
.
getChildHTML
(
body
.
getElementsByTagName
(
'
ol
'
)[
0
]
),
html
,
'
引用前后列表没有发生变化
'
);
equal
(
body
.
getElementsByTagName
(
'
ol
'
).
length
,
1
,
'
只有一个有序列表
'
);
}
);
test
(
'
对段落添加引用和去除引用
'
,
function
()
{
var
editor
=
te
.
obj
[
0
];
var
range
=
te
.
obj
[
1
];
editor
.
setContent
(
'
<p><strong><em>hello1</em></strong></p><p>hello2 world</p>
'
);
var
body
=
editor
.
body
;
/*不闭合添加引用*/
range
.
setStart
(
body
.
firstChild
,
0
).
setEnd
(
body
.
lastChild
,
1
).
select
();
editor
.
execCommand
(
'
blockquote
'
);
var
editor
=
te
.
obj
[
0
];
var
range
=
te
.
obj
[
1
];
editor
.
setContent
(
'
<p><strong><em>hello1</em></strong></p><p>hello2 world</p>
'
);
var
body
=
editor
.
body
;
range
.
setStart
(
body
.
firstChild
,
0
).
setEnd
(
body
.
lastChild
,
1
).
select
();
/*不闭合添加引用*/
editor
.
execCommand
(
'
blockquote
'
);
equal
(
ua
.
getChildHTML
(
body
),
'
<blockquote><p><strong><em>hello1</em></strong></p><p>hello2 world</p></blockquote>
'
,
'
不闭合添加引用
'
);
equal
(
editor
.
queryCommandState
(
'
blockquote
'
),
1
,
'
引用高亮
'
);
equal
(
ua
.
getChildHTML
(
body
),
'
<blockquote><p><strong><em>hello1</em></strong></p><p>hello2 world</p></blockquote>
'
,
'
不闭合添加引用
'
);
equal
(
editor
.
queryCommandState
(
'
blockquote
'
),
1
,
'
引用高亮
'
);
/*闭合去除引用*/
range
.
setStart
(
body
.
firstChild
.
lastChild
,
0
).
collapse
(
true
).
select
();
editor
.
execCommand
(
'
blockquote
'
);
equal
(
ua
.
getChildHTML
(
body
),
'
<blockquote><p><strong><em>hello1</em></strong></p></blockquote><p>hello2 world</p>
'
,
'
闭合去除引用
'
);
equal
(
editor
.
queryCommandState
(
'
blockquote
'
),
0
,
'
引用不高亮
'
);
/*非闭合去除引用*/
range
.
setStart
(
body
.
firstChild
,
0
).
setEnd
(
body
.
lastChild
,
1
).
select
();
editor
.
execCommand
(
'
blockquote
'
);
equal
(
ua
.
getChildHTML
(
body
),
'
<p><strong><em>hello1</em></strong></p><p>hello2 world</p>
'
);
equal
(
editor
.
queryCommandState
(
'
blockquote
'
),
0
,
'
非闭合去除引用后,引用不高亮
'
);
/*闭合添加引用*/
range
.
setStart
(
body
.
lastChild
,
0
).
collapse
(
true
).
select
();
editor
.
execCommand
(
'
blockquote
'
);
equal
(
ua
.
getChildHTML
(
body
),
'
<p><strong><em>hello1</em></strong></p><blockquote><p>hello2 world</p></blockquote>
'
,
'
闭合添加引用
'
);
}
);
range
.
setStart
(
body
.
firstChild
.
lastChild
,
0
).
collapse
(
true
).
select
();
/*闭合去除引用*/
editor
.
execCommand
(
'
blockquote
'
);
equal
(
ua
.
getChildHTML
(
body
),
'
<blockquote><p><strong><em>hello1</em></strong></p></blockquote><p>hello2 world</p>
'
,
'
闭合去除引用
'
);
equal
(
editor
.
queryCommandState
(
'
blockquote
'
),
0
,
'
引用不高亮
'
);
range
.
setStart
(
body
.
firstChild
,
0
).
setEnd
(
body
.
lastChild
,
1
).
select
();
/*非闭合去除引用*/
editor
.
execCommand
(
'
blockquote
'
);
equal
(
ua
.
getChildHTML
(
body
),
'
<p><strong><em>hello1</em></strong></p><p>hello2 world</p>
'
);
equal
(
editor
.
queryCommandState
(
'
blockquote
'
),
0
,
'
非闭合去除引用后,引用不高亮
'
);
range
.
setStart
(
body
.
lastChild
,
0
).
collapse
(
true
).
select
();
/*闭合添加引用*/
editor
.
execCommand
(
'
blockquote
'
);
equal
(
ua
.
getChildHTML
(
body
),
'
<p><strong><em>hello1</em></strong></p><blockquote><p>hello2 world</p></blockquote>
'
,
'
闭合添加引用
'
);
}
);
test
(
'
startContainer为body添加引用
'
,
function
()
{
var
editor
=
te
.
obj
[
0
];
var
range
=
te
.
obj
[
1
];
editor
.
setContent
(
'
hello<ol><li>hello1</li><li>hello2</li></ol>
'
);
var
body
=
editor
.
body
;
/*不闭合选取*/
range
.
setStart
(
body
,
0
).
setEnd
(
body
,
2
).
select
();
editor
.
execCommand
(
'
blockquote
'
);
// var padding = ua.browser.ie&&ua.browser.ie<9?' style=\" list-paddingleft-2\"':(ua.browser.webkit?' class=\" list-paddingleft-2\"':' style=\" list-paddingleft-2\"');
var
padding
=
'
class=
\
" list-paddingleft-2
\
"
'
;
equal
(
ua
.
getChildHTML
(
body
),
'
<blockquote><p>hello</p><ol
'
+
padding
+
'
><li><p>hello1</p></li><li><p>hello2</p></li></ol></blockquote>
'
,
'
选中body加引用
'
);
equal
(
editor
.
queryCommandState
(
'
blockquote
'
),
1
,
'
引用高亮
'
);
/*闭合选取*/
editor
.
undoManger
.
undo
();
range
.
setStart
(
body
,
1
).
collapse
(
true
).
select
();
equal
(
editor
.
queryCommandState
(
'
blockquote
'
),
0
,
'
引用不高亮
'
);
var
editor
=
te
.
obj
[
0
];
var
range
=
te
.
obj
[
1
];
editor
.
setContent
(
'
hello<ol><li>hello1</li><li>hello2</li></ol>
'
);
var
body
=
editor
.
body
;
range
.
setStart
(
body
,
0
).
setEnd
(
body
,
2
).
select
();
/*不闭合选取*/
editor
.
execCommand
(
'
blockquote
'
);
// var padding = ua.browser.ie&&ua.browser.ie<9?' style=\" list-paddingleft-2\"':(ua.browser.webkit?' class=\" list-paddingleft-2\"':' style=\" list-paddingleft-2\"');
var
padding
=
'
class=
\
" list-paddingleft-2
\
"
'
;
equal
(
ua
.
getChildHTML
(
body
),
'
<blockquote><p>hello</p><ol
'
+
padding
+
'
><li><p>hello1</p></li><li><p>hello2</p></li></ol></blockquote>
'
,
'
选中body加引用
'
);
equal
(
editor
.
queryCommandState
(
'
blockquote
'
),
1
,
'
引用高亮
'
);
editor
.
undoManger
.
undo
();
range
.
setStart
(
body
,
1
).
collapse
(
true
).
select
();
/*闭合选取*/
equal
(
editor
.
queryCommandState
(
'
blockquote
'
),
0
,
'
引用不高亮
'
);
}
);
//ie 不通过
test
(
'
aa标签
'
,
function
(){
var
editor
=
te
.
obj
[
0
];
...
...
@@ -163,6 +147,7 @@ test('aa标签',function(){
}
});
/*trace 3284*/
test
(
'
列表内引用
'
,
function
(){
var
editor
=
te
.
obj
[
0
];
var
range
=
te
.
obj
[
1
];
...
...
_test/plugins/image.js
浏览文件 @
969195c3
...
...
@@ -6,190 +6,182 @@ module( 'plugins.image' );
* 表格中插入图像
*/
test
(
'
插入新图像
'
,
function
()
{
var
editor
=
te
.
obj
[
0
];
var
range
=
te
.
obj
[
1
];
var
body
=
editor
.
body
;
editor
.
setContent
(
'
<p><br></p>
'
);
range
.
setStart
(
body
.
firstChild
,
0
).
collapse
(
1
).
select
();
editor
.
execCommand
(
'
insertimage
'
,
{
src
:
'
http://img.baidu.com/hi/jx2/j_0001.gif
'
,
width
:
50
,
height
:
51
}
);
ua
.
manualDeleteFillData
(
editor
.
body
);
var
img
=
body
.
getElementsByTagName
(
'
img
'
)[
0
];
equal
(
img
.
getAttribute
(
'
src
'
),
'
http://img.baidu.com/hi/jx2/j_0001.gif
'
,
'
比较src
'
);
equal
(
img
.
getAttribute
(
'
width
'
),
'
50
'
,
'
比较width
'
);
equal
(
img
.
getAttribute
(
'
height
'
),
'
51
'
,
'
比较height
'
);
var
editor
=
te
.
obj
[
0
];
var
range
=
te
.
obj
[
1
];
var
body
=
editor
.
body
;
editor
.
setContent
(
'
<p><br></p>
'
);
range
.
setStart
(
body
.
firstChild
,
0
).
collapse
(
1
).
select
();
editor
.
execCommand
(
'
insertimage
'
,
{
src
:
'
http://img.baidu.com/hi/jx2/j_0001.gif
'
,
width
:
50
,
height
:
51
}
);
ua
.
manualDeleteFillData
(
editor
.
body
);
var
img
=
body
.
getElementsByTagName
(
'
img
'
)[
0
];
equal
(
img
.
getAttribute
(
'
src
'
),
'
http://img.baidu.com/hi/jx2/j_0001.gif
'
,
'
比较src
'
);
equal
(
img
.
getAttribute
(
'
width
'
),
'
50
'
,
'
比较width
'
);
equal
(
img
.
getAttribute
(
'
height
'
),
'
51
'
,
'
比较height
'
);
}
);
/*trace 1490 不设宽高,插入图片*/
test
(
'
trace 1490 不设宽高,插入图片
'
,
function
()
{
var
editor
=
te
.
obj
[
0
];
var
range
=
te
.
obj
[
1
];
var
body
=
editor
.
body
;
editor
.
setContent
(
'
<p><br></p>
'
);
range
.
setStart
(
body
.
firstChild
,
0
).
collapse
(
1
).
select
();
editor
.
execCommand
(
'
insertimage
'
,
{
src
:
'
http://img.baidu.com/hi/jx2/j_0001.gif
'
}
);
ua
.
manualDeleteFillData
(
editor
.
body
);
var
img
=
body
.
getElementsByTagName
(
'
img
'
)[
0
];
equal
(
img
.
getAttribute
(
'
src
'
),
'
http://img.baidu.com/hi/jx2/j_0001.gif
'
,
'
比较src
'
);
var
editor
=
te
.
obj
[
0
];
var
range
=
te
.
obj
[
1
];
var
body
=
editor
.
body
;
editor
.
setContent
(
'
<p><br></p>
'
);
range
.
setStart
(
body
.
firstChild
,
0
).
collapse
(
1
).
select
();
editor
.
execCommand
(
'
insertimage
'
,
{
src
:
'
http://img.baidu.com/hi/jx2/j_0001.gif
'
}
);
ua
.
manualDeleteFillData
(
editor
.
body
);
var
img
=
body
.
getElementsByTagName
(
'
img
'
)[
0
];
equal
(
img
.
getAttribute
(
'
src
'
),
'
http://img.baidu.com/hi/jx2/j_0001.gif
'
,
'
比较src
'
);
}
);
test
(
'
插入对齐方式为居中对齐的图像,新建一个p,在p上设置居中对齐
'
,
function
()
{
var
editor
=
te
.
obj
[
0
];
var
range
=
te
.
obj
[
1
];
var
body
=
editor
.
body
;
editor
.
setContent
(
'
<p>hello</p>
'
);
range
.
setStart
(
body
.
firstChild
,
0
).
collapse
(
1
).
select
();
editor
.
execCommand
(
'
insertimage
'
,
{
src
:
'
http://img.baidu.com/hi/jx2/j_0001.gif
'
,
width
:
50
,
height
:
51
,
floatStyle
:
'
center
'
}
);
ua
.
manualDeleteFillData
(
editor
.
body
);
var
img
=
body
.
getElementsByTagName
(
'
img
'
)[
0
];
equal
(
body
.
childNodes
.
length
,
2
,
'
2个p
'
);
var
p
=
body
.
firstChild
;
equal
(
p
.
style
[
'
textAlign
'
],
'
center
'
,
'
居中对齐
'
);
//1.2版本在FF中,hello前有不可见字符
ok
(
p
.
nextSibling
.
innerHTML
.
indexOf
(
'
hello
'
)
>
-
1
,
'
第二个p里面是hello
'
);
if
(
baidu
.
editor
.
browser
.
ie
)
equal
(
img
.
style
[
'
styleFloat
'
],
''
,
'
float为空
'
);
else
equal
(
img
.
style
[
'
cssFloat
'
],
''
,
'
float为空
'
);
equal
(
img
.
getAttribute
(
'
src
'
),
'
http://img.baidu.com/hi/jx2/j_0001.gif
'
,
'
比较src
'
);
equal
(
img
.
getAttribute
(
'
width
'
),
'
50
'
,
'
比较width
'
);
equal
(
img
.
getAttribute
(
'
height
'
),
'
51
'
,
'
比较height
'
);
var
editor
=
te
.
obj
[
0
];
var
range
=
te
.
obj
[
1
];
var
body
=
editor
.
body
;
editor
.
setContent
(
'
<p>hello</p>
'
);
range
.
setStart
(
body
.
firstChild
,
0
).
collapse
(
1
).
select
();
editor
.
execCommand
(
'
insertimage
'
,
{
src
:
'
http://img.baidu.com/hi/jx2/j_0001.gif
'
,
width
:
50
,
height
:
51
,
floatStyle
:
'
center
'
}
);
ua
.
manualDeleteFillData
(
editor
.
body
);
var
img
=
body
.
getElementsByTagName
(
'
img
'
)[
0
];
equal
(
body
.
childNodes
.
length
,
2
,
'
2个p
'
);
var
p
=
body
.
firstChild
;
equal
(
p
.
style
[
'
textAlign
'
],
'
center
'
,
'
居中对齐
'
);
ok
(
p
.
nextSibling
.
innerHTML
.
indexOf
(
'
hello
'
)
>
-
1
,
'
第二个p里面是hello
'
);
//1.2版本在FF中,hello前有不可见字符
if
(
baidu
.
editor
.
browser
.
ie
)
equal
(
img
.
style
[
'
styleFloat
'
],
''
,
'
float为空
'
);
else
equal
(
img
.
style
[
'
cssFloat
'
],
''
,
'
float为空
'
);
equal
(
img
.
getAttribute
(
'
src
'
),
'
http://img.baidu.com/hi/jx2/j_0001.gif
'
,
'
比较src
'
);
equal
(
img
.
getAttribute
(
'
width
'
),
'
50
'
,
'
比较width
'
);
equal
(
img
.
getAttribute
(
'
height
'
),
'
51
'
,
'
比较height
'
);
}
);
test
(
'
修改已有图片的属性
'
,
function
()
{
var
editor
=
te
.
obj
[
0
];
var
range
=
te
.
obj
[
1
];
var
body
=
editor
.
body
;
editor
.
setContent
(
'
<p><img src="http://img.baidu.com/hi/jx2/j_0004.gif" >hello<img src="http://img.baidu.com/hi/jx2/j_0053.gif" ></p>
'
);
range
.
selectNode
(
body
.
firstChild
.
firstChild
).
select
();
/*加_src这个参数,否则结果不对,在image.html中也是加了这个参数的*/
editor
.
execCommand
(
'
insertimage
'
,
{
src
:
'
http://img.baidu.com/hi/jx2/j_0018.gif
'
,
_src
:
"
http://img.baidu.com/hi/jx2/j_0018.gif
"
}
);
equal
(
ua
.
getChildHTML
(
body
.
firstChild
),
'
<img src="http://img.baidu.com/hi/jx2/j_0018.gif" _src=
\
"http://img.baidu.com/hi/jx2/j_0018.gif
\
">hello<img src="http://img.baidu.com/hi/jx2/j_0053.gif" _src=
\
"http://img.baidu.com/hi/jx2/j_0053.gif
\
">
'
,
'
检查插入的图像地址
'
);
equal
(
body
.
firstChild
.
childNodes
.
length
,
3
,
'
2个img孩子
'
);
var
editor
=
te
.
obj
[
0
];
var
range
=
te
.
obj
[
1
];
var
body
=
editor
.
body
;
editor
.
setContent
(
'
<p><img src="http://img.baidu.com/hi/jx2/j_0004.gif" >hello<img src="http://img.baidu.com/hi/jx2/j_0053.gif" ></p>
'
);
range
.
selectNode
(
body
.
firstChild
.
firstChild
).
select
();
editor
.
execCommand
(
'
insertimage
'
,
{
src
:
'
http://img.baidu.com/hi/jx2/j_0018.gif
'
}
);
equal
(
ua
.
getChildHTML
(
body
.
firstChild
),
'
<img src="http://img.baidu.com/hi/jx2/j_0018.gif">hello<img src="http://img.baidu.com/hi/jx2/j_0053.gif">
'
,
'
检查插入的图像地址
'
);
equal
(
body
.
firstChild
.
childNodes
.
length
,
3
,
'
2个img孩子
'
);
}
);
/*trace1491 修改动图的宽高*/
test
(
'
trace1491 修改动图的宽高
'
,
function
()
{
var
editor
=
te
.
obj
[
0
];
var
range
=
te
.
obj
[
1
];
var
body
=
editor
.
body
;
editor
.
setContent
(
'
<p><br></p>
'
);
range
.
setStart
(
body
.
firstChild
,
0
).
collapse
(
1
).
select
();
editor
.
execCommand
(
'
insertimage
'
,
{
src
:
'
../data/test.JPG
'
}
);
ua
.
manualDeleteFillData
(
editor
.
body
);
range
.
selectNode
(
body
.
firstChild
.
firstChild
).
select
();
var
img
=
body
.
getElementsByTagName
(
'
img
'
)[
0
];
//这里必须要等一下才能过
img
.
onload
=
function
()
{
equal
(
$
(
img
).
attr
(
'
width
'
),
'
30
'
,
'
比较width
'
);
equal
(
$
(
img
).
attr
(
'
height
'
),
'
853
'
,
'
比较width
'
);
start
();
}
editor
.
execCommand
(
'
insertimage
'
,
{
src
:
'
../data/test.JPG
'
,
width
:
50
,
height
:
80
}
);
img
.
onload
=
function
()
{
equal
(
$
(
img
).
attr
(
'
width
'
),
'
50
'
,
'
比较width
'
);
equal
(
$
(
img
).
attr
(
'
height
'
),
'
80
'
,
'
比较width
'
);
start
();
}
ok
(
/data
\/
test
\.
JPG/
.
test
(
img
.
getAttribute
(
'
src
'
)),
'
比较src
'
);
stop
();
}
);
test
(
'
选区不闭合插入图像
'
,
function
()
{
var
editor
=
te
.
obj
[
0
];
var
range
=
te
.
obj
[
1
];
var
body
=
editor
.
body
;
editor
.
setContent
(
'
<p>hello1</p><p>hello2<img src="http://img.baidu.com/hi/jx2/j_0004.gif"></p>
'
);
setTimeout
(
function
(){
range
.
setStart
(
body
.
firstChild
.
firstChild
,
2
).
setEnd
(
body
.
lastChild
,
2
).
select
();
editor
.
execCommand
(
'
insertimage
'
,
{
src
:
'
http://img.baidu.com/hi/jx2/j_0016.gif
'
,
width
:
'
100
'
,
height
:
'
100
'
}
);
ua
.
manualDeleteFillData
(
editor
.
body
);
equal
(
body
.
childNodes
.
length
,
1
,
'
只有一个p
'
);
ua
.
clearWhiteNode
(
body
.
firstChild
);
var
img
=
body
.
firstChild
.
lastChild
;
equal
(
img
.
getAttribute
(
'
src
'
),
'
http://img.baidu.com/hi/jx2/j_0016.gif
'
,
'
比较src
'
);
equal
(
img
.
getAttribute
(
'
width
'
),
'
100
'
,
'
比较width
'
);
equal
(
img
.
getAttribute
(
'
height
'
),
'
100
'
,
'
比较height
'
);
var
editor
=
te
.
obj
[
0
];
var
range
=
te
.
obj
[
1
];
var
body
=
editor
.
body
;
editor
.
setContent
(
'
<p><br></p>
'
);
range
.
setStart
(
body
.
firstChild
,
0
).
collapse
(
1
).
select
();
editor
.
execCommand
(
'
insertimage
'
,
{
src
:
'
../data/test.JPG
'
}
);
ua
.
manualDeleteFillData
(
editor
.
body
);
range
.
selectNode
(
body
.
firstChild
.
firstChild
).
select
();
var
img
=
body
.
getElementsByTagName
(
'
img
'
)[
0
];
img
.
onload
=
function
()
{
//这里必须要等一下才能过
equal
(
$
(
img
).
attr
(
'
width
'
),
'
30
'
,
'
比较width
'
);
equal
(
$
(
img
).
attr
(
'
height
'
),
'
853
'
,
'
比较width
'
);
start
();
},
50
);
};
editor
.
execCommand
(
'
insertimage
'
,
{
src
:
'
../data/test.JPG
'
,
width
:
50
,
height
:
80
}
);
img
.
onload
=
function
()
{
equal
(
$
(
img
).
attr
(
'
width
'
),
'
50
'
,
'
比较width
'
);
equal
(
$
(
img
).
attr
(
'
height
'
),
'
80
'
,
'
比较width
'
);
start
();
};
ok
(
/data
\/
test
\.
JPG/
.
test
(
img
.
getAttribute
(
'
src
'
)),
'
比较src
'
);
stop
();
}
);
test
(
'
选区不闭合插入图像
'
,
function
()
{
var
editor
=
te
.
obj
[
0
];
var
range
=
te
.
obj
[
1
];
var
body
=
editor
.
body
;
editor
.
setContent
(
'
<p>hello1</p><p>hello2<img src="http://img.baidu.com/hi/jx2/j_0004.gif"></p>
'
);
setTimeout
(
function
(){
range
.
setStart
(
body
.
firstChild
.
firstChild
,
2
).
setEnd
(
body
.
lastChild
,
2
).
select
();
editor
.
execCommand
(
'
insertimage
'
,
{
src
:
'
http://img.baidu.com/hi/jx2/j_0016.gif
'
,
width
:
'
100
'
,
height
:
'
100
'
}
);
ua
.
manualDeleteFillData
(
editor
.
body
);
equal
(
body
.
childNodes
.
length
,
1
,
'
只有一个p
'
);
ua
.
clearWhiteNode
(
body
.
firstChild
);
var
img
=
body
.
firstChild
.
lastChild
;
equal
(
img
.
getAttribute
(
'
src
'
),
'
http://img.baidu.com/hi/jx2/j_0016.gif
'
,
'
比较src
'
);
equal
(
img
.
getAttribute
(
'
width
'
),
'
100
'
,
'
比较width
'
);
equal
(
img
.
getAttribute
(
'
height
'
),
'
100
'
,
'
比较height
'
);
start
();
},
50
);
stop
();
}
);
test
(
'
图像设置左右浮动
'
,
function
()
{
var
editor
=
te
.
obj
[
0
];
var
range
=
te
.
obj
[
1
];
var
body
=
editor
.
body
;
editor
.
setContent
(
'
<p>hello1</p><p>hello2<img src="http://img.baidu.com/hi/jx2/j_0004.gif"></p>
'
);
range
.
selectNode
(
body
.
lastChild
.
lastChild
).
select
();
editor
.
execCommand
(
'
imagefloat
'
,
'
left
'
);
equal
(
body
.
getElementsByTagName
(
'
img
'
)[
0
].
style
[
'
cssFloat
'
]
||
body
.
getElementsByTagName
(
'
img
'
)[
0
].
style
[
'
styleFloat
'
],
'
left
'
,
'
左浮动
'
);
var
editor
=
te
.
obj
[
0
];
var
range
=
te
.
obj
[
1
];
var
body
=
editor
.
body
;
editor
.
setContent
(
'
<p>hello1</p><p>hello2<img src="http://img.baidu.com/hi/jx2/j_0004.gif"></p>
'
);
range
.
selectNode
(
body
.
lastChild
.
lastChild
).
select
();
editor
.
execCommand
(
'
imagefloat
'
,
'
left
'
);
equal
(
body
.
getElementsByTagName
(
'
img
'
)[
0
].
style
[
'
cssFloat
'
]
||
body
.
getElementsByTagName
(
'
img
'
)[
0
].
style
[
'
styleFloat
'
],
'
left
'
,
'
左浮动
'
);
// equal( body.getElementsByTagName( 'img' )[0].style['float'], 'left', '左浮动' );
equal
(
editor
.
queryCommandValue
(
'
imagefloat
'
),
'
left
'
);
editor
.
execCommand
(
'
imagefloat
'
,
'
right
'
);
equal
(
body
.
getElementsByTagName
(
'
img
'
)[
0
].
style
[
'
cssFloat
'
]
||
body
.
getElementsByTagName
(
'
img
'
)[
0
].
style
[
'
styleFloat
'
],
'
right
'
,
'
右浮动
'
);
equal
(
editor
.
queryCommandValue
(
'
imagefloat
'
),
'
right
'
);
equal
(
editor
.
queryCommandState
(
'
imagefloat
'
),
0
,
'
图片被选中,因此图片菜单高亮
'
);
range
.
setStart
(
body
.
firstChild
,
0
).
collapse
(
1
).
select
();
equal
(
editor
.
queryCommandState
(
'
imagefloat
'
),
-
1
,
'
光标闭合,因此图片菜单高不高亮
'
);
equal
(
editor
.
queryCommandValue
(
'
justify
'
),
'
left
'
,
'
段落的对齐方式为左对齐
'
);
equal
(
editor
.
queryCommandValue
(
'
imagefloat
'
),
'
none
'
,
'
图片对齐方式在闭合情况获取为空
'
)
range
.
selectNode
(
body
.
firstChild
.
firstChild
).
select
();
equal
(
editor
.
queryCommandValue
(
'
imagefloat
'
),
'
none
'
,
'
选中文本,因此图片菜单高不高亮
'
);
equal
(
editor
.
queryCommandValue
(
'
imagefloat
'
),
'
left
'
);
editor
.
execCommand
(
'
imagefloat
'
,
'
right
'
);
equal
(
body
.
getElementsByTagName
(
'
img
'
)[
0
].
style
[
'
cssFloat
'
]
||
body
.
getElementsByTagName
(
'
img
'
)[
0
].
style
[
'
styleFloat
'
],
'
right
'
,
'
右浮动
'
);
equal
(
editor
.
queryCommandValue
(
'
imagefloat
'
),
'
right
'
);
equal
(
editor
.
queryCommandState
(
'
imagefloat
'
),
0
,
'
图片被选中,因此图片菜单高亮
'
);
range
.
setStart
(
body
.
firstChild
,
0
).
collapse
(
1
).
select
();
equal
(
editor
.
queryCommandState
(
'
imagefloat
'
),
-
1
,
'
光标闭合,因此图片菜单高不高亮
'
);
equal
(
editor
.
queryCommandValue
(
'
justify
'
),
'
left
'
,
'
段落的对齐方式为左对齐
'
);
equal
(
editor
.
queryCommandValue
(
'
imagefloat
'
),
'
none
'
,
'
图片对齐方式在闭合情况获取为空
'
)
range
.
selectNode
(
body
.
firstChild
.
firstChild
).
select
();
equal
(
editor
.
queryCommandValue
(
'
imagefloat
'
),
'
none
'
,
'
选中文本,因此图片菜单高不高亮
'
);
}
);
test
(
'
左浮动变为默认的样式和居中
'
,
function
()
{
var
editor
=
te
.
obj
[
0
];
var
range
=
te
.
obj
[
1
];
var
body
=
editor
.
body
;
editor
.
setContent
(
'
<p>hello1</p><p>hello2<img src="http://img.baidu.com/hi/jx2/j_0004.gif" style="float:left"></p>
'
);
range
.
selectNode
(
body
.
lastChild
.
lastChild
).
select
();
editor
.
execCommand
(
'
imagefloat
'
,
'
none
'
);
equal
(
ua
.
getFloatStyle
(
body
.
getElementsByTagName
(
'
img
'
)[
0
]
),
'
none
'
,
'
没有浮动方式
'
);
equal
(
editor
.
queryCommandValue
(
'
imagefloat
'
),
'
none
'
);
$
(
body
.
getElementsByTagName
(
'
img
'
)[
0
]
).
css
(
'
float
'
);
range
.
selectNode
(
body
.
getElementsByTagName
(
'
img
'
)[
0
]
).
select
();
editor
.
execCommand
(
'
imagefloat
'
,
'
center
'
);
equal
(
editor
.
queryCommandValue
(
'
imagefloat
'
),
'
center
'
);
equal
(
body
.
childNodes
.
length
,
3
,
'
3个p,image被切出一个p出来了
'
);
var
p
=
body
.
childNodes
[
2
];
equal
(
p
.
tagName
.
toLowerCase
(),
'
p
'
,
'
第2个是p
'
);
var
editor
=
te
.
obj
[
0
];
var
range
=
te
.
obj
[
1
];
var
body
=
editor
.
body
;
editor
.
setContent
(
'
<p>hello1</p><p>hello2<img src="http://img.baidu.com/hi/jx2/j_0004.gif" style="float:left"></p>
'
);
range
.
selectNode
(
body
.
lastChild
.
lastChild
).
select
();
editor
.
execCommand
(
'
imagefloat
'
,
'
none
'
);
equal
(
ua
.
getFloatStyle
(
body
.
getElementsByTagName
(
'
img
'
)[
0
]
),
''
,
'
没有浮动方式
'
);
equal
(
editor
.
queryCommandValue
(
'
imagefloat
'
),
'
none
'
);
$
(
body
.
getElementsByTagName
(
'
img
'
)[
0
]
).
css
(
'
float
'
);
range
.
selectNode
(
body
.
getElementsByTagName
(
'
img
'
)[
0
]
).
select
();
editor
.
execCommand
(
'
imagefloat
'
,
'
center
'
);
equal
(
editor
.
queryCommandValue
(
'
imagefloat
'
),
'
center
'
);
equal
(
body
.
childNodes
.
length
,
3
,
'
3个p,image被切出一个p出来了
'
);
var
p
=
body
.
childNodes
[
2
];
equal
(
p
.
tagName
.
toLowerCase
(),
'
p
'
,
'
第2个是p
'
);
equal
(
p
.
firstChild
.
tagName
.
toLowerCase
(),
'
img
'
,
'
p的孩子为image
'
);
equal
(
ua
.
getFloatStyle
(
p
.
firstChild
),
''
,
'
image对齐方式float为空
'
);
equal
(
editor
.
queryCommandValue
(
'
justify
'
),
'
center
'
,
'
段落的对齐方式为居中
'
);
}
);
test
(
'
带有超链接的图片
'
,
function
()
{
var
editor
=
te
.
obj
[
0
];
var
range
=
te
.
obj
[
1
];
var
body
=
editor
.
body
;
editor
.
setContent
(
'
<p>hello1</p><p>hello2<a href="www.baidu.com"><img src="http://img.baidu.com/hi/jx2/j_0004.gif" style="float:left"></a></p>
'
);
range
.
selectNode
(
body
.
lastChild
.
lastChild
).
select
();
editor
.
execCommand
(
'
imagefloat
'
,
'
center
'
);
var
p
=
body
.
childNodes
[
2
];
equal
(
p
.
firstChild
.
tagName
.
toLowerCase
(),
'
a
'
,
'
p的孩子为a
'
);
equal
(
ua
.
getFloatStyle
(
p
.
firstChild
),
''
,
'
image对齐方式float为空
'
);
equal
(
editor
.
queryCommandValue
(
'
justify
'
),
'
center
'
,
'
段落的对齐方式为居中
'
);
editor
.
execCommand
(
'
imagefloat
'
,
'
left
'
);
equal
(
p
.
firstChild
.
tagName
.
toLowerCase
(),
'
a
'
,
'
p的孩子为a
'
);
equal
(
ua
.
getFloatStyle
(
p
.
firstChild
.
firstChild
),
'
left
'
,
'
image对齐方式float为left
'
);
editor
.
execCommand
(
'
imagefloat
'
,
'
none
'
);
equal
(
p
.
firstChild
.
tagName
.
toLowerCase
(),
'
a
'
,
'
p的孩子为a
'
);
equal
(
ua
.
getFloatStyle
(
p
.
firstChild
.
firstChild
),
'
none
'
,
'
image对齐方式float为空
'
);
var
editor
=
te
.
obj
[
0
];
var
range
=
te
.
obj
[
1
];
var
body
=
editor
.
body
;
editor
.
setContent
(
'
<p>hello1</p><p>hello2<a href="www.baidu.com"><img src="http://img.baidu.com/hi/jx2/j_0004.gif" style="float:left"></a></p>
'
);
range
.
selectNode
(
body
.
lastChild
.
lastChild
).
select
();
editor
.
execCommand
(
'
imagefloat
'
,
'
center
'
);
var
p
=
body
.
childNodes
[
2
];
equal
(
p
.
firstChild
.
tagName
.
toLowerCase
(),
'
a
'
,
'
p的孩子为a
'
);
equal
(
ua
.
getFloatStyle
(
p
.
firstChild
),
''
,
'
image对齐方式float为空
'
);
equal
(
editor
.
queryCommandValue
(
'
justify
'
),
'
center
'
,
'
段落的对齐方式为居中
'
);
editor
.
execCommand
(
'
imagefloat
'
,
'
left
'
);
equal
(
p
.
firstChild
.
tagName
.
toLowerCase
(),
'
a
'
,
'
p的孩子为a
'
);
equal
(
ua
.
getFloatStyle
(
p
.
firstChild
.
firstChild
),
'
left
'
,
'
image对齐方式float为left
'
);
editor
.
execCommand
(
'
imagefloat
'
,
'
none
'
);
equal
(
p
.
firstChild
.
tagName
.
toLowerCase
(),
'
a
'
,
'
p的孩子为a
'
);
equal
(
ua
.
getFloatStyle
(
p
.
firstChild
.
firstChild
),
'
'
,
'
image对齐方式float为空
'
);
}
);
test
(
'
默认样式切换到居中再切换回默认,会把居中导致的3个p合并
'
,
function
()
{
var
editor
=
te
.
obj
[
0
];
var
range
=
te
.
obj
[
1
];
var
body
=
editor
.
body
;
editor
.
setContent
(
'
<p>hello2<a href="www.baidu.com"><img src="http://img.baidu.com/hi/jx2/j_0004.gif" style="float:left"></a>hello3</p>
'
);
var
editor
=
te
.
obj
[
0
];
var
range
=
te
.
obj
[
1
];
var
body
=
editor
.
body
;
editor
.
setContent
(
'
<p>hello2<a href="www.baidu.com"><img src="http://img.baidu.com/hi/jx2/j_0004.gif" style="float:left"></a>hello3</p>
'
);
setTimeout
(
function
()
{
range
.
selectNode
(
body
.
getElementsByTagName
(
'
a
'
)[
0
]
).
select
();
editor
.
execCommand
(
'
imagefloat
'
,
'
center
'
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录