Вот что я пытаюсь сделать -
Отправить запрос GET в этот API https://api.covid19india.org/data.json, который возвращает JSON данные
В моем пользовательском интерфейсе расширения chrome у меня есть кнопка и div
Отображение JSON данных, полученных в div при нажатии кнопки
Код -
манифест. json
{
"manifest_version": 2,
"name": "Custom Google Homepage",
"description": "This extension shows a Google Image search result for the current page",
"version": "1.0",
"browser_action": {
"default_popup": "popup.html",
"default_title": "Click here!"
},
"permissions":[
"tabs",
"https://ajax.googleapis.com/",
"https://api.covid19india.org/*"
],
"content_scripts":[
{
"matches":[
"<all_urls>"
],
"js":["content.js"]
}
]
}
всплывающее окно. html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Hello</title>
<style>
#link
{
width: 70px;
height: 25px;
}
#textt
{
width: 450px;
height: 200px;
}
</style>
</head>
<body>
<button id="link">Extract !</button>
<div id="textt" style="color: red; font-family: 'Courier New', Courier, monospace;"></div>
</body>
<script src="content.js"></script>
</html>
контент. js
fetch('https://api.covid19india.org/data.json').then(r => r.text()).then(result => {
// Result now contains the response text, do what you want...
result = JSON.parse(result)
console.log(result["statewise"])
//alert(JSON.stringify(result["statewise"][0]))
})
document.addEventListener('DOMContentLoaded', function () {
var div = document.getElementById('textt');
var btn = document.getElementById('link');
btn.addEventListener('click', function() {
chrome.tabs.getSelected(null, function(tab){
alert(JSON.stringify(result['statewise'][0]));
});
div.innerHTML += JSON.stringify(result['statewise'][0]);
});
});
Я могу получить данные console.log, полученные от JSON, но при нажатии кнопки ничего не отображается, где я ошибаюсь, пожалуйста, помогите!