2

假设,我们有一个类似于 XULRunner 的 Mozilla Prism 应用程序。有一个带有 <browser/> 元素的 XUL 窗口,浏览器在其中显示给定域(例如 example.com)上的网页。

现在 example.com 上有几个链接。如果用户关注本地链接(即,停留在 example.com),则应允许她关注。另一方面,如果链接指向 elpmaxe.moc,则应该(我不介意)这两种可能性中的任何一种:

  • “真正的”浏览器打开(就像在 Prism 中一样),或者
  • 没发生什么事。

任何想法如何做到这一点?仅使用 browser.document.onload 或 DOMready 或此类事件是不够的,因为即使在页面加载期间(即,尚未触发这些事件时),也必须安全地阻止链接。

4

1 回答 1

1

似乎您想要类似于BlockSite提供的功能- 除了您想要将应用程序的域列入白名单并阻止其他所有内容。有一些关于在 XUL Runner中安装扩展的 MDC 文档可能会有所帮助。

或者,您可以查看源代码并尝试找出它的挂钩位置 - 这将让您实现一种替代行为,而不是仅仅阻止并避免随您的应用程序发布扩展程序。我认为BlockSite.js是关键文件,看起来这里添加了处理程序(第 171 行):

var observerService = Components.classes["@mozilla.org/observer-service;1"].getService(Components.interfaces.nsIObserverService);
observerService.addObserver(BlockSiteObserver, "http-on-modify-request", false);

BlockSiteObserver函数在上面的代码中定义。

于 2009-07-08T12:40:23.007 回答