Как получить то, что пользователи нажимают на странице результатов поисковой системы?

Я создаю реагирующий проект и использую поисковую систему Google, чтобы пользователи могли выполнять поиск в Google на моей странице. Но я не знаю, как получить то, что пользователи нажимают на странице результатов поиска. Ниже мой исходный код:

componentDidMount() {
    const myCallback = function() {
      if (document.readyState === 'complete') {
        google.search.cse.element.render(
          {
            div: 'root',
            tag: 'search',
          });
      } else {
        google.setOnLoadCallback(() => {
          google.search.cse.element.render(
            {
              div: 'root',
              tag: 'search',
            });
        }, true);
      }
    };

    window.__gcse = {
      parsetags: 'explicit',
      callback: myCallback,
    };

    (function() {
      const cx = '015923670062127816633:npuitytcpqy';
      const gcse = document.createElement('script');
      gcse.type = 'text/javascript';
      gcse.async = true;
      gcse.src = `https://cse.google.com/cse.js?cx=${cx}&searchType=image`;
      // gcse.src = `https://www.googleapis.com/customsearch/v1?key=YOUR_API_KEY&cx=${cs}&q=flower&searchType=image&fileType=jpg&imgSize=small&alt=json`;
      const s = document.getElementsByTagName('script')[0];
      s.parentNode.insertBefore(gcse, s);
    }());
    console.log(window.__gcse);
  }

  render() {
    return (<div className="content">
      <div className="gcse-searchbox" resultsUrl="http://www.google.com" newWindow="true" queryParameterName="search" />
    </div>);
  }

Пользователи могут выполнять поиск в окне поиска, и оно отобразит результаты поиска во всплывающем диалоговом окне. Откроется новый тег браузера, если пользователь нажмет один из результатов поиска. Теперь я хочу запретить открывать новую вкладку, вместо этого получать то, на что нажимали пользователи, и что-то делать на моей странице. Например, если пользователи нажимают на изображение, я хотел бы получить ссылку на изображение и отобразить это изображение на моем компоненте. Как я могу реализовать это через реакцию?

1 ответ

Сначала посетите панель управления пользовательским поиском Google. После выбора соответствующей поисковой системы, нажмите на Look and feel. Убедитесь, что выбрана вкладка " Макет ", и выберите макет " Полная ширина" (или, возможно, один из других в зависимости от того, как именно вы хотите, чтобы он выглядел на вашей странице). Наконец, нажмите " Сохранить и получить код" и используйте код, который он предоставляет.

Другие вопросы по тегам