在Trello的Chrome扩展程序中查看浏览器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Trello的Chrome扩展程序中查看浏览器相关的知识,希望对你有一定的参考价值。

我正在开发一个Chrome扩展程序,可以在“我的卡片”列表中处理Trello中的卡片。

尽管Trello是一个动态JS应用程序,但我的扩展程序能够在用户单击链接时检测URL更改。

但是如何检测用户何时单击浏览器中的后退/前进按钮?

我尝试了许多(简单)方法来检测我在互联网上找到的后退按钮,但没有运气。这是我目前的检测功能。

function detectHistoryChange(handler) {
    document.head.appendChild(document.createElement('script')).text = '(' +
        function () {
            // injected DOM script is not a content script anymore,
            // it can modify objects and functions of the page
            var _pushState = history.pushState;
            history.pushState = function (state, title, url) {
                _pushState.call(this, state, title, url);
                window.dispatchEvent(new CustomEvent('state-changed', { detail: state }));
            };
            // repeat the above for replaceState too
        } + ')(); $(this).remove();'; // remove the DOM script element

    // And here content script listens to our DOM script custom events
    window.addEventListener('state-changed', function (e) {
        console.log('History state changed', e.detail, location.hash);
        handler();
    });
}

谢谢!

答案

似乎Trello在导航上发射了一个事件single-spa:routing-event。所以我在这个活动上添加了一个听众,它就像一个魅力!

以上是关于在Trello的Chrome扩展程序中查看浏览器的主要内容,如果未能解决你的问题,请参考以下文章

如何查看chrome扩展的源代码

查看Chrome浏览器扩展程序源码的两种方法

如何查看已安装的 Chrome 扩展程序的存储空间?

chrome 怎么查看发送的请求

Axure谷歌浏览器Chrome扩展程序下载及安装方法

如何使用 chrome.tabs.getCurrent 在 Chrome 扩展程序中获取页面对象?