html 画带箭头直线问题
现在要做个类似编辑器的东西,页面中有个iframe
<div style=" left:0; top:0;width:100%; height:100%; z-index:2; ">
<iframe id="Page" frameborder="0" width=1280px height=800px src="设计区页面.htm" scrolling="no"></iframe>
</div>
现在问题来了,我把该iframe的designMode设置为on(即开启状态),而designMode开启后,iframe中将不支持脚本,而我在“设计区页面.htm”中有用js画带箭头的直线,在iframe中不会显示出这个用js画的带箭头直线,所以想请教下大家,有什么办法解决吗?
或者不用js画,用别的方法什么的、。。
只要能解决就行。
谢谢啊!!!拜托了。 --------------------编程问答--------------------
function designModeOn()
{
var contentPageObj = window.document.frames('Page');
contentPageObj.document.designMode = "on";
contentPageObj.document.execCommand("LiveResize");
contentPageObj.document.execCommand("2D-Position");
contentPageObj.document.execCommand("MultipleSelection");
}
这是模式打开的js --------------------编程问答-------------------- 没人吗? --------------------编程问答-------------------- 快来人啊。。。 --------------------编程问答-------------------- 1.designMode = ‘ON’时,onload事件处理js脚本;
估计你的画图伴随着后台获取数据源,因此在设计时,无法拿到数据。
2.加入以下,可以规避错误:
if ( this.DesignMode == false ) {
//这里获取数据源,进行必要判断。
}
3.先尝试给定值方式,前台纯js画箭头,之后再想办法获得整体的数据源。
4.另外,其他画图方式可采用VML画图(IE浏览器):
<script type="text/javascript">
var R =function(){};
R.prototype.createLine = function (startX,startY,endX,endY){
var le = document.createElement( "<v:line><v:line>" );
le.from = startX + ',' + startY ;
le.to = endX + ',' + endY ;
le.strokecolor= "#2575b4" ;
le.strokeweight= "1pt" ;
return le;
}
function drowLine(x1,y1,x2,y2,divid)
{
var d =new R();
document.getElementById("DIV容器的名字").appendChild(d.createLine(x1,y1,x2,y2));
}
</script> --------------------编程问答--------------------
我原先也以为只要在designMode为off的时候加载iframe的js,然后再把designMode开启。
function init()
{
var contentPageObj = window.document.frames('Page');
contentPageObj.document.designMode = "off";
contentPageObj.document.execCommand("LiveResize");
contentPageObj.document.execCommand("2D-Position");
contentPageObj.document.execCommand("MultipleSelection");
}
function designModeOn()
{
var contentPageObj = window.document.frames('Page');
contentPageObj.document.designMode = "on";
contentPageObj.document.execCommand("LiveResize");
contentPageObj.document.execCommand("2D-Position");
contentPageObj.document.execCommand("MultipleSelection");
}
window.setTimeout("designModeOn()",1000);
可是吧,off的时候直线能加载成功,但1秒钟后designMode开启后,用js画的直线就会消失,vml的也一样,也就是说designMode为on的时候是不支持脚本的(网上好像也这么说),所以现在就想问问大家,有没有别的办法来解决这个 “带箭头直线问题”。。。。。。。 --------------------编程问答-------------------- 顶。啊啊啊啊啊 --------------------编程问答-------------------- 帮顶 纯粹
--------------------编程问答-------------------- 谢谢谢谢~ --------------------编程问答-------------------- 帮顶 我也有同样的问题
顶 顶 --------------------编程问答-------------------- 专业 顶贴!接分! 不解释!
补充:.NET技术 , ASP.NET