导航前拦截URL

时间:2008-11-10 06:10:13

标签: browser url-interception

我想拦截用户在浏览器中输入的任何URL,并在允许导航继续之前执行某些任务(任何方式都可能是好的 - 即通过插件,通过代理或任何其他创意建议)。 澄清 - 我不是指需要捕获这个的特定应用程序,而是 - 用户在其浏览器上执行的任何导航都需要被捕获(即用户没有打开我的应用程序,它应该在后台运行或类似的东西...) 提前谢谢......

4 个答案:

答案 0 :(得分:1)

我认为你不能“拦截”用户通过javascript输入的内容。它闻起来像一个很大的安全漏洞。您可以检测用户何时离开页面,但无法检测到他下一步的位置。

  • 如果您只需要处理的URL字符串,代理是一个不错的选择。但是在代理中实现任何更复杂的事情都会很复杂。

  • 但是,插件取决于您所定位的浏览器,您无法制作针对所有浏览器并同时控制用户导航的单个插件。但是,如果您要选择用户使用的浏览器,那么可能。

  • 如何滚动自己的浏览器(使用IE的ActiveX控件)或使用其中一个开源替代品并使用它?

您希望做什么的精确处理?

答案 1 :(得分:0)

如果您使用的是Javascript,则当用户存在名为onunload的网页时会触发一个事件。

window.onunload = function() {
    alert("You're leaving this page.");
};

答案 2 :(得分:0)

您可以创建一个隐藏框架,将watch添加到主框架的window.location对象中。我不确定你是否可以在IE中使用手表 - 如果没有,你可能需要定期轮询其他窗口以查看它所在的页面。

如果用户在浏览器窗口中键入地址,则无法捕获(因为您的框架将被删除),但您将获得他们点击的所有链接(甚至是外部网站)。

答案 3 :(得分:0)

您可能需要查看Fiddler

  

... Web调试工具,可以从几乎任何应用程序中捕获,重放和修改HTTP和HTTPS流量。

根据我的理解,它充当轻量级代理,可以执行.NET脚本定义的各种很酷的东西。

您也可以设置它,以便您可以通过它运行移动设备,如果您感兴趣的话。