gooflow 在ie8中报错line.points undefined

lxig20077 2018-01-08 04:42:21

line = document.createElement("v:polyline");
if (id != "") line.id = id;
//line.style.position="absolute";
line.points.value = sp[0] + "," + sp[1] + " " + ep[0] + "," + ep[1];
line.setAttribute("fromTo", sp[0] + "," + sp[1] + "," + ep[0] + "," + ep[1]);
line.strokeWeight = "1.2";
line.stroke.EndArrow = "Block";
line.style.cursor = "crosshair";
if (id != "" && id != "GooFlow_tmp_line") {
var text = document.createElement("div");
//text.innerHTML=id;
line.appendChild(text);
var x = (ep[0] - sp[0]) / 2;
var y = (ep[1] - sp[1]) / 2;
if (x < 0) x = x * -1;
if (y < 0) y = y * -1;
text.style.left = x + "px";
text.style.top = y - 6 + "px";
line.style.cursor = "pointer";
}
if (dash) line.stroke.dashstyle = "Dash";
//if (mark) line.strokeColor = "#ff3300";
//else line.strokeColor = "#5068AE";
if (mark) line.strokeColor = "#ff3300";
else line.strokeColor = "#000000";
return line;

这一行
line.points.value = sp[0] + "," + sp[1] + " " + ep[0] + "," + ep[1];
0x800a138f - JavaScript 运行时错误: 无法设置未定义或 null 引用的属性“value”

ie9及以上,chrome 都没没问题
...全文
955 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
MengXniu 2018-05-24
  • 打赏
  • 举报
回复
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml"> <!--[if lt IE 9]> <?import namespace="v" implementation="#default#VML" ?> <![endif]-->
Elenana 2018-05-10
  • 打赏
  • 举报
回复
我也遇到了这种问题 ie8下 直接打开html可以的 但是放入项目中,通过tomcat访问那个html 就报points为空或不是对象 求解决办法
卓月 2018-01-31
  • 打赏
  • 举报
回复
同求怎么解决的
小爷很好 2018-01-11
  • 打赏
  • 举报
回复
楼主我也遇到这个问题了,你是怎么解决的,急求!看到麻烦回复下。
Go 旅城通票 2018-01-09
  • 打赏
  • 举报
回复
line = document.createElement("v:polyline"); if (id != "") line.id = id; //line.style.position="absolute"; line.points.value = sp[0] + "," + sp[1] + " " + ep[0] + "," + ep[1]; 你直接创建的是vml元素吧,你确认有points属性?自己好好看api
lxig20077 2018-01-09
  • 打赏
  • 举报
回复
 
  <!--[if lt IE 9]>
<?import namespace="v" implementation="#default#VML" ?>
<![endif]-->
    <link rel="stylesheet" type="text/css" href="../codebase/GooFlow2.css" />
lxig20077 2018-01-09
  • 打赏
  • 举报
回复
@showbo gooflow是支持ie8的 而且也写了判断 如果ie9及以上是用svg ;ie8 是用vml
Go 旅城通票 2018-01-09
  • 打赏
  • 举报
回复
目测用的svg,canvas之类的绘图,ie8-不支持这2种,要用vml绘图,改其他框架了,如raphael什么的

Web开发学习资料推荐
JavaScript apply与call的用法
asp json类库解析json字符串
lxig20077 2018-01-09
  • 打赏
  • 举报
回复
自己解决了 诶
lxig20077 2018-01-09
  • 打赏
  • 举报
回复

line = document.createElement("v:polyline");
            document.body.appendChild(line);
            if (id != "") line.id = id; 
            //line.style.position="absolute";
            line.points = sp[0] + "," + sp[1] + " " + ep[0] + "," + ep[1];
加上了红色的话 然后去掉 line.points.value 中的value 不报错了 ;但是下面还是有错:line.stroke.EndArrow = "Block";错误转移到这里了 还是一样的错
lxig20077 2018-01-09
  • 打赏
  • 举报
回复
vml中polyline有points呀
lxig20077 2018-01-08
  • 打赏
  • 举报
回复
自己顶一下!

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧