我想拦截用户在浏览器中输入的任何URL,并在允许导航继续之前执行某些任务(任何方式都可能是好的 - 即通过插件,通过代理或任何其他创意建议)。 澄清 - 我不是指需要捕获这个的特定应用程序,而是 - 用户在其浏览器上执行的任何导航都需要被捕获(即用户没有打开我的应用程序,它应该在后台运行或类似的东西...) 提前谢谢......
答案 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脚本定义的各种很酷的东西。
您也可以设置它,以便您可以通过它运行移动设备,如果您感兴趣的话。