Как извлечь текст с помощью javascript на стороне клиента

Я хочу разработать скрипт, который будет извлекать определенную информацию со стороны клиента, когда он вводит URL-адрес нашего сайта.

Например: если он вводит URL-адрес www.example.com, код инициирует и извлекает определенную информацию со стороны клиента. Для каждого пользователя она будет разной, например, электронная почта facebook и т. Д.

Поэтому я рассматривал вариант и думал, что это почти невозможно сделать, если у меня нет какого-то кода javascript, который будет выполняться на стороне клиента всякий раз, когда он посещает сайт. Я также смотрю на такие библиотеки, как Jsoup, selenium и т. д., но я думаю, они выполняются только локально, и это не решило мою задачу.

Текст, который я хочу извлечь, находится в iframe и далее в таблицах. Итак, можно ли написать код (javascript или что-то еще), который я включаю в нашу страницу index.php, и он выполняется на клиентском сайте, извлекает информацию и сохраняет результаты в базе?

Сценарий таков: если пользователь уже вошел в Facebook в том же браузере, то, когда он зайдет на мой сайт, он автоматически отобразит его идентификатор электронной почты, связанный с facebook. Итак, я хочу извлечь этот идентификатор электронной почты. Любые предложения?

ИЗМЕНИТЬ-->>

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

var iframe = document.evaluate('//iframe[contains(@src, \"//my.leadpages.net/forms/5620062778032128/5654100301578240/5645914630782976/html/?lp-in-iframe=1\")]',document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).contentDocument;alert(iframe);

Кроме того, если вы можете указать мне, как я могу перейти к фрейму, а затем получить его содержимое через узлы. Iframe не имеет идентификатора, имени и т. д., поэтому я использовал способ xpath. Он обнаруживает фрейм как результат XpathResult, но я не уверен, как чтобы перейти в него, а затем извлечь текст для различных узлов. Это должно быть в Javascript.


person Anish Sharma    schedule 28.06.2014    source источник
comment
@DavidPostill Сценарий таков: если пользователь уже вошел в Facebook в том же браузере, то, когда он зайдет на мой сайт, он автоматически отобразит его идентификатор электронной почты, связанный с facebook. Итак, я хочу извлечь этот идентификатор электронной почты. Есть предложения?   -  person Anish Sharma    schedule 29.06.2014
comment
То есть, если я зайду на ваш сайт, вы автоматически получите мой адрес электронной почты для входа в Facebook? Спасибо, не надо! Правильный способ сделать это — попросить пользователей войти на ваш сайт, используя свою учетную запись facebook. См. Использование входа через Facebook с существующими системами входа, чтобы узнать о сделать это (что дает пользователю контроль над тем, что произойдет дальше)   -  person DavidPostill    schedule 29.06.2014
comment
@DavidPostill Если у пользователя есть сеанс facebook, поддерживаемый в том же браузере, тогда сайт автоматически узнает электронную почту пользователя facebook (я не знаю, как может быть какой-то oAuth и т. д.). Когда пользователь нажимает кнопку, он отображает всплывающее окно, которое находится в iframe показывает пользователю его имя в Facebook и адрес электронной почты и просит его подтвердить, что он хочет войти в учетную запись. Я хочу то, что уже принадлежит им.   -  person Anish Sharma    schedule 30.06.2014
comment
@AnishSharma Вы проверили эту ссылку в предоставленном коде? Вы говорите о facebook, но это не имеет ничего общего с этой ссылкой. Я вижу пустую форму. Однако, если этот iframe уже имеет контент на странице/местоположении, а) зачем вам вводить его на другую страницу/место, б) чтобы получить тот же контент?!   -  person hex494D49    schedule 30.06.2014


Ответы (3)


Я почти уверен, что браузеры не позволят вам получить доступ к содержимому iframe. Кроме того, то, чего вы пытаетесь достичь, кажется мне несколько сомнительным. Почему вы хотите брать данные, которые ваш пользователь не предоставил вам явно?

person megapctr    schedule 28.06.2014
comment
Сценарий таков: если пользователь уже вошел в Facebook в том же браузере, то, когда он зайдет на мой сайт, он автоматически отобразит его идентификатор электронной почты, связанный с facebook. Итак, я хочу извлечь этот идентификатор электронной почты. Любые предложения? - person Anish Sharma; 28.06.2014
comment
@pctr Конечно, я могу получить доступ к содержимому iframe или любой другой части html (исходной страницы). - person hex494D49; 29.06.2014

Что ж, для того, чтобы сделать что-то конкретное и относящееся к каждому пользователю, вам нужно иметь систему членства на стороне вашего сервера; другими словами, ваши пользователи должны быть авторизованы. Это скорее сложная система, чем небольшой фрагмент кода, но в псевдокоде это может выглядеть следующим образом

// on you server side, using PHP, C#, Java ...
if(is_current_user_logged_in(some_user)){
    // at this point you know who's the user so
    // do whatever you need
}
person hex494D49    schedule 28.06.2014
comment
Сценарий таков: если пользователь уже вошел в Facebook в том же браузере, то, когда он зайдет на мой сайт, он автоматически отобразит его идентификатор электронной почты, связанный с facebook. Итак, я хочу извлечь этот идентификатор электронной почты. Любые предложения? - person Anish Sharma; 29.06.2014
comment
Если вам нужен правильный/чистый способ сделать это, возможно, это post может вам помочь. Но ваш комментарий звучит для меня так, как будто вы хотите извлечь/удалить эти данные из исходной страницы/html (в данном случае); если да, покажите мне тот фрагмент html кода, где эти данные записаны. - person hex494D49; 29.06.2014
comment
Если у пользователя есть сеанс facebook, поддерживаемый в том же браузере, тогда сайт автоматически узнает электронную почту пользователя facebook (я не знаю, как может быть какой-то oAuth и т. д.). Когда пользователь нажимает кнопку, он отображает всплывающее окно, которое находится в iframe показывая пользователю его имя в Facebook и адрес электронной почты и прося его подтвердить, что он хочет войти в учетную запись. Я хочу то, что уже принадлежит им. - person Anish Sharma; 30.06.2014

Правильный способ сделать это — попросить пользователей войти на ваш сайт, используя свою учетную запись facebook.

Подробнее см. Использование входа через Facebook с существующими системами входа. это (что дает пользователю контроль над тем, что происходит дальше)

person DavidPostill    schedule 29.06.2014
comment
Если у пользователя есть сеанс facebook, поддерживаемый в том же браузере, тогда сайт автоматически узнает электронную почту пользователя facebook (я не знаю, как может быть какой-то oAuth и т. д.). Когда пользователь нажимает кнопку, он отображает всплывающее окно, которое находится в iframe показывая пользователю его имя в Facebook и адрес электронной почты и прося его подтвердить, что он хочет войти в учетную запись. Я хочу то, что уже принадлежит им. - person Anish Sharma; 30.06.2014