Как да извлечете текст с помощта на 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. За по-приет начин за направете това (което дава на потребителя контрол върху това, което се случва след това)   -  person DavidPostill    schedule 29.06.2014
comment
@DavidPostill Ако потребителят има facebook сесия, поддържана в същия браузър, тогава сайтът автоматично познава имейла на потребителя във Facebook (не знам как може да има някакъв oAuth и т.н.). Когато потребителят щракне върху бутон, той показва изскачащ прозорец, който е в вградена рамка, показваща на потребителя неговото име и имейл във Facebook и го моли да потвърди, че иска да влезе в acc. Това, което искам, е това, което вече е тяхно.   -  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
Ако имате нужда от подходящ/чист начин да го направите, може би тази публикация може да ви помогне. Но вашият коментар ми звучи така, сякаш искате да извлечете/изтриете тези данни от изходната страница/html (в този случай); ако е така, покажете ми този фрагмент от html код, където са записани тези данни. - person hex494D49; 29.06.2014
comment
Ако потребителят има facebook сесия, поддържана в същия браузър, тогава сайтът автоматично познава имейла на потребителя във Facebook (не знам как може да има някакъв oAuth и т.н.). Когато потребителят щракне върху бутон, той показва изскачащ прозорец, който е във вградена рамка показване на потребителя на неговото име във Facebook и имейл и молба да потвърди, че иска да влезе в acc. Това, което искам, е това, което вече е негово. - person Anish Sharma; 30.06.2014

Правилният начин да направите това е да помолите потребителите да влязат в сайта ви, използвайки техния акаунт във Facebook.

Вижте Използване на вход във Facebook със съществуващи системи за вход за по-приет начин за това (което дава на потребителя контрол върху това, което се случва след това)

person DavidPostill    schedule 29.06.2014
comment
Ако потребителят има facebook сесия, поддържана в същия браузър, тогава сайтът автоматично познава имейла на потребителя във Facebook (не знам как може да има някакъв oAuth и т.н.). Когато потребителят щракне върху бутон, той показва изскачащ прозорец, който е във вградена рамка показване на потребителя на неговото име във Facebook и имейл и молба да потвърди, че иска да влезе в acc. Това, което искам, е това, което вече е негово. - person Anish Sharma; 30.06.2014