动态网页(Javascript) - 从外部监控内容

时间:2009-05-27 08:51:48

标签: javascript webkit

假设我浏览一个使用JavaScript不断更新其视图的特定网页(使用Web 2.0技术与其服务器通信以检索数据更新)。

现在我喜欢在我自己的计算机上运行一些监视内容的代码,并在页面上显示某些特定数据时提醒我,以便我可以记录这些数据。

我正在寻找实现这一目标的方法。由于它是一个私有项目,我可以灵活选择我的工具(我可以用C和REALbasic编程,也可以管理一些JavaScript)。我无法控制的唯一一件事就是我要监控的页面。

我更喜欢我可以在Mac OS X上使用的解决方案,但Linux或Windows也是可行的。

首先,我想知道是否已有解决方案。例如,像用户可编写脚本的Web浏览器。

如果没有,我想知道如何通过自己编程来最好地解决这个问题。例如,有人可以告诉我Apple的Webkit是否允许我反省动态更新的网页?

作为最后的手段,我想我必须将自己的javascript代码插入到已查看的网页中(我认为,在通过互联网加载页面时,我可以轻松地执行此操作),然后让该脚本运行定期,反省它所在的页面。在这种情况下我唯一不知道的是如何让它与外部通信,即我的计算机。我当然可以编写一个可以尝试与之交谈的应用程序,但它怎么可以访问我的计算机资源来建立这样的通信呢?据我所知,网页的沙盒,他们无法读取/写入本地文件或与他们正在运行的计算机上的套接字通信,或者可以吗?

所以,任何想法都是受欢迎的,只要他们清楚我必须让浏览器或其引擎呈现页面并运行页面的Javascripts。

3 个答案:

答案 0 :(得分:1)

这听起来好像在Firefox中使用Jetpack非常容易。

您可以使用Javascript创建浏览器扩展程序 - 它仍处于alpha状态但看起来可行(并且 awesome )...

答案 1 :(得分:1)

我同意你肯定可以使用Firefox扩展(我没有使用JetPack,我不知道它是否可以处理这个)。 Firefox扩展可以与任意XPCOM组件通信。因此,扩展将有一个小的JavaScript部分从DOM中吸取数据,然后与C(++)XPCOM组件进行通信以执行任何其他操作。

请参阅Creating a C++ XPCOM component Creating Custom Firefox Extensions with the Mozilla Build System

答案 2 :(得分:0)

实际上,我刚刚意识到REALbasic的Monkeybread插件提供了我所需要的一切,并且显然比使用Jetpack更容易,甚至:

http://www.monkeybreadsoftware.de/pluginhelp/example-cocoa-domformfields.shtml

因此,我可以编写自己的浏览器来获取网页,然后过滤掉DOM数据,甚至修改它。