Spaces:
Runtime error
Runtime error
chrome.action.onClicked.addListener((tab) => { | |
chrome.scripting.executeScript({ | |
target: { tabId: tab.id }, | |
func: getHighlightedText, | |
}, (result) => { | |
if (chrome.runtime.lastError) { | |
console.error(chrome.runtime.lastError.message); | |
return; | |
} | |
if (result.length == 0) { | |
console.error('No result returned by getHighlightedText!'); | |
return; | |
} | |
let text = result[0].result; | |
if (text.length > 0) { | |
getPlausibility(text, tab); | |
} | |
}); | |
}) | |
// this function is executed in the context of the current tab | |
function getHighlightedText() { | |
let text = window.getSelection().toString(); | |
console.log(`Highlighted text: ${text}`); | |
if (text.length == 0) { | |
alert('Please highlight some text first!'); | |
} | |
return text; | |
} | |
// this function is executed in the context of the extension background | |
function getPlausibility(text, tab) { | |
const URL = 'https://qa.cs.washington.edu:8372'; | |
const data = { statement: text }; | |
fetch(URL, { | |
method: 'POST', | |
headers: { | |
'Content-Type': 'application/json', | |
}, | |
body: JSON.stringify(data), | |
}) | |
.then(response => response.json()) | |
.then(output => { | |
chrome.scripting.executeScript({ | |
target: { tabId: tab.id }, | |
func: (statement, score) => { | |
disp_score = Math.round(score * 100); | |
alert(`Statement: ${statement}\nPlausibility: ${disp_score}%`); | |
}, | |
args: [output.statement, output.score_calibrated], | |
}); | |
}) | |
.catch((error) => console.error('Error:', error)); | |
} | |