如何在URL满足特定条件(“验证”检查)时启用Safari工具栏按钮扩展?

时间:2014-06-22 04:34:06

标签: javascript safari safari-extension

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

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的新手。

1 个答案:

答案 0 :(得分:1)

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);