| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- const statusEl = document.getElementById('status');
- function setStatus(message, type = '') {
- statusEl.textContent = message;
- statusEl.className = type;
- }
- async function sendAction(mode) {
- const [tab] = await chrome.tabs.query({ active: true, currentWindow: true });
- return new Promise((resolve) => {
- chrome.tabs.sendMessage(
- tab.id,
- { type: 'GRAMMAR_ANALYZE', mode },
- (response) => {
- if (chrome.runtime.lastError) {
- setStatus('内容脚本不可用,请刷新页面。', 'error');
- resolve();
- return;
- }
- if (!response) {
- setStatus('没有收到任何响应。', 'error');
- resolve();
- return;
- }
- if (response.error) {
- setStatus(response.error, 'error');
- } else {
- setStatus('已完成高亮。', 'success');
- }
- resolve();
- }
- );
- });
- }
- for (const button of document.querySelectorAll('button[data-mode]')) {
- button.addEventListener('click', async () => {
- const mode = button.dataset.mode;
- setStatus('处理中...', '');
- await sendAction(mode);
- });
- }
|