我有一个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的新手。
答案 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);