请参阅下面的代码,该代码在服务器端生成:
tc.Attributes.Add("onclick", "location.reload(); this.style.backgroundColor='olivedrab'; open('PrimaryNominalAjax.aspx?USN=" & CStr(objDR("USN")) & "&Requester=" & strUserName & "&Status=" & CStr(intReviewStatus) & "&Reason=-1&Review=" & lngReview & "','_blank','')")
当用户单击客户端上的链接时,代码在刷新当前网页之前到达:PrimaryNominalAjax.aspx中的服务器端页面加载事件。这是为什么?
答案 0 :(得分:0)
location.reload()不会阻止其他javascript的执行。因此,如果需要5秒钟重新加载页面,动画等可以继续。
您是否尝试将您的网站设置为:重新加载,然后更改颜色,然后打开另一个页面?我不认为你能用你上面的方法完成这个任务。一旦页面重新加载,它就会在重新加载之前丢失所有状态知识。所以重新加载后,页面不会知道点击了tc按钮。
您最好使用网址参数
导航到当前页面location.href = location.href + "?button=tc";
然后在onload事件中,检查该值是否在URL中,然后更改背景颜色并打开第二页。有点像:
if(location.search === "button=tc")
{
// change color
// open page
}