热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

拦截源自网页的每个请求-Intercepteveryrequestoriginatingfromawebpage

Isitpossibletointercepteveryrequestmadefromapageusingjavascript?i.e.Clickingonalink

Is it possible to intercept every request made from a page using Javascript? i.e. Clicking on a link, loading an image, ajax request...

是否可以使用Javascript拦截从页面发出的每个请求?即点击链接,加载图片,ajax请求......

2 个解决方案

#1


7  

In a word, no. There's no place you can hook into to get all the requests.

总之,没有。没有地方可以挂钩来获取所有请求。

Having said that, you can us Javascript to place event handlers on the links, look at the src attribute of image tags and so on. There's no "generic" way to hook into all the AJAX requests - it depends on the library you're using.

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

There are other things to consider, such as CSS background images, Flash (what if a flash file makes a request?).

还有其他需要考虑的事情,比如CSS背景图片,Flash(如果flash文件发出请求会怎样?)。

If possible you should be using the browser itself (e.g. Firebug) or a proxy (e.g. Fiddler) or a packet sniffer (e.g. Ethereal... seems to be WireShark now)

如果可能的话,你应该使用浏览器本身(例如Firebug)或代理(例如Fiddler)或数据包嗅探器(例如Ethereal ......现在似乎是WireShark)

#2


0  

Greg's right, there's no one place you can hook into all the requests. Having said that, what is your end goal in rewriting all the requests? If you need to add a "parameter" to every request and then use it on the server side, one way to do it is the host header. You can modify the host header on the server side (i.e. redirect the user from your-site.com to your-parameter.your-site.com) and all the requests after that will have *your-parameter" in it. On the server-side, you can use url-rewriting techniques to modify the url to your-site.com?parameter=your-parameter.

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

For redirecting use the http 302 response code. Appropriate url-rewriting component will need to be set up on the server-side (mod_rewrite for apache, ISAPIrewrite for ASP.NET)

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

Some points to noted: 1) The user will not be logged out since the sub-domains and domains share the session COOKIE 2) You will need to set up wildcard mapping on your DNS server 3) The browser caching will not be as effective 4) You need to analyze the "business-impact" of a changed url

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


推荐阅读
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • 本文详细解析了JavaScript中相称性推断的知识点,包括严厉相称和宽松相称的区别,以及范例转换的规则。针对不同类型的范例值,如差别范例值、统一类的原始范例值和统一类的复合范例值,都给出了具体的比较方法。对于宽松相称的情况,也解释了原始范例值和对象之间的比较规则。通过本文的学习,读者可以更好地理解JavaScript中相称性推断的概念和应用。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 安卓select模态框样式改变_微软Office风格的多端(Web、安卓、iOS)组件库——Fabric UI...
    介绍FabricUI是微软开源的一套Office风格的多端组件库,共有三套针对性的组件,分别适用于web、android以及iOS,Fab ... [详细]
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • JavaScript设计模式之策略模式(Strategy Pattern)的优势及应用
    本文介绍了JavaScript设计模式之策略模式(Strategy Pattern)的定义和优势,策略模式可以避免代码中的多重判断条件,体现了开放-封闭原则。同时,策略模式的应用可以使系统的算法重复利用,避免复制粘贴。然而,策略模式也会增加策略类的数量,违反最少知识原则,需要了解各种策略类才能更好地应用于业务中。本文还以员工年终奖的计算为例,说明了策略模式的应用场景和实现方式。 ... [详细]
author-avatar
阿日小子很顽强_756
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有