永发信息网

JavaScript 的一个问小问题, iframe的execCommand 函数无法设置字体 在线等!!!!!!

答案:1  悬赏:80  手机版
解决时间 2021-04-11 05:12
  • 提问者网友:记得曾经
  • 2021-04-10 17:45

正在编写UBB编辑器, 在字体设置功能,使用execCommand函数得不到效果.

代码如下

test.html

<html>
<head>
<title></title>
<style type="text/css">
<!--

#fontface {
color: #000;
border: 1px solid #fff;
padding: 1px;
position: absolute;
left: 99px;
top: 99px;
z-index: 99;
width: 110px;
height: 20px;
display: none;
background: #ccc;
text-align:left;
}
#fontface ul {
list-style: none;
margin: 0;
line-height: 16px;
}

#fontface ul li {
display: block;
line-height: 16px;
cursor: hand;
padding: 2px;
height: 16px;
}

-->
</style>

<script type="text/javascript">
<!--

function ubbOver(obj)
{
obj.style.borderTop = "1px solid #fff";
obj.style.borderLeft = "1px solid #fff";
obj.style.borderRight = "1px solid #aaa";
obj.style.borderBottom = "1px solid #aaa";
}

function ubbOut(obj)
{
obj.style.border = "none";
}

function ubbDown(obj)
{
obj.style.borderTop = "1px solid #aaa";
obj.style.borderLeft = "1px solid #aaa";
obj.style.borderRight = "1px solid #fff";
obj.style.borderBottom = "1px solid #fff";
}

function ubbUp(obj)
{
obj.style.borderTop = "1px solid #fff";
obj.style.borderLeft = "1px solid #fff";
obj.style.borderRight = "1px solid #aaa";
obj.style.borderBottom = "1px solid #aaa";
}

function ubbClick(type, obj)
{


var element = document.getElementById(type);
var rect = obj.getBoundingClientRect();
element.style.left = rect.left;
element.style.top = rect.bottom;
element.style.display = "block";
}
-->
</script>

</head>

<body>

<div id="fontface">
<ul>
<li style="font: 12px '宋体';" onMouseOver="this.style.background = '#666'" onMouseOut="this.style.background = ''" onClick="addReply.document.execCommand('FontName',false,'楷体_GB2312'); this.parentNode.parentNode.style.display='none';">楷体</li>
</ul>
</div>

<div style="background:url(UBB/bg.gif); text-align: left;">
<table>
<tr>
<td class="ico"><img src="UBB/1.gif" alt="字体" width="25" height="20" onClick="ubbClick('fontface', this)" onMouseDown="ubbDown(this)" onMouseUp="ubbUp(this)" onMouseOver="ubbOver(this)" onMouseOut="ubbOut(this)" />
</td>

</tr>

</table>

</div>

<div style="width:100%; height:230px">
<form action="" method="post" id="replyForm" name="replyForm">


<input type="hidden" name="content" value="" />


<iframe id="addReply" ></iframe>


<script type="text/javascript">
<!--
addReply.document.designMode = 'On';
-->
</script>


</form>
</div>


</body>
</html>

鄙人初上手,请各位前辈指点一二.

最佳答案
  • 五星知识达人网友:持酒劝斜阳
  • 2021-04-10 18:04

在网上搜搜ubb编辑器的这类问题,可能是因为浏览器版本的原因,javascript可能不兼容所有版本的浏览器。ubb我没用过,所以只能帮你这点。

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯