Javascript 拦截来自网页的每个请求

Javascript 拦截来自网页的每个请求,javascript,Javascript,是否可以使用javascript拦截来自页面的每个请求?i、 e.单击链接、加载图像、ajax请求……总之,不。没有任何地方可以让您获得所有请求 话虽如此,您可以使用javascript在链接上放置事件处理程序,查看图像标记的src属性等等。没有“通用”的方法可以钩住所有AJAX请求——这取决于您使用的库 P>有其他的事情要考虑,比如CSS背景图像,Flash(如果Flash文件发出请求会怎样?) 如果可能的话,您应该使用浏览器本身(例如)或代理(例如)或数据包嗅探器(例如Ethereal…现

是否可以使用javascript拦截来自页面的每个请求?i、 e.单击链接、加载图像、ajax请求……

总之,不。没有任何地方可以让您获得所有请求

话虽如此,您可以使用javascript在链接上放置事件处理程序,查看图像标记的src属性等等。没有“通用”的方法可以钩住所有AJAX请求——这取决于您使用的库

<> P>有其他的事情要考虑,比如CSS背景图像,Flash(如果Flash文件发出请求会怎样?)
如果可能的话,您应该使用浏览器本身(例如)或代理(例如)或数据包嗅探器(例如Ethereal…现在似乎是这样)

Greg是的,没有一个地方可以连接到所有请求。话虽如此,您重写所有请求的最终目标是什么?如果需要为每个请求添加一个“参数”,然后在服务器端使用它,一种方法是主机头。您可以在服务器端修改主机头(即将用户从your-site.com重定向到您的parameter.your-site.com),之后的所有请求都将包含*your parameter“。在服务器端,您可以使用url重写技术修改指向您的site.com的url?parameter=您的参数

对于重定向,请使用http 302响应代码。 需要在服务器端设置适当的url重写组件(apache的mod_rewrite,ASP.NET的ISAPIrewrite)

需要注意的几点: 1) 由于子域和域共享会话cookie,用户将不会注销 2) 您需要在DNS服务器上设置通配符映射 3) 浏览器缓存将不那么有效
4) 您需要分析“业务影响”“对于更改的url

您能再描述一下目标吗?解决方案可能太庞大了。我的目标是重写来自页面的所有请求?一种方法是运行DOM并重写所有链接,但即使这样,也会遗漏一些动态生成的URL