繁体   English   中英

Google自定义搜索引擎结果页上的缩略图alt属性

[英]Thumbnail Image alt Attributes on Google Custom Search Engine Results Page

通过一些辅助功能测试,发现GCSE结果显示的缩略图图像没有alt属性。 看来我必须使用javascript来添加此属性,但是在执行此操作时,我感到很脏。

我知道通过以下方式触发回调函数:

window.__gcse = {
  callback: myCallback
};

而且我能够触发一个函数,但是我似乎不得不使用setTimeout()函数来确保图像在那里。 我试过同时使用jQuery load()和on。('load',fn ...),但似乎都没有完成添加属性的工作。 但是,使用setTimeout给搜索结果一些时间来生成确实可以,但是我担心这是一个肮脏的hack。

// add some alt tags after google custom search has loaded results
function myCallback() {
  setTimeout(function() {jQuery('.gs-image').attr('alt','Article Thumbnail');}, 500); // empty string better than generic text
  setTimeout(function() {jQuery("img.gsc-branding-img").attr('alt','Google');}, 500);
  setTimeout(function() {jQuery(".gsc-search-button-v2").attr('alt','Search');}, 500);
}

有任何想法吗?

我已经能够为放大镜搜索按钮添加可替代性文本,但是到目前为止,我还不能为Google品牌形象添加它。 我从https://productforums.google.com/forum/?hl=zh_CN!topic/customsearch/Owey1Sj6oB8;context-place=forum/customsearch获得这个想法

(请确保将000000000000000000000:aaaaaaaaa替换为您自己的Google自定义搜索引擎ID。)

<script>var myCallback = function() {   
document.getElementsByClassName('gsc-search-button gsc-search-button-v2')[0].alt = "Search Icon"; }; 
window.__gcse = {   callback: myCallback };   
  (function() {
    var cx = '000000000000000000000:aaaaaaaaa';
    var gcse = document.createElement('script');
    gcse.type = 'text/javascript';
    gcse.async = true;
    gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
        '//cse.google.com/cse.js?cx=' + cx;
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(gcse, s);
  })();
</script>
<gcse:search linktarget="_parent"></gcse:search>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM