不明白,怎么就是没法调用成功呢,我就是想执行一个弹出窗口
window.onload = myPopup;执行没问题,怎么Response.Write就不行呢
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;using System.Data.SqlClient;
public partial class alert : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Page.RegisterStartupScript("ggg", "<script>myPopup();</script>");
}
}<%@ Page Language="C#" AutoEventWireup="true" CodeFile="alert.aspx.cs" Inherits="alert" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>无标题页</title>
<script language="javascript">
var divTop,divLeft,divWidth,divHeight,docHeight,docWidth,i = 0;
var popupMessage = new Object();
popupMessage.id = 'popupMessage';
popupMessage.obj = function(){
return document.getElementById(popupMessage.id);
};
popupMessage.onLoad = function(){
try{
divTop = parseInt(popupMessage.obj().style.top,10);
divLeft = parseInt(popupMessage.obj().style.left,10);
divHeight = parseInt(popupMessage.obj().offsetHeight,10);
divWidth = parseInt(popupMessage.obj().offsetWidth,10);
docWidth = document.body.clientWidth;
docHeight = document.body.clientHeight; popupMessage.obj().style.top = parseInt(document.body.scrollTop,10) + docHeight + 10;
popupMessage.obj().style.left = parseInt(document.body.scrollLeft,10) + docWidth - divWidth;
popupMessage.obj().style.visibility="visible";
popupMessage.timer = window.setInterval(popupMessage.move,2);
}
catch(e){}
};
popupMessage.onResize = function(){
i+=1;
if(i>1000) popupMessage.close();
try{
divHeight = parseInt(popupMessage.obj().offsetHeight,10);
divWidth = parseInt(popupMessage.obj().offsetWidth,10);
docWidth = document.body.clientWidth;
docHeight = document.body.clientHeight;
popupMessage.obj().style.top = docHeight - divHeight + parseInt(document.body.scrollTop,10);
popupMessage.obj().style.left = docWidth - divWidth + parseInt(document.body.scrollLeft,10);
}
catch(e){}
};
popupMessage.move = function(){
try
{
if(parseInt(popupMessage.obj().style.top,10) <= (docHeight - divHeight + parseInt(document.body.scrollTop,10)))
{
window.clearInterval(popupMessage.timer);
popupMessage.timer = window.setInterval(popupMessage.onResize,1);
}
divTop = parseInt(popupMessage.obj().style.top,10);
popupMessage.obj().style.top = divTop - 1;
}
catch(e){}
};
popupMessage.close = function(){
if(popupMessage.obj()) popupMessage.obj().parentNode.removeChild(popupMessage.obj());
if(popupMessage.timer) window.clearInterval(popupMessage.timer);
};
popupMessage.createInstance = function(bodyHtml){
try
{
if(popupMessage.obj())popupMessage.obj().parentNode.removeChild(popupMessage.obj());
if(popupMessage.timer) window.clearInterval(popupMessage.timer);
i=0;
var odiv = document.createElement('DIV');
odiv.id = popupMessage.id;
odiv.style.width="199px";
odiv.style.height="auto";
odiv.style.visibility="hidden";
odiv.style.position="absolute";
odiv.style.zIndex="99999";
odiv.style.left="0px";
odiv.innerHTML = bodyHtml;
document.body.appendChild(odiv); }
catch(e){}
};window.onresize = popupMessage.onResize;function popupMessagePopup(bodyHtml)
{
popupMessage.createInstance(bodyHtml);
popupMessage.onLoad();
}
popupMessage.convertWin = function(){
var msg = document.getElementById('msgContent');
var contentdis = document.getElementById('btContent');
var flg = msg.style.display=="none";
if(flg)
{
contentdis.innerHTML = '—';
contentdis.title='最小化窗口';
msg.style.display = "block";
}
else
{
contentdis.innerHTML = '□';
contentdis.title='最大化窗口';
msg.style.display = "none";
}
}function myPopup()
{
alert("2");
popupMessagePopup('<div style="width:199px; height:auto;font-size:12px;border:solid 1px #3399FF;background-color:#CFDEF4; ">'+
'<div style="width:199px;height:20px; float:left; ">'+
'<span style="width:140px;float:left;text-align:left;text-indent:8px;padding:4px; color:#0C53C5;">消息提示</span>'+
'<span title="关闭" style="width:15px;border-width:0px;float:right;margin-right:5px;padding:4px; color:Red; cursor: hand; font-weight:bold;" onclick="popupMessage.close();return false;">×</span>'+
'<span id="btContent" title="最小化窗口" style="width:15px;border-width:0px;float:right;padding:4px 4px 4px 4px; margin-right:7px;color:Red;cursor: hand;font-weight:bold;" onclick="popupMessage.convertWin();">—</span>'+
'</div>'+
'<div id="msgContent" style="width:199px;height:60px; float:left;WORD-BREAK: break-all; padding:8px 8px 8px 8px;border-top:solid 1px #3399FF; text-align:left; text-indent:10px; "><a href="mission_list.aspx" target="mainFrame" style="font-size:15px; color:Red;">您有新任务!</a></div>'+
'</div>');
}
//去掉注释运行正常
//window.onload = myPopup;</script>
</head>
<body></body>
</html>
window.onload = myPopup;执行没问题,怎么Response.Write就不行呢
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;using System.Data.SqlClient;
public partial class alert : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Page.RegisterStartupScript("ggg", "<script>myPopup();</script>");
}
}<%@ Page Language="C#" AutoEventWireup="true" CodeFile="alert.aspx.cs" Inherits="alert" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>无标题页</title>
<script language="javascript">
var divTop,divLeft,divWidth,divHeight,docHeight,docWidth,i = 0;
var popupMessage = new Object();
popupMessage.id = 'popupMessage';
popupMessage.obj = function(){
return document.getElementById(popupMessage.id);
};
popupMessage.onLoad = function(){
try{
divTop = parseInt(popupMessage.obj().style.top,10);
divLeft = parseInt(popupMessage.obj().style.left,10);
divHeight = parseInt(popupMessage.obj().offsetHeight,10);
divWidth = parseInt(popupMessage.obj().offsetWidth,10);
docWidth = document.body.clientWidth;
docHeight = document.body.clientHeight; popupMessage.obj().style.top = parseInt(document.body.scrollTop,10) + docHeight + 10;
popupMessage.obj().style.left = parseInt(document.body.scrollLeft,10) + docWidth - divWidth;
popupMessage.obj().style.visibility="visible";
popupMessage.timer = window.setInterval(popupMessage.move,2);
}
catch(e){}
};
popupMessage.onResize = function(){
i+=1;
if(i>1000) popupMessage.close();
try{
divHeight = parseInt(popupMessage.obj().offsetHeight,10);
divWidth = parseInt(popupMessage.obj().offsetWidth,10);
docWidth = document.body.clientWidth;
docHeight = document.body.clientHeight;
popupMessage.obj().style.top = docHeight - divHeight + parseInt(document.body.scrollTop,10);
popupMessage.obj().style.left = docWidth - divWidth + parseInt(document.body.scrollLeft,10);
}
catch(e){}
};
popupMessage.move = function(){
try
{
if(parseInt(popupMessage.obj().style.top,10) <= (docHeight - divHeight + parseInt(document.body.scrollTop,10)))
{
window.clearInterval(popupMessage.timer);
popupMessage.timer = window.setInterval(popupMessage.onResize,1);
}
divTop = parseInt(popupMessage.obj().style.top,10);
popupMessage.obj().style.top = divTop - 1;
}
catch(e){}
};
popupMessage.close = function(){
if(popupMessage.obj()) popupMessage.obj().parentNode.removeChild(popupMessage.obj());
if(popupMessage.timer) window.clearInterval(popupMessage.timer);
};
popupMessage.createInstance = function(bodyHtml){
try
{
if(popupMessage.obj())popupMessage.obj().parentNode.removeChild(popupMessage.obj());
if(popupMessage.timer) window.clearInterval(popupMessage.timer);
i=0;
var odiv = document.createElement('DIV');
odiv.id = popupMessage.id;
odiv.style.width="199px";
odiv.style.height="auto";
odiv.style.visibility="hidden";
odiv.style.position="absolute";
odiv.style.zIndex="99999";
odiv.style.left="0px";
odiv.innerHTML = bodyHtml;
document.body.appendChild(odiv); }
catch(e){}
};window.onresize = popupMessage.onResize;function popupMessagePopup(bodyHtml)
{
popupMessage.createInstance(bodyHtml);
popupMessage.onLoad();
}
popupMessage.convertWin = function(){
var msg = document.getElementById('msgContent');
var contentdis = document.getElementById('btContent');
var flg = msg.style.display=="none";
if(flg)
{
contentdis.innerHTML = '—';
contentdis.title='最小化窗口';
msg.style.display = "block";
}
else
{
contentdis.innerHTML = '□';
contentdis.title='最大化窗口';
msg.style.display = "none";
}
}function myPopup()
{
alert("2");
popupMessagePopup('<div style="width:199px; height:auto;font-size:12px;border:solid 1px #3399FF;background-color:#CFDEF4; ">'+
'<div style="width:199px;height:20px; float:left; ">'+
'<span style="width:140px;float:left;text-align:left;text-indent:8px;padding:4px; color:#0C53C5;">消息提示</span>'+
'<span title="关闭" style="width:15px;border-width:0px;float:right;margin-right:5px;padding:4px; color:Red; cursor: hand; font-weight:bold;" onclick="popupMessage.close();return false;">×</span>'+
'<span id="btContent" title="最小化窗口" style="width:15px;border-width:0px;float:right;padding:4px 4px 4px 4px; margin-right:7px;color:Red;cursor: hand;font-weight:bold;" onclick="popupMessage.convertWin();">—</span>'+
'</div>'+
'<div id="msgContent" style="width:199px;height:60px; float:left;WORD-BREAK: break-all; padding:8px 8px 8px 8px;border-top:solid 1px #3399FF; text-align:left; text-indent:10px; "><a href="mission_list.aspx" target="mainFrame" style="font-size:15px; color:Red;">您有新任务!</a></div>'+
'</div>');
}
//去掉注释运行正常
//window.onload = myPopup;</script>
</head>
<body></body>
</html>
那么注意:
Page.RegisterStartupScript("ggg", "<script>myPopup();</script>");
这段代码注册了
<script>myPopup();</script>
这段JS代码,好,你想想,这段代码能执行么?myPopup()对JS来说是无法识别的,你换成alert('ok');它能执行,因为JS识别alert(),知道怎么调用并呈现它给用户,而它不知道如何调用你的myPopup();调试的话应该会报缺少对象的错误~在后台给一些button控件等注册JS脚本我们都很清楚了,
但目前我还不知道怎么在后台给BODY元素注册脚本~估计也没必要!!
你可以就在body里面写onload="myPopup()"就行了,干嘛要在后台写good luck
Page.RegisterStartupScript("ggg", "<script>myPopup();</script>");
不起作用 是有原因的,因为并没有生成
<script>myPopup();</script> LZ仔细看你的html code 在了解一下RegisterStartupScript 方法的功能 就知道了