Я разрабатываю расширение для Chrome. Я хочу, чтобы функция вызывалась одним нажатием кнопки. Я сделал это, как показано ниже, если я передам его как «createurl()» для функции onclick, он выполнит вызов API, даже если кнопка не нажата. Если функция указана просто как «createurl», тогда запрос API отображается как «отмененный» хромом. Итак, как мне преодолеть эту ошибку?
[Учитывая, что API работает нормально и принимает все запросы]
всплывающее окно.html
~~other neccesary things and~~
<form>
<button class="scrollto">Shorten It</button>
</form>
всплывающее окно.js
document.querySelector(".scrollto").onclick = createurl
function createurl(){
var data = new FormData();
var form = document.querySelector("form");
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === 4) {
myObj = JSON.parse(this.responseText);
}
});
xhr.open("POST", "https://mydomain/api.php");
xhr.send(data);
}
manifest.json
~~other neccesary things and~~
"permissions": [
"*://*/*",
"webNavigation",
"cookies",
"https://mydomain/",
"activeTab"
]