服务器端加入自动运行的JS代码
2008-09-18 11:58
435 查看
本来不是一个很复杂的事情,就是想通过服务器的代码,控制客户端加载时运行一个js函数。却折腾了一个早上,首先是用
page.ClientScript.RegisterClientScriptBlock(typeof(string), "FomrJS", js);
这个js块将放在</form>之前,并在window.onload之前运行。假如不是复杂的代码的话,如alert之类,完全没有问题。但我用到的js函数刚好比较复杂,结果每次都报错。把代码复制出来,把js块挪到</form>和</body>之间,就ok。所以,考虑怎样把js块放到</form>之外。
找到一个可以加到<head>标签的方法:
//加入head
HtmlGenericControl Include2 = new HtmlGenericControl("script");
Include2.Attributes.Add("type", "text/javascript");
Include2.InnerHtml = js;
page.Header.Controls.Add(Include2);
但是,却无法访问body或者document对象,只能访问form对象,对应的是form标签,或者page.controls,却把代码加到</body>之外了。
只好测试onload方法,但我不想每次手工给页面的body标签加onload,希望能够纯粹用服务器方式写这个事件处理,结果仍然由于无法访问body标签,无法成功。
最后的方法,是用RegisterClientScriptBlock,执行一个代码,指定事件的处理,如下:
page.ClientScript.RegisterStartupScript(typeof(string), "FomrJS", "window.attachEvent('onload', function(){alertWin('标题dfadsa','这里是内容',300,200);})", true);
或者
page.ClientScript.RegisterStartupScript(typeof(string), "FomrJS", "document.body.onload=function(){alertWin('标题dfadsa','这里是内容',300,200);}", true);
page.ClientScript.RegisterClientScriptBlock(typeof(string), "FomrJS", js);
这个js块将放在</form>之前,并在window.onload之前运行。假如不是复杂的代码的话,如alert之类,完全没有问题。但我用到的js函数刚好比较复杂,结果每次都报错。把代码复制出来,把js块挪到</form>和</body>之间,就ok。所以,考虑怎样把js块放到</form>之外。
找到一个可以加到<head>标签的方法:
//加入head
HtmlGenericControl Include2 = new HtmlGenericControl("script");
Include2.Attributes.Add("type", "text/javascript");
Include2.InnerHtml = js;
page.Header.Controls.Add(Include2);
但是,却无法访问body或者document对象,只能访问form对象,对应的是form标签,或者page.controls,却把代码加到</body>之外了。
只好测试onload方法,但我不想每次手工给页面的body标签加onload,希望能够纯粹用服务器方式写这个事件处理,结果仍然由于无法访问body标签,无法成功。
最后的方法,是用RegisterClientScriptBlock,执行一个代码,指定事件的处理,如下:
page.ClientScript.RegisterStartupScript(typeof(string), "FomrJS", "window.attachEvent('onload', function(){alertWin('标题dfadsa','这里是内容',300,200);})", true);
或者
page.ClientScript.RegisterStartupScript(typeof(string), "FomrJS", "document.body.onload=function(){alertWin('标题dfadsa','这里是内容',300,200);}", true);
相关文章推荐
- Js日期选择器并自动加入到输入框中示例代码
- Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口
- 图片 自动收缩 和支持IE和火狐浏览器的加入收藏夹js代码 js
- Js日期选择器并自动加入到输入框中示例代码
- Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口
- Js日期选择器并自动加入到输入框中示例代码
- JS实现复制网页内容自动加入版权内容代码和原文链接
- 利用Vim给Python代码自动加入头部必须注释
- JS点击自动复制文本代码
- c#运行JS代码
- js实现div拖动动画运行轨迹效果代码分享
- Eclipse新建Servlet时候,不会自动生成mapping到web.xml,而是在代码中加入注解@WebServlet
- 开机自动运行代码
- 指定区域的图片自动按比例缩小的js代码(防止页面被图片撑破)
- Node.js中运行JavaScript代码
- tomcat启动时自动运行代码
- [JS代码]自动跳到最快的服务器
- 纯js实现的论坛常用的运行代码的效果
- js图片自动轮播代码分享(js图片轮播)
- 设为首页与加入收藏的JS代码(多浏览器支持)