Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从插件SDK向选项卡对象添加进度侦听器_Javascript_Firefox Addon Sdk - Fatal编程技术网

Javascript 如何从插件SDK向选项卡对象添加进度侦听器

Javascript 如何从插件SDK向选项卡对象添加进度侦听器,javascript,firefox-addon-sdk,Javascript,Firefox Addon Sdk,我希望得到URL更改通知(而不是加载通知)。 有,但我不知道如何在上下文中使用,它处理选项卡 如何将侦听器安装到SDK选项卡 如何从转换为SDK选项卡 相关的: 要安装侦听器,请使用viewFor将SDK选项卡转换为其原始(旧)表示形式。 modelFor和getTabForContentWindow可以进行反向转换 const tabs = require("sdk/tabs"); const {viewFor} = require('sdk/view/core'); const {mod

我希望得到URL更改通知(而不是加载通知)。 有,但我不知道如何在上下文中使用,它处理选项卡

  • 如何将侦听器安装到SDK选项卡
  • 如何从转换为SDK选项卡
  • 相关的:


    要安装侦听器,请使用viewFor将SDK选项卡转换为其原始(旧)表示形式。 modelFor和getTabForContentWindow可以进行反向转换

    const tabs = require("sdk/tabs");
    const {viewFor} = require('sdk/view/core');
    const {modelFor} = require('sdk/model/core');
    const {getBrowserForTab, getTabForContentWindow} = require("sdk/tabs/utils");
    const {Ci, Cu} = require("chrome");
    Cu.import("resource://gre/modules/XPCOMUtils.jsm", this);
    
    var progressListener = {
    QueryInterface: XPCOMUtils.generateQI([Ci.nsIWebProgressListener, Ci.nsISupportsWeakReference]),
        onLocationChange: function(aProgress, aRequest, aURI) {
            var highLevel= modelFor(getTabForContentWindow(aProgress.DOMWindow));
            console.log("onLocationChange ", highLevel.url);
        }
    };
    
    tabs.on('open', function(newTab) {
        var lowLevel = viewFor(newTab);
        var browser = getBrowserForTab(lowLevel);
        browser.addProgressListener(progressListener);
    });
    
    灵感来自

    [Exception…”组件返回故障代码:0x80004005(NS_ERROR_failure)[nsIWebProgress.addProgressListener]“我试图从location change函数中获取tab对象,以将内容脚本和工作程序附加到侦听器。您知道如何执行吗?示例中的高级变量包含tab对象。