Google 自定义搜索 - 如何修改结果的文本?

Google Custom Search - How to modify results' text?

我在我的网站上使用 Google 自定义搜索,如果可能,我想使用 Javascript 修改结果的文本。

这就是问题所在。

每个页面的标题都具有以下结构:“SITENAME - TITLE OF THE PAGE”。我想从搜索结果的文本中删除“SITENAME - ”。

这是我写的JS代码,但是不行:

var elem = document.getElementById("search"); // Search results wrapper
var y = elem.getElementsByTagName("div");
for (var i=0; i < y.length; i++) {
  str = y[i].className;
   if (str.search("gs-title") != 0 ) {
     var newHTML = y[i].innerHTML;
     newHTML = newHTML.replace("SITENAME - ", "");
     y[i].innerHtml = newHTML;
   }
}

有什么建议吗?提前致谢。

已更新 (2020-08-27)

这是解决方案,为此我要感谢 mplungjanAndy:

Callback = () => {
    [...document.querySelectorAll(".gs-title")].forEach(el => {
        el.innerHTML = el.innerHTML.replace(/SITENAME - /, "");
    });
};

window.__gcse || (window.__gcse = {});

window.__gcse.searchCallbacks = {
    web: {
        rendered: "Callback",
    },
};

你打错了 y[i].innerHtml 它应该是 innerHTML - 这是一个较短的版本

[...document.querySelectorAll("#search div.gs-title")].forEach(div => {
  let html = div.innerHTML;
   console.log(html) // does this actually show sitename?
  div.innerHTML = html.replace(/SITENAME - /g,"");
})

查看 API 提供的回调:https://developers.google.com/custom-search/docs/element#search-time-callbacks