JS

解决UEditor每次编辑在首尾多出空行的问题

新写的网站用UEditor做编辑器,结果发现每次编辑完都会多出首尾空行,像这样:

<p></p>
<br/>
xxxxxx
<br/>
<p></p>
然后看了下自己植入编辑器时的写法,发现了问题所在。
<script id="container" name="content" type="text/plain">
<?=$info['content']?>
</script>
<script type="text/javascript">
var editor = UE.getEditor('container', {
    initialFrameWidth:"100%",
    initialFrameHeight:450
})
</script>
在container中,<?=$info['content']>的前后各有一次回车,而ueditor将这2个回车自动转换为<p></p></br>的形式了。解决方法很简单,写在一行就可以了。
<script id="container" name="content" type="text/plain"><?=$info['content']?></script>
<script type="text/javascript">
var editor = UE.getEditor('container', {
    initialFrameWidth:"100%",
    initialFrameHeight:450
})
</script>

jquery在iframe加载完成后执行函数的正确方法

之前看网上资料说是这样:

$(‘#iframe’).load(function(){
$(‘#iframe’)[0].contentWindow.XXX();
})

实际测试后发现load并没有被触发,说明这个实际是在iframe已经加载完成后才绑定的,所以并未触发。又继续一顿搜索,有个老外给出了解决方法:

$(document).ready(function() {
var iFrame = $(‘#iframe’);
iFrame.bind(‘load’, function(){
$(‘#iframe’)[0].contentWindow.XXX();
})
})

原因暂时未明,回头继续查查资料为什么这样。