Google chrome extension 在匹配URL时更改弹出窗口元素

Google chrome extension 在匹配URL时更改弹出窗口元素,google-chrome-extension,Google Chrome Extension,我的弹出窗口上有一个激活按钮,默认情况下该按钮应被禁用,并且在查看YouTube.com视频页面时应可单击该按钮,即url匹配/watch/?v= 如何做到这一点?使用background.js还是popup.js?我很困惑。您不应该匹配清单中的URL,因此它只能在youtube页面上工作吗?我不明白你为什么不能用这个。在任何情况下,如果您必须在后台和弹出窗口之间进行选择,我会说popup.js,因为您希望它首先检查是否单击popup.html 所以你有popup.html,然后它有一个叫做Ac

我的弹出窗口上有一个激活按钮,默认情况下该按钮应被禁用,并且在查看YouTube.com视频页面时应可单击该按钮,即url匹配/watch/?v=


如何做到这一点?使用background.js还是popup.js?我很困惑。

您不应该匹配清单中的URL,因此它只能在youtube页面上工作吗?我不明白你为什么不能用这个。在任何情况下,如果您必须在后台和弹出窗口之间进行选择,我会说popup.js,因为您希望它首先检查是否单击popup.html

所以你有popup.html,然后它有一个叫做Activate的按钮。只需创建另一个名为activate.js的文件。在activate.js中

function activate(){
    var test =  window.location.href
    if (test.includes('watch?v')){
    console.log('Yes')}
    }
activate()

在popup.html中包含activate.js

这是我在popup.js中的最终解决方案,如这里所建议的

chrome.tabs.query({
    active: true,
    lastFocusedWindow: true
}, function(tabs) {
    var tab = tabs[0];
    var tabURL = tab.url;
    if (tabURL.includes('youtube.com/watch?v')) {
        jQuery('#activation-button').removeClass('unavailable');
    }
});

我希望弹出窗口在所有页面上都可用,只是其中的一部分,视频页面上的按钮Hank帮助我找到了最终的解决方案,当我尝试时。window.location.href已返回扩展的URL,而不是选项卡URL。我使用@wOxxOm建议来查找选项卡URL。并相应地更改元素的样式。在popup.js中。谢谢。我觉得这很有用。我在控制台上运行它,只是测试,但无论如何,我很高兴它成功了。