.net中在后台执行innerHTML脚本时出错
我在后台注册了脚本ClientScript.RegisterStartupScript(this.GetType(),"aa","<script>show()</scri...
我在后台注册了脚本 ClientScript.RegisterStartupScript(this.GetType(), "aa", "<script>show()</script>");
想执行客户端的脚本show()函数
<script type='text/javascript'>
var state=false;
function show()
{
document.body.style.overflow='hidden';
if(state)
{
assistant.style.display="block";
}
else
{
document.body.innerHTML+="<div id='assistant' style='width:100%; height:100%; position:absolute; left:0px; top:300px; '><table style='width:100%; height:100%;'><tr><td align='center' valign='middle'><div style='position:relative; left:175px; top:35px; width:25px; height:25px; cursor:hand;'><img src='image/quan-jianli1_06.jpg' onclick='hidd()' /></div><iframe style='width:400px; height:194px;' frameborder='0' scrolling='no' src='quan-denglu.html' /></td></tr></table></div>";
state=true;
}
}
</script>
可是运行起来出错 展开
想执行客户端的脚本show()函数
<script type='text/javascript'>
var state=false;
function show()
{
document.body.style.overflow='hidden';
if(state)
{
assistant.style.display="block";
}
else
{
document.body.innerHTML+="<div id='assistant' style='width:100%; height:100%; position:absolute; left:0px; top:300px; '><table style='width:100%; height:100%;'><tr><td align='center' valign='middle'><div style='position:relative; left:175px; top:35px; width:25px; height:25px; cursor:hand;'><img src='image/quan-jianli1_06.jpg' onclick='hidd()' /></div><iframe style='width:400px; height:194px;' frameborder='0' scrolling='no' src='quan-denglu.html' /></td></tr></table></div>";
state=true;
}
}
</script>
可是运行起来出错 展开
4个回答
展开全部
<head runat="server">
<title></title>
<script type='text/javascript'>
var state=false;
function show() {
document.getElementById("ParentContainer").style.overflow = 'hidden';
if (state) {
getElementById("assistant").style.display = "block";
}
else {
document.getElementById("ParentContainer").innerHTML += "<div id='assistant' style='width:100%; height:100%; position:absolute; left:0px; top:300px; '><table style='width:100%; height:100%;'><tr><td align='center' valign='middle'><div style='position:relative; left:175px; top:35px; width:25px; height:25px; cursor:hand;'><img src='image/quan-jianli1_06.jpg' onclick='hidd()' /></div><iframe style='width:400px; height:194px;' frameborder='0' scrolling='no' src='quan-denglu.html' /></td></tr></table></div>";
state = true;
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="ParentContainer">
</div>
</form>
</body>
</html>
<title></title>
<script type='text/javascript'>
var state=false;
function show() {
document.getElementById("ParentContainer").style.overflow = 'hidden';
if (state) {
getElementById("assistant").style.display = "block";
}
else {
document.getElementById("ParentContainer").innerHTML += "<div id='assistant' style='width:100%; height:100%; position:absolute; left:0px; top:300px; '><table style='width:100%; height:100%;'><tr><td align='center' valign='middle'><div style='position:relative; left:175px; top:35px; width:25px; height:25px; cursor:hand;'><img src='image/quan-jianli1_06.jpg' onclick='hidd()' /></div><iframe style='width:400px; height:194px;' frameborder='0' scrolling='no' src='quan-denglu.html' /></td></tr></table></div>";
state = true;
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="ParentContainer">
</div>
</form>
</body>
</html>
展开全部
因为RegisterStartupScript会在网页加载的时候直接运行的,因此RegisterStartupScript加入的脚本和你实际网页中show所在的位置差别可能会导致不同的问题,当RegisterStartupScript加入的脚本在show之前时,会出现语法错误,无法执行。当RegisterStartupScript加入的脚本在show之后的话,会因为网页没加载完你就更改HTML导致IE出现操作终止的错误。
所以RegisterStartupScript加入的脚本尽量加入当文档加载完成后再操作的语句,这样能避免问题。比如:
ClientScript.RegisterStartupScript(this.GetType(), "aa", "<script>window.onload=show</script>");
所以RegisterStartupScript加入的脚本尽量加入当文档加载完成后再操作的语句,这样能避免问题。比如:
ClientScript.RegisterStartupScript(this.GetType(), "aa", "<script>window.onload=show</script>");
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ClientScript.RegisterStartupScript(this.GetType(), "aa", "<script>show()</script>");
这个是回为你代码执行后找不到document.body 你可以再body里面加个层写个id 然后用document.getElementById("").innerHTML实现
这个是回为你代码执行后找不到document.body 你可以再body里面加个层写个id 然后用document.getElementById("").innerHTML实现
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用没用UpdatePanel
用了就删了它
用了就删了它
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询