Я пытаюсь сделать почтовый запрос от моего расширения Firefox. Проблема, с которой я сталкиваюсь, заключается в том, что браузер даже не пытается отправить запрос на публикацию при загрузке скрипта для моего расширения.
Чтобы убедиться, что проблема не в самом коде, я создал файл index.html с тегом script и вставил туда свой код, и он работает.
Мой файл сценария расширения (не работает)
console.log('loaded script')
this.addEventListener('keypress', (e) => {
if (e.key === 'a') {
const url = 'my-server-endpoint'
var selectedText = window.getSelection().toString()
var xhttp = new XMLHttpRequest()
xhttp.open('POST', url, true)
xhttp.setRequestHeader('Content-Type', 'text/plain')
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
console.log(JSON.parse(xhttp.response).url)
}
}
xhttp.send(selectedText)
}
})
Мой файл index.html (работает)
<html>
<head>
<meta charset="utf-8">
</head>
Some sample text
<script>
this.addEventListener('keypress', (e) => {
if (e.key === 'a') {
const url = 'my-server-endpoint'
var selectedText = window.getSelection().toString()
var xhttp = new XMLHttpRequest()
xhttp.open('POST', url, true)
xhttp.setRequestHeader('Content-Type', 'text/plain')
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
console.log(JSON.parse(xhttp.response).url)
}
}
xhttp.send(selectedText)
}
})
</script>
</html>
Я ожидаю, что javascript, загружаемый из расширений, должен вести себя так же, как тег script. Я застрял, и вся помощь приветствуется.