asp刷新别的网页

时间:2026-10-17 05:13:01来源:力不从心网 作者:焦点

ASP刷新别的新别网页?听起来像是个歪门邪道,但我告诉你,新别这事真能办,新别而且有时候还挺有用。新别

我最早碰这需求,新别是新别给一个老掉牙的内部系统做看板。那系统是新别ASP写的,数据得手动点按钮才更新。新别可大屏上要实时显示,新别总不能天天派人去点吧。新别后来我发现,新别ASP里藏着一个Response对象,新别它有个AddHeader方法,新别能往响应头里塞东西。新别塞一个Refresh头,新别浏览器收到后就会自动去跳转或者刷新。

代码长这样:

<% Response.AddHeader "Refresh", "5; url=target.asp" %> 

这行代码放在一个空白ASP页面里,浏览器一访问,等5秒就自动跳到target.asp。你要是把url去掉,就变成原地刷新当前页。就这么简单。

但等等,这算“刷新别的网页”吗?严格说,它只是让当前这个ASP页面去触发一次跳转。真正刷新别人的页面,你得换个思路——用iframe把目标网页嵌进来,然后定时刷新iframe的src。

比如这样:

<iframe id="frm" src="http://othersite.com/page.asp"></iframe> <script> setInterval(function() {  document.getElementById('frm').src = document.getElementById('frm').src; }, 10000); </script> 

这里有个坑。跨域的情况下,iframe内容你摸不着,但改src这操作不受同源策略限制。你把src重新赋一遍,浏览器就会重新加载那个页面。这个方法说白了就是“强制重载”,跟用户按F5效果差不多。

不过,我劝你别真拿这招去刷别人家的网站。一是没礼貌,二是人家服务器日志里全是你IP的访问记录,封你是分分钟的事。这招最适合的场景,是公司内部几个系统之间做联动——比如一个ASP后台更新了数据,另一个展示页面需要跟着刷新,但你又没权限改那个页面的代码。

我见过一个更野的用法。有人用ASP写了个“监控页”,每隔几秒就去刷新一个内网路由器状态页,然后抓取页面里的关键数字,再写到自己的数据库里。这算是把“刷新”和“抓取”揉一块了。原理就是ASP的XMLHTTP组件,它能模拟浏览器发出请求,拿到响应内容后你再自己解析。

<% Set http = Server.CreateObject("MSXML2.XMLHTTP") http.open "GET", "http://192.168.1.1/status.asp", false http.send response.write http.responseText %> 

这段代码一跑,等于你让ASP服务器当了一回中间人,替你去“看”了那个网页。但注意,这里没有真正的“刷新”动作,它只是发一次HTTP请求。你要想定时刷,还得配合VBScript的sleep或者用标签自己刷新自己。

说到底,ASP本身是服务端技术,它没法主动去操作浏览器端别的标签页。所有“刷新别的网页”的实现,本质上都是通过HTML、JavaScript或者HTTP头来间接达成。你服务端能做的,只是输出一段代码,让浏览器去执行刷新动作。

所以下次有人跟你说“用ASP刷新别的网页”,你先问他一句:你是要服务端主动推,还是客户端定时拉?前者你得用WebSocket或者长轮询,跟ASP关系不大;后者就是我上面说的那几种土办法。别被名词唬住,拆开看都是老技术。

最后提个醒,这招对静态HTML页面无效。因为ASP输出的内容得经过服务器解析,你要是直接拿ASP去刷新一个纯静态的.html文件,那得换种玩法——用JavaScript的location.reload(),但那已经是浏览器的事,跟ASP没半毛钱关系了。

相关内容
推荐内容