В background.js
я сначала получаю число из другого URL с XMLHttpRequest
и XPath
(это работает), затем присваиваю номер переменной (это тоже работает), а затем я хочу передать это число как BadgeText
и это не удается - вместо числа, которое я получаю только [object Text]
.
Весь код background.js
:
var xhr = new XMLHttpRequest();
xhr.open("GET", "https://app.sistrix.com/app_visindex/__loadModule/lang/de/domain/spiegel.de/source/de/ref/app_controller_efcdc3b3cab713326d8830ac95b499e454ae4e46053a5cc6/_action/_result/_cache//_loadbox/empty/_ajax/1/_module-expire/217287/_controller", true);
xhr.responseType='document';
xhr.send();
xhr.onreadystatechange = function() {
console.log("XHR callback readyState = " + this.readyState);
if (this.readyState == 4) {
function getElementByXpath(path) {
return xhr.response.evaluate(path, xhr.response, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
}
console.log( getElementByXpath("//div[@class='data-mini']/span/span[@class='value']/text()") );
var badgeText = getElementByXpath("//div[@class='data-mini']/span/span[@class='value']/text()");
console.log( badgeText);
chrome.browserAction.setBadgeText({text: String(badgeText)});
console.log( String(badgeText));
}
}
Этот console.log( badgeText);
дает правильный номер вне, но последний console.log( String(badgeText));
дает [object Text]
. Без String
перед переменной badgeText
я получаю ошибку is not a function
.
Как передать числовое содержимое переменной в BadgeText
?