2014-12-26 2 views
1

Возможно ли, что я могу найти и сравнить некоторые текстовые строки между моим сайтом и кросс-доменом iframe внутри него? Пусть у меня есть:Поиск текста внутри кросс-домена iframe

<html> 
<body> 
<div><p>hello world</p></div> 
<iframe><html><body><div><p>hello world</p></div></body></html> 
</body> 
</html> 

возможно построить находку и сравнить алгоритм, который будет иметь возможность проверить текст на моем сайте и сравнить его с одной внутри Междоменного фрейма? Должен ли я использовать postmessage или есть что-то более простое с точки зрения простого простого поиска и сравнения текста внутри экрана браузера?

+0

postMessage - единственный способ – Quentin

+0

Если вы можете написать какой-то код в iframe, то вы можете запустить событие при загрузке iframe, а затем при прослушивании события из родительского html вы можете проверить значения. – Indra

+0

@ Иndra на самом деле содержание iframe - это моя страница Twitter, и я хочу сравнить некоторый текст твита с моим weebsite. –

ответ

1

Функция Javascript, работающая в одном кадре, не сможет получить доступ к DOM другого фрейма, если домены разные. Ваша потребность иметь тот же метод, загруженный в оба фрейма. Один из способов сделать это может заключаться в том, что вы загружаете функцию поиска/сравнения JS в оба кадра, а затем вызываете ее в одном кадре. Как только ключ находится в текущем кадре, то через postMessage отправьте событие, чтобы вызвать ту же функцию в iframe. Если в iframe также находится тот же ключ, вы можете сделать postMessage родительскому фрейму, чтобы ключ был найден.

Однако если домены одинаковы, то вы можете получить доступ к DOM в качестве фрейма с помощью JQuery, как:

var iframeElementContents = $("#yourIFrame").contents(); 

И теперь вы можете запустить функцию JS на этом элементе.

Смежные вопросы