2015-03-04 2 views
0

Меня попросили во время интервью написать фрагмент кода, чтобы выделить URL-адрес, если содержание URL-адреса содержит определенное ключевое слово. Я, честно говоря, не знаю, как я могу это сделать с помощью JavaScript ...Как загрузить содержимое страницы по URL-адресу с помощью JavaScript

+0

Вы имеете в виду, если страница с URL-адресом содержит ключевое слово? Или сам URL содержит ключевое слово? – sideroxylon

+0

Сделать вызов Ajax на адрес? Ищите строку в возвращаемом токе? С какой частью вы испытываете трудности? –

+0

Что блокирует мой разум «как загрузить содержимое страницы из URL-адреса с помощью JavaScript» ... никогда не делал этого, я имею в виду, кто это делает? В любом случае, похоже, что это выполнимо. –

ответ

1

Я думаю, что вы можете сначала извлечь контент с помощью ajax, искать ключевое слово, , а затем выделить URL-адрес, если необходимо. Но это приходит с ограничением:

  1. URL, вы хотите, чтобы выделить должен позволить межсайтовый АЯКСУ выборки.
  2. Производительность не будет такой хорошей, так как вам нужно получить каждый URL-адрес, если их много.
  3. Если URL-адрес таргетинга - это рендеринг на стороне клиента, выборка его html просто не увидит контент, так как его пока не отображает.

Обычно мы не будем решать это с использованием подхода front-end, но вместо этого будем использовать метод индексации поисковой системы.

+0

Я согласен с тем, что это не обычная задача, но предположим, что это должно быть, как бы вы это сделали, если есть 1000 URL-адресов? –

+0

Если это так, в виртуальном режиме вы должны посетить все 1000 URL-адресов, чтобы вы могли проверить, есть ли ключевое слово в контенте. Я буду использовать jQuery.ajax (или другой подход ajax), чтобы получить все содержимое. Затем используйте регулярное выражение, чтобы проверить, существует ли ключевое слово. Если это так, добавьте стиль на якорь, чтобы вы могли его стилизовать. Опять же, это будет очень, очень медленно. – SansWord

+0

Это наивный подход, я ищу лучший/более масштабируемый способ –