如何判断客户端是否从www.abc.com过来的就执行这个js?

lfaye 2003-12-27 10:42:23
如果客户端是从www.abc.com或者是www.abc.com的下级链接(例如www.abc.com/aa.htm)链过来的,那就执行<SCRIPT language="JavaScript">window.open("http://www.abc.net");</SCRIPT>
否则就不执行,如何写啊?
...全文
54 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
bzscs 2003-12-27
  • 打赏
  • 举报
回复
:<%
if instr(Request.ServerVariables("HTTP_REFERER"),"www.abc.com")<>0 then %>
<SCRIPT language='JavaScript'>window.open('http://www.abc.net');</SCRIPT>
<%end if
%>
lfaye 2003-12-27
  • 打赏
  • 举报
回复
后来我改了一下:<%
if instr(Request.ServerVariables(HTTP_REFERER),"www.abc.com")<>0 then %>
<SCRIPT language='JavaScript'>window.open('http://www.abc.net');</SCRIPT>
<%end if
%>就显示:

Microsoft VBScript 运行时错误 错误 '800a01f4'

变量未定义: 'HTTP_REFERER'

变量怎样定义啊?
lfaye 2003-12-27
  • 打赏
  • 举报
回复
各位可以写详细一点吗?
possible_Y(一切皆可能)(西南交大) 这位老兄,先谢谢你的回复,但是我试了之后,显示
Response.Write "<SCRIPT language='JavaScript'>window.open('http://www.abc.net');</SCRIPT>"
这句出错啊!~!!!!
wdclub 2003-12-27
  • 打赏
  • 举报
回复
HTTP_REFERER就可以。
patchclass 2003-12-27
  • 打赏
  • 举报
回复
刚出去一下就有两个回复了啊
就是用Request.ServerVariables("HTTP_REFERER")
snowcloud2002 2003-12-27
  • 打赏
  • 举报
回复
Request.ServerVariables("HTTP_REFERER")
得到上一个页面地址
然后用Instr函数判断
possible_Y 2003-12-27
  • 打赏
  • 举报
回复
<%
if instr(Request.ServerVariables(HTTP_REFERER),"www.abc.com")<>0 then
Response.Write "<SCRIPT language='JavaScript'>window.open('http://www.abc.net');</SCRIPT>"
end if
%>
patchclass 2003-12-27
  • 打赏
  • 举报
回复
用服务器变量
tianjy 2003-12-27
  • 打赏
  • 举报
回复
我现在的系统没办法调
你试试request("remote_host")
lfaye 2003-12-27
  • 打赏
  • 举报
回复
非常感谢~~~是我看小了。。呵呵。。结贴~~~
trysun 2003-12-27
  • 打赏
  • 举报
回复
人家的变量多了双引号。。 仔细看看。
lfaye 2003-12-27
  • 打赏
  • 举报
回复
to:bzscs(沙虫 湖南找工作)

你把我的话抄下来有什么用呢?
(function(){ //定义外部接口 //Request开放接口给外部,提供两个接口:getParameter和getParameterValues //这样外部的JavaScript文件就可以通过调用Request.getParameter()来执行相应的动作 Request = { getParameter:getParameter, getParameterValues:getParameterValues }; //得到URL后的参数,例如URL:http://abc?x=1&y=2 //那么getParameter("x") 得到1 function getParameter(paraName,wnd) { //如果不提供wnd参数,则默认为当前窗口 if(wnd == null) wnd = self; //得到地址栏上“?”后边的字符串 var paraStr = wnd.location.search.slice(1); //根据“&”符号分割字符串 var paraList = paraStr.split(/\&/g); for (var i = 0; i < paraList.length; i++) { //用正则表达式判断字符串是否是“paraName=value”的格式 //关于正则表达式的内容在本书的第10章中有较详细的讨论 var pattern = new RegExp("^"+paraName+"[?=\\=]","g"); if(pattern.test(paraList[i])) { //若是,则返回解码后的value的内容 return decodeURIComponent(paraList[i].split(/\=/g)[1]); } } } //如果有多个重复的paraName的情况下,下面这个方法返回一个包含了所有值的数组 //例如http://abc?x=1&x=2&x=3 ,getParameterValues("x")得到[1,2,3] function getParameterValues(paraName,wnd) { if(wnd == null) wnd = self; var paraStr = wnd.location.search.slice(1); var paraList = paraStr.split(/\&/g); var values = new Array(); for (var i = 0; i < paraList.length; i++) { //上面的判断部分和getParameter()方法类似 //区别是对应每一个paramName的value有多个 var pattern = new RegExp("^"+paraName+"[?=\\=]","g"); if(pattern.test(paraList[i])) { //将所有满足paramName=value的结果的value都放入一个数组中 values.push(decodeURIComponent(paraList[i].split(/\=/g)[1])); } } //返回结果数组 return values; } })(); 输出如下: <script type="text/javascript" src="客户端模拟服务器端的Request发送和获得参数.js">"+document.URL)

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧