首页 新闻 会员 周边

ashx文件写JS document.body出错

0
悬赏园豆:5 [已关闭问题]

        context.Response.ContentType = "text/plain";

        context.Response.Write("function hao() {");

        context.Response.Write("mss = document.createElement('div');");

        context.Response.Write("document.body.appendChild(mss);");

        context.Response.Write("}");
        context.Response.Write("hao();");

 

document.body对象为空  怎么该?

 

问题补充: 我在一个ASPX页面上引用了 这个ashx
浩浩的主页 浩浩 | 初学一级 | 园豆:2
提问于:2009-07-02 22:34
< >
分享
其他回答(2)
0

你根本没有输出HTML结构,当然没有body了

Gray Zhang | 园豆:17610 (专家六级) | 2009-07-02 23:10
0

这样子一定会有问题的,这里是输出就执行,如果你这个ashx调用是通过ajax的话还好说,如果是其他的方式的话会存在解析先后的问题,这里的话你可以如下修改:

context.Response.ContentType = "text/plain";
context.Response.Write("<script type='text/javascript'>");
context.Response.Write("function hao() {");
context.Response.Write("var mss = document.createElement('div');");
context.Response.Write("document.body.appendChild(mss);");
context.Response.Write("}");
context.Response.Write("window.onload=function(){hao();}");//如果是aspx页面中加载这个页面,且是aspx页面加载完成后才加载这个页面的话哪么这句可以不要
context.Response.Write("</script>");

西越泽 | 园豆:10775 (专家六级) | 2009-07-03 23:06
0

楼上的说的都没错,你先检查你是否在输出这段代码的页面有body元素!再就是,这段代码执行的地方,是不是在head里面直接输出执行的,如果这样的话,也有可能出现这个问题,因为这样直接写在head里在的话,我这边出现过不能找到body的情况!

chen eric | 园豆:4 (初学一级) | 2009-07-04 23:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册