- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在开发一个 firefox 扩展,它需要我通过过滤掉一些 HTTPRequests 来拦截页面加载。我使用给定的说明做到了 here .请注意,我的问题来自此链接的内容。
我使用了 HTTPObservers 部分给出的方法.它奏效了,我确实能够提取所发送请求的相应 URL。
然而,我真正需要的另一件事是获取目标 DOM 窗口,其中与 HTTPRequest 相关的内容即将被加载。是否可以使用 HTTPObservers?
在上面的链接中,使用 WebProgressListeners 描述了另一种方式。 .
我也试过了。 onLocationChange() 方法仅返回 url 栏中的位置更改。是否有可能使用这些进度监听器中的任何一个来获取 HTTPRequest url?因为如果是这样,那么如果我理解正确,aWebProgress.DOMWindow 会给我所需的窗口。
注意:我将 gwt 用于扩展,将 JSNI 用于上述部分。
最佳答案
您通常可以使用 nsILoadContext
interface 来做到这一点(遗憾的是几乎没有记录)附加到请求或其负载组。以下是您将如何做到这一点:
function getWindowForRequest(request)
{
if (request instanceof Components.interfaces.nsIRequest)
{
try
{
if (request.notificationCallbacks)
{
return request.notificationCallbacks
.getInterface(Components.interfaces.nsILoadContext)
.associatedWindow;
}
} catch(e) {}
try
{
if (request.loadGroup && request.loadGroup.notificationCallbacks)
{
return request.loadGroup.notificationCallbacks
.getInterface(Components.interfaces.nsILoadContext)
.associatedWindow;
}
} catch(e) {}
}
return null;
}
请注意,此函数偶尔会返回 null
- 并非每个 HTTP 请求都与窗口相关联。
关于javascript - 是否有可能知道 HTTPRequest 的目标 DOMWindow?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10719606/
我在 Javascript 强制 [object DOMWindow] 进入对象原型(prototype)中的函数时遇到问题。我得到的完整错误如下: 未捕获的类型错误:对象 [object DOMWi
我正在尝试获取链接的值,但我在警报中获取的是 [Object DOMWindow],而不是链接作为我的对象。 这是我的代码: function showToggle(link) { var x
我正在尝试使用我在 http://swip.codylindley.com/DOMWindowDemo.html在我的网站上,当访问者点击链接时创建灯箱/domwindow 弹出窗口。 不幸的是,当用
我为获取浏览器位置做了这个漂亮的小片段: if (!window.position) { window.position = function() { return navig
出于某种原因,我似乎无法在 DOMWindow 对象上使用 JSON.stringify。例如: console.log(window.self); // Outputs a hierarchical
我正在开发一个 firefox 扩展,它需要我通过过滤掉一些 HTTPRequests 来拦截页面加载。我使用给定的说明做到了 here .请注意,我的问题来自此链接的内容。 我使用了 HTTPObs
我有一系列 DIV 元素,单击这些元素时会触发 DOMWindow 打开事件。没问题。 然后我必须添加键盘辅助功能。卫生部!! 我向 DIV 添加了 tabindex 属性,允许用户从一个 DIV 切
无法在“DOMWindow”上执行“postMessage”:提供的目标源(“https://www.youtube.com”)与收件人窗口的源(“https://my-site.ru”)不匹配。 N
我想在我的网站上添加 Google+ 徽章。当我从 Google 配置工具复制/粘贴代码时,徽章不起作用。我认为问题可能出在 JavaScript 中,所以我创建了一个空的 index.html 并复
我们正在使用 video.js与 youtube plugin . 加载视频时,控制台显示错误。 Failed to execute 'postMessage' on 'DOMWindow': The
我正在学习 javascript。我只是想了解为什么下面代码中的 strip2() 函数不起作用,并返回错误。 function strip1(str) { return str.replace
当您在浏览器或 Node.js 中运行以下代码时,您将获得注释中列出的预期结果: Object.prototype.toString.call(undefined); // "[object Unde
如何在 Google Chrome 中检查变量是否属于 DOMWindow 类型?当我尝试引用 DOMWindow 类型时,我收到 ReferenceError。例如,当我尝试在控制台中检查 wind
我正在尝试在模式打开时开始播放 YouTube 视频,并且在完成之前不会进入下一页。 我的以下脚本在 Chrome 中有效,但在 Firefox 和 Edge 中产生此错误。 Failed to ex
我在尝试创建可重用函数来将元素设置为可拖动或可放置时遇到问题。 为此作品创建 2 个独立的函数: makedroppable($('.empty_child_article_image'), hand
我正在尝试按照教程在我的 Trello 看板列表中创建一张新卡。 我从这里获取 key https://trello.com/app-key按照本教程 https://developers.trell
我知道如何修复此错误,但有没有人能全面解释为什么会出现此错误? var fn = function () { return fn(); }(); //uncaught TypeError: Pro
这是我的代码: function loadOffer(id) { window.open("http://www.google.com.com","mywindow"); } 它是在点击时启动
我尝试使用 YouTube iFrame Player API 将 YouTube 加载到我的网页中,但加载时出现以下错误: Failed to execute 'postMessage' on 'D
我有一个带有 jQuery DOMWindow 的网页,它从 iFrame 加载其内容。我需要从 iFrame 访问父窗口的元素。这可能吗? 这是从我的主页打开的 DOMWindow 的配置:
我是一名优秀的程序员,十分优秀!