如何在URL满足某些条件时才启用Safari工具栏按钮扩展('validate'检查)

How do I only enable a Safari toolbar button extension when the URL meets certain criteria ('validate' check)?

本文关键字:扩展 按钮 工具栏 检查 Safari validate 启用 满足 URL 条件      更新时间:2023-09-26

我有一个Safari扩展,在工具栏中放置一个简单的按钮。它现在工作得很好,但我想以这种方式处理'validate'事件:

1. Button is grey/disabled
2. Listen for 'validate' event (already done)
3. Check URL to see if last four letters are .gif (can implement)
4. Enable button

我在一个Global.html文件工作,我是新的JS和Safari。

在您的validate事件处理程序中,事件的target属性将引用发出该事件的UI元素——在您的示例中是工具栏按钮。工具栏按钮(SafariExtensionToolbarItem的实例)具有disabled属性,您可以将其设置为true或false。

的例子:

safari.application.addEventListener('validate', function (evt) {
    if (evt.command == 'myToolbarItemCommand') {
        // `toolbarButtonShouldBeEnabled` stands for some test
        if (toolbarButtonShouldBeEnabled) {
            evt.target.disabled = false;
        } else {
            evt.target.disabled = true;
        }
    }
}, false);