获取浏览器&x27;从另一个应用程序删除当前HTML
我正在尝试构建一个应用程序,该应用程序可以读取(最好是通过事件或类似smthg的方式)浏览器当前HTML的变化 我的主要目的是构建某种功能,允许对某些页面进行单点登录,因此我需要知道每次页面加载完成后,检查HTML并设置一些字段值,例如 我知道不同浏览器的实现可能不同,但IE和/或Firefox将是一个很好的开始 即使在谷歌上到处搜索,我也无法接近如何实现这一点。我想,也许,但仅仅是也许,我可以使用Windows API将某种控件附加到浏览器的窗口,但我试图相信(至少到目前为止)还有更简单的方法。:) 任何一种想法都会非常感激 问候,获取浏览器&x27;从另一个应用程序删除当前HTML,html,automation,Html,Automation,我正在尝试构建一个应用程序,该应用程序可以读取(最好是通过事件或类似smthg的方式)浏览器当前HTML的变化 我的主要目的是构建某种功能,允许对某些页面进行单点登录,因此我需要知道每次页面加载完成后,检查HTML并设置一些字段值,例如 我知道不同浏览器的实现可能不同,但IE和/或Firefox将是一个很好的开始 即使在谷歌上到处搜索,我也无法接近如何实现这一点。我想,也许,但仅仅是也许,我可以使用Windows API将某种控件附加到浏览器的窗口,但我试图相信(至少到目前为止)还有更简单的方法
Filipe从外部应用程序执行此操作将是一项奇怪的任务。您必须设置几十个最复杂的查询机制,并且可能会被安全措施关闭。像这样的东西就是浏览器扩展的用途 此外,即使源代码已完全加载,也不意味着页面已准备就绪。在扩展中,您只需挂接onLoad事件,并拥有一个干净、正确解析的DOM供您使用
也许可以为每个浏览器编写多个扩展,并让这些扩展与应用程序通信。那样的话,这其实很容易。扩展将侦听onload事件,然后为您传递所有HTML。(这是一个主要的隐私问题,不管你用哪种方式做,因为HTML可能包含各种各样的东西,但那是另一回事)。能否做到这一点,取决于扩展模型是否允许与外部进程通信。从外部应用程序实现这一点将是一项奇怪的任务。您必须设置几十个最复杂的查询机制,并且可能会被安全措施关闭。像这样的东西就是浏览器扩展的用途 此外,即使源代码已完全加载,也不意味着页面已准备就绪。在扩展中,您只需挂接onLoad事件,并拥有一个干净、正确解析的DOM供您使用
也许可以为每个浏览器编写多个扩展,并让这些扩展与应用程序通信。那样的话,这其实很容易。扩展将侦听onload事件,然后为您传递所有HTML。(这是一个主要的隐私问题,不管你用哪种方式做,因为HTML可能包含各种各样的东西,但那是另一回事)。能否做到这一点,取决于扩展模型是否允许与外部进程进行通信。我猜有更直接的方法可以做到这一点,但是Greasemonkey呢?您可以编写一个GM脚本,获取当前页面的HTML,然后通过Ajax将其发送到您的应用程序(当然,您的应用程序必须运行一个小型HTTP服务器)。如果通用汽车有限,你也可以编写一个Firefox扩展,为你提供一些更复杂的选项。我猜有一种更直接的方法可以做到这一点,但是Greasemonkey呢?您可以编写一个GM脚本,获取当前页面的HTML,然后通过Ajax将其发送到您的应用程序(当然,您的应用程序必须运行一个小型HTTP服务器)。如果GM太有限,您还可以编写一个Firefox扩展,为您提供一些更复杂的选项。要使用Internet Explorer实现这一点,您必须构建一个Browser Helper对象,以便与浏览器发布的有关当前页面配置的事件挂钩。这绝不是一项简单的任务,需要大量特定于Windows的编程。我认为不写BHO是不可能的,从技术上讲,BHO是“在应用程序内部”,因为你必须将它安装到IE中
要使用Internet Explorer执行此操作,您必须构建一个浏览器帮助对象,以便与浏览器发布的有关当前页面配置的事件挂钩。这绝不是一项简单的任务,需要大量特定于Windows的编程。我认为不写BHO是不可能的,从技术上讲,BHO是“在应用程序内部”,因为你必须将它安装到IE中
创建本地代理怎么样?有一个名为Proxomitron的广告过滤应用程序,可以作为您的模型。创建一个本地代理怎么样?有一个名为Proxomitron的广告过滤应用程序,可以作为您的模型。我在Internet Explorer中找到了一种使用ShDocVw(Microsoft Internet控件)实现这一点的方法: ShDocVw包含一些类,允许您监视现有和新的浏览器导航(docCompleted、download等)。下一步是找出如何写入DOM(可能很简单,我还没有尝试) Firefox将是另一部小说,但IE现在已经足够了 谢谢大家
Filipe我发现了一种在Internet Explorer中使用ShDocVw(Microsoft Internet控件)实现这一点的方法: ShDocVw包含一些类,允许您监视现有和新的浏览器导航(docCompleted、download等)。下一步是找出如何写入DOM(可能很简单,我还没有尝试) Firefox将是另一部小说,但IE现在已经足够了 谢谢大家
菲利佩(Filipe)古怪的做法几乎是不可能的。我能想到的唯一方法是直接连接到特定操作系统的TCP/IP堆栈。没有可以想象的回报,这将使它工作的努力。+1,让你到10K代表!干得好:)。。。回答一个奇怪的问题!稀奇古怪的接近根本不可能。这个