| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6179 人关注过本帖
标题:body onload 事件为什么不能执行?
取消只看楼主 加入收藏
大浪淘沙001
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-6-11
结帖率:0
收藏
已结贴  问题点数:20 回复次数:7 
body onload 事件为什么不能执行?
如题,我用两个ASP文件实现一个弹窗广告的功能,执行的时候没有任何代码错误报告,就是不能执行。代码如下,

FocusLoad.asp包含在另一个文件中,代码:

<%
dim rs,ADsName,ADsWidth,ADsHeight
set rs=server.CreateObject("adodb.recordset")
rs.open "select top 1 * from ABCD_Ads where ViewFlag"&Language&" order by id desc",conn,1,1
if rs.bof and rs.eof then response.end
ADsName=rs("ADsName"&Language)
ADsWidth=rs("ADsWidth")
ADsHeight=Rs("ADsHeight")
rs.close
set rs=nothing  
%>
<HTML>
<HEAD>
<TITLE></TITLE>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<script>
function OpenWin(){
  window.open("FocusView.asp","<%=ADsName%>","width=<%=ADsWidth%>,height=<%=ADsHeight%>")
}
function getCookie(Name){
  var search = Name + "="
  var returnvalue = "";
  if (document.cookie.length > 0){
    offset = document.cookie.indexOf(search)
    if (offset != -1) {
      offset += search.length
      end = document.cookie.indexOf(";", offset);
      if (end == -1) {
        end = document.cookie.length;
        returnvalue=unescape(document.cookie.substring(offset,end))
      }
    }
    return returnvalue;
  }
}
/*
function LoadPopup(){
  if (get_Cookie('popped')==''){
    OpenWin()
    document.cookie="popped=yes"
  }
}
*/
function LoadPopup(){
  OpenWin()
}
</script>
</HEAD>
<BODY  onload="LoadPopup()">
</BODY>
</html>

FocusView.asp代码:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<% Option Explicit %>
<% response.charset="utf-8" %>
<!--#include file="../Include/Const.asp" -->
<!--#include file="../Include/ConnSiteData.asp" -->
<%
dim rs,ADsName,Content
set rs=server.CreateObject("adodb.recordset")
rs.open "select top 1 * from ABCD_Ads where ViewFlag"&Language&" order by id desc",conn,1,3
ADsName=rs("ADsName"&Language)
Content=rs("Content"&Language)
rs("ClickNumber")=rs("ClickNumber")+1
rs.update
rs.close
set rs=nothing  
%>
<HTML>
<HEAD>
<TITLE><%=ADsName%></TITLE>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="Css/Style.css">
<style type="text/css">
<!--
body{
    margin:0px;
    background:none;
    }
-->
</style>
</HEAD>
<BODY>
<%=Content%>
</BODY>
</html>
搜索更多相关主题的帖子: body onload 
2010-06-11 18:14
大浪淘沙001
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-6-11
收藏
得分:0 
斑竹意思是这不是ASP问题么?
实话说咱还真是弄不清ASP与JAVASCRIPT什么样关系呢,不过还是求高手解答标题所示问题。。。
2010-06-11 19:23
大浪淘沙001
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-6-11
收藏
得分:0 
楼上版主,你很细心,不过如果你再仔细看代码,就会发现getcookie()这个函数其实是执行不到的。这个程序包含了两种实现弹窗广告的方法,一种是打开页面即弹出,一种是一个IP弹出一次。而以下这个函数本来就是作为注解出现,所以弹窗广告不能弹出与你提到的函数名不符没关系。
/*
function LoadPopup(){
  if (get_Cookie('popped')==''){
    OpenWin()
    document.cookie="popped=yes"
  }
}
*/
2010-06-12 10:48
大浪淘沙001
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-6-11
收藏
得分:0 
期待高手。。。
2010-06-12 13:59
大浪淘沙001
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-6-11
收藏
得分:0 
可能之前那个写得有点复杂,简化之后代码如下,

FocusLoad.asp包含在另一个文件中,代码:

<%
dim rs,ADsName,ADsWidth,ADsHeight
set rs=server.CreateObject("adodb.recordset")
rs.open "select top 1 * from ABCD_Ads where ViewFlag"&Language&" order by id desc",conn,1,1
if rs.bof and rs.eof then response.end
ADsName=rs("ADsName"&Language)
ADsWidth=rs("ADsWidth")
ADsHeight=Rs("ADsHeight")
rs.close
set rs=nothing  
%>
<HTML>
<HEAD>
<TITLE></TITLE>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<script>
function OpenWin(){
  window.open("FocusView.asp","<%=ADsName%>","width=<%=ADsWidth%>,height=<%=ADsHeight%>")
}
function LoadPopup(){
  OpenWin()
}
</script>
</HEAD>
<BODY  onload="LoadPopup()">
</BODY>
</html>

FocusView.asp代码:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<% Option Explicit %>
<% response.charset="utf-8" %>
<!--#include file="../Include/Const.asp" -->
<!--#include file="../Include/ConnSiteData.asp" -->
<%
dim rs,ADsName,Content
set rs=server.CreateObject("adodb.recordset")
rs.open "select top 1 * from ABCD_Ads where ViewFlag"&Language&" order by id desc",conn,1,3
ADsName=rs("ADsName"&Language)
Content=rs("Content"&Language)
rs("ClickNumber")=rs("ClickNumber")+1
rs.update
rs.close
set rs=nothing  
%>
<HTML>
<HEAD>
<TITLE><%=ADsName%></TITLE>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="Css/Style.css">
<style type="text/css">
<!--
body{
    margin:0px;
    background:none;
    }
-->
</style>
</HEAD>
<BODY>
<%=Content%>
</BODY>
</html>

事实上我即使将LOADPOP整个函数删除,程序都不会提示错误,所以我认为是ONLOAD事件没有执行。
2010-06-13 14:42
大浪淘沙001
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-6-11
收藏
得分:0 
回楼上,我没有使用“on error resume next”,按照你的建议修改后还是不能弹出窗口,网页状态栏提示“网页上有错误”,另外我将window.onload=function(){OpenWin();}这条语句移到<body> </body>之间,页面在底部输出这一行代码。
2010-06-13 18:10
大浪淘沙001
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-6-11
收藏
得分:0 
问题已经不是JS的问题了,你自己把ASP代码踢除,你认真看看代码能否执行?

如果可以打开,那就和javascript代码一分钱的关 系也没有!而应该从ASP代码方面考虑了!

我用你的代码执行是正常的,把ASP代码替换成具体值!
<HTML>
<HEAD>
<TITLE></TITLE>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<script>
function OpenWin(){
  window.open("FocusView.asp","abc","width=200,height=200")
}
function LoadPopup(){
  OpenWin()
}
</script>
</HEAD>
<BODY  onload="LoadPopup()">
</BODY>
</html>
问题是ASP是否有值,值的组合是否能发挥作用!
-----------------------------------------------------------------------------------------------

之前有试过替换,还是不能弹出窗口。
2010-06-16 13:53
大浪淘沙001
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-6-11
收藏
得分:0 
<%
dim rs,ADsName,ADsWidth,ADsHeight
set rs=server.CreateObject("adodb.recordset")
rs.open "select top 1 * from ABCD_Ads where ViewFlag"&Language&" order by id desc",conn,1,1
if rs.bof and rs.eof then response.end
ADsName=rs("ADsName"&Language)
ADsWidth=rs("ADsWidth")
ADsHeight=Rs("ADsHeight")
rs.close
set rs=nothing
response.write  ADsName&"+"&ADsWidth&"+"&ADsHeight '输出看看这3个变量是否有值
response.end
%>
<HTML>
<HEAD>
<TITLE></TITLE>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<script>
function OpenWin(){
  window.open("FocusView.asp","<%=ADsName%>","width=<%=ADsWidth%>,height=<%=ADsHeight%>")
}
如果那3个变量有值,那么就要考虑套用格式对不对了!是否缺少必要的符号呢?比如单引号或者双引号什么的,具体你自己再认真测试下,简化处理!
---------------------------------------------------------------------------------------------------------------------------------------

可以输出三个变量值。
2010-06-16 13:55
快速回复:body onload 事件为什么不能执行?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024741 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved