【发布时间】:2020-08-24 10:38:47
【问题描述】:
我在我的网站上使用 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)
这是解决方案,我要感谢 mplungjan 和 Andy:
Callback = () => {
[...document.querySelectorAll(".gs-title")].forEach(el => {
el.innerHTML = el.innerHTML.replace(/SITENAME - /, "");
});
};
window.__gcse || (window.__gcse = {});
window.__gcse.searchCallbacks = {
web: {
rendered: "Callback",
},
};
【问题讨论】:
-
他们可能会对搜索结果数据的修改设置限制。检查结果是否在 iframe 中?
-
结果以异步JS代码显示。
标签: javascript google-custom-search