我继承了一个主要是vbscript / asp的网站。一页有<%vbscript%>在DOCTYPE HTML PUBLIC之前...行并在页面打开之前运行。即使用户按下另一页上的后退按钮到达那里,我也需要运行它。大概是通过放置一个onload函数 - 这是正确的吗?
这是< %%>的缩短部分。代码:
<%
if not (IsEmpty(Session("MM_Username"))) then
Set checkSet = Server.CreateObject("ADODB.Recordset")
checkSet.ActiveConnection = MM_CA_STRING
checkSet.Source = "SELECT * FROM cpgdb.dbo_tbl_printing_tempstore WHERE username = '" & Session("MM_username") & "' AND addedtocart = 'NO'"
checkSet.Open()
end if
%>
<!DOCTYPE HTML PUBLIC...
...
<body>
我想我需要让它像这样运行:
<!DOCTYPE HTML PUBLIC...
...
<body onload="runcode()">
Function runcode()
if not (IsEmpty(Session("MM_Username"))) then
Set checkSet = Server.CreateObject("ADODB.Recordset")
checkSet.ActiveConnection = MM_CA_STRING
checkSet.Source = "SELECT * FROM cpgdb.dbo_tbl_printing_tempstore WHERE username = '" & Session("MM_username") & "' AND addedtocart = 'NO'"
checkSet.Open()
end if
End Function
我试图通过简单地复制&lt;%code%&gt;来将此代码移动到该函数中并在函数 - 结束函数之间粘贴它。这不起作用 - 语法看起来不正确。有人可以告诉我为什么以及我需要做些什么调整才能使它工作,以及onload事件是否能满足我的需要?
任何帮助表示感谢。
答案 0 :(得分:0)
不幸的是,在VBScript / ASP中无法满足您的要求。 VBScript / ASP是一种服务器端编程语言,您尝试使用它来引发客户端行为。如果你想做这样的事情,你必须在Javascript中设置或设置“Meta Refresh”值:
<meta http-equiv="cache-control" content="no-cache"> <!-- tells browser not to cache -->
<meta http-equiv="expires" content="0"> <!-- says that the cache expires 'now' -->
<meta http-equiv="pragma" content="no-cache"> <!-- says not to use cached stuff, if there is any -->