#javascript #python #ajax #python-requests
Вопрос:
Я пытаюсь захватить значок текущей вкладки с помощью API Chrome и отправить его с помощью запроса:
function sendRequest(update, tab){
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function () {
if (this.readyState == 4 amp;amp; this.status == 200) {
console.log(this.responseText);
}
};
icon = "";
url = "";
if (tab.status == 'complete')
icon = tab.favIconUrl;
url = tab.url;
formD = new FormData();
formD.append("url", url);
formD.append("ic_link", icon);
xhttp.open("POST", "Python_server####/send_url");
xhttp.send(formD);
}
Однако URL-адрес избранного всегда либо пуст, либо не определен. Я также попытался получить доступ к ссылке напрямую, document.getElementById("shortcut icon").href
но я не уверен, законно ли это. Есть какие-нибудь идеи?
Ответ №1:
свойство tab.favIconUrl доступно только в том случае, если расширение имеет разрешение вкладки или активной вкладки. Также это пустая строка «» , если вкладка находится в состоянии загрузки
Комментарии:
1. У моего расширения есть разрешения «вкладки» и «Активная вкладка». Как бы я проверил, находится ли вкладка в состоянии загрузки?
2. @Tippitytopkek вы можете добавить разрешения для своего расширения. Чтобы проверить статус загрузки вкладок, вы можете использовать прослушиватель событий chrome.tabs.onUpdated.