问题描述
我正在我的网站上使用Google自定义搜索,如果可能的话,我想使用Javascript修改结果的文字。
这是问题所在。
每个页面的标题具有以下结构:“ SITENAME-页面标题”。我想从搜索结果中删除“ SITENAME-”。
这是我编写的JS代码,但无效:
img_10
有什么建议吗?预先感谢。
已更新(2020-08-27)
这是解决方案,为此我要感谢 mplungjan 和 Andy :
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;
}
}
解决方法
您在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