Javascript 如何使用变量setBadgeText

Javascript 如何使用变量setBadgeText,javascript,google-chrome-extension,Javascript,Google Chrome Extension,在background.js中,我首先使用XMLHttpRequest和XPath从不同的url获取一个数字(这是可行的),然后将该数字分配给一个变量(这也是可行的),然后我想将该数字作为BadgeText传递,但这失败了-而不是我只获取的数字[对象文本] background.js的整个代码是: var xhr = new XMLHttpRequest(); xhr.open("GET", "https://app.sistrix.com/app_visindex/__loadModule/

background.js
中,我首先使用
XMLHttpRequest
XPath
从不同的url获取一个数字(这是可行的),然后将该数字分配给一个变量(这也是可行的),然后我想将该数字作为
BadgeText
传递,但这失败了-而不是我只获取的数字
[对象文本]

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(文本)
给出了正确的数字,但最后一个
console.log(字符串(badgeText))给出
[对象文本]
输出。如果变量
前没有
字符串
,则会出现错误
不是函数


如何将变量的数字内容传递到
BadgeText

变量是DOM文本对象元素

要访问文本,应使用
text

类似于:
badgeText.data
以获取实际值


以下是文档:

应该是badgeText.innerText,但最好使用devtools在代码中设置断点,并在“源代码”面板调试器中检查实际值。或者使用
stringValue
而不是
singleNodeValue
和STRING类型而不是第一个排序的节点类型。您的第二个建议似乎有效:)谢谢!