Нажатие кнопки отслеживания внутри фрейма - PullRequest
1 голос
/ 12 мая 2010

Можно ли отследить нажатие кнопки в iFrame, если у меня нет контроля над внешним сайтом или его содержимым?

(очень вымышленный пример), если бы у меня был такой iframe:

<iframe src="http://www.johnny.com/plugins/like.php?href=http%253A%252F%252Fexample.com%252Fpage%252Fto%252Flike&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;font&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>

Ответы [ 3 ]

1 голос
/ 12 мая 2010

Если вы спрашиваете, можете ли вы найти кнопку в DOM HTML, в которой есть ваш iframe, а затем добавить к ней событие onclick, тогда да, если вы обслуживаетесь из того же домена.

 window.parent.getElementById()

будет работать - как и любые другие функции DOM.

Если вы не находитесь в том же домене, то браузер не позволит вам. Это называется межсайтовым скриптингом (XSS) и считается нарушением безопасности.

Если вы находитесь в другом домене, владелец добавил ваш iframe, верно? Если так, сделайте так, чтобы они также добавили в события. Они могут передавать переменные и вызывать вспомогательные функции в вашем iframe. Чтобы они могли передать кнопку, и вы можете добавить к ней событие.

1 голос
/ 12 мая 2010

Ответ: вообще невозможно без какого-либо сотрудничества с удаленным сайтом.
Это связано с тем, что для вашей защиты используется Политика единого происхождения.

Если у вас есть какое-либо сотрудничество, вы можете использовать междоменную передачу сообщений (например, с помощью easyXDM ).

0 голосов
/ 12 мая 2010

Ненадежно во всех браузерах, нет.

Это легко можно было бы квалифицировать как использование межсайтового скриптинга (XSS) и было бы замечено большинством современных браузеров.

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