Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как обработать то что в iframe с помощью js/jQuery? / 24 сообщений из 24, страница 1 из 1
24.09.2012, 07:27:50
    #37969269
Shitbox2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обработать то что в iframe с помощью js/jQuery?
Нужно отловить нажатие кнопки в iframe, но она не входит в область видимости скрипта.
DOM в отладчике выглядит следующим образом:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
...
<div>
  <iframe>
    #document
      <html>
        <header></header>
        <body>
          <button id="ogogo"></button>
        </body>
      </html>
  </iframe>
</div>
...


Как это сделать?
...
Рейтинг: 0 / 0
24.09.2012, 10:07:32
    #37969417
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обработать то что в iframe с помощью js/jQuery?
...
Рейтинг: 0 / 0
24.09.2012, 10:36:09
    #37969465
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обработать то что в iframe с помощью js/jQuery?
Shitbox2Нужно отловить нажатие кнопки в iframe...Как это сделать?
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
<!doctype html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>test</title>
		<script>
function onLoad()
{
	var
		frms=document.getElementsByTagName("iframe"),
		ctrl;

	for(var i=0, len=frms.length; i<len; ++i)
		if(ctrl=frms[i].contentWindow.document.getElementById("ogogo"))
		{
			if(ctrl.addEventListener)
				ctrl.addEventListener("click", btnOnClick, false);
			else if(ctrl.attachEvent)
				ctrl.attachEvent("onclick", btnOnClick);
			else
				ctrl.onclick = btnOnClick;
		}
}

function btnOnClick()
{
	if(window.console && console.log)
		console.log("btnOnClick(%o)", arguments);
}
		</script>
	</head>
	<body onload="onLoad()">
		<iframe src="iframe.html"></iframe>
	</body>
</html>
...
Рейтинг: 0 / 0
24.09.2012, 16:50:36
    #37970231
Shitbox2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обработать то что в iframe с помощью js/jQuery?
Не работает никакой из способов. contents() показывает только пустые <html><body></body></html> в самом начале.
Тут дело еще в том, что после загрузки страницы нужных <iframe> еще нет, они потом вставляются аяксом или просто скриптом.
Пробовал onLoad пихать в div, содержащий нужный iframe (который и вставляется аяксом), но тоже не срабатывало
...
Рейтинг: 0 / 0
24.09.2012, 17:04:49
    #37970257
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обработать то что в iframe с помощью js/jQuery?
Shitbox2Тут дело еще в том, что после загрузки страницы нужных <iframe> еще нет http://api.jquery.com/on/
...
Рейтинг: 0 / 0
24.09.2012, 17:11:38
    #37970271
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обработать то что в iframe с помощью js/jQuery?
Shitbox2Тут дело еще в том, что после загрузки страницы нужных <iframe> еще нет, они потом вставляются аяксом или просто скриптом
Ну, дык, повестьесь на эти загрузчики...
Shitbox2Пробовал onLoad пихать в div, содержащий нужный iframe (который и вставляется аяксом), но тоже не срабатывало
у div 'а нЭт события onload
...
Рейтинг: 0 / 0
24.09.2012, 17:14:12
    #37970277
Shitbox2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обработать то что в iframe с помощью js/jQuery?
Загрузку iframe отловил, вставив onload непосредственно в него.
но this функции-обработчика указывает на объект windows c которым ничего не могу делать. Ни $(this).html(), ничего другое не работает
...
Рейтинг: 0 / 0
24.09.2012, 17:20:24
    #37970285
Shitbox2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обработать то что в iframe с помощью js/jQuery?
Если ищу внутри по id выдает NULL, если по тегу, выдает ошибку #<HTMLDocument> has no method 'getElementByTagName'
...
Рейтинг: 0 / 0
24.09.2012, 17:22:52
    #37970289
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обработать то что в iframe с помощью js/jQuery?
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
<!doctype html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>test</title>
		<script>
function onLoad()
{
	var
		frms=document.getElementsByTagName("iframe"),
		ctrl;

	for(var i=0, len=frms.length; i<len; ++i)
		if(ctrl=frms[i].contentWindow.document.getElementById("ogogo"))
		{
			if(ctrl.addEventListener)
				ctrl.addEventListener("click", btnOnClick, false);
			else if(ctrl.attachEvent)
				ctrl.attachEvent("onclick", btnOnClick);
			else
				ctrl.onclick = btnOnClick;
		}
}

function btnOnClick()
{
	if(window.console && console.log)
		console.log("btnOnClick(%o)", arguments);
}
		</script>
	</head>
	<body>
		<iframe src="iframe.html" onload="onLoad()"></iframe>
	</body>
</html>


Все работает...
...
Рейтинг: 0 / 0
24.09.2012, 17:26:02
    #37970295
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обработать то что в iframe с помощью js/jQuery?
P.S. Доступ к содержимому iframe
...
Рейтинг: 0 / 0
24.09.2012, 17:34:03
    #37970313
Shitbox2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обработать то что в iframe с помощью js/jQuery?
Выдает у меня 2 ошибки, если делаю указанным выше способом

Unsafe JavaScript attempt to access frame with URL https://ulogin.ru/panel.html?id=0&display=1&redirect_uri=http%3A%2F%2F***%2Fjs%2Fulogin_xd.html&callback=ucall&providers=vkontakte,odnoklassniki,facebook,twitter&fields=first_name,last_name,photo&optional=photo_big,nickname,sex,bdate,email,phone,city,country&salt=1348427751298&protocol=http&host=***&lang=ru&verify= from frame with URL http://***/users/80/. Domains, protocols and ports must match.
main.js:1371
onLoad main.js:1371
onload /users/80/:10574

Uncaught TypeError: Cannot call method 'getElementById' of undefined main.js:1371
onLoad main.js:1371
onload
...
Рейтинг: 0 / 0
24.09.2012, 17:43:46
    #37970326
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обработать то что в iframe с помощью js/jQuery?
Shitbox2Domains, protocols and ports must match
...
Рейтинг: 0 / 0
24.09.2012, 17:51:37
    #37970334
Shitbox2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обработать то что в iframe с помощью js/jQuery?
Что это значит? Почему, если удаляю цикл с условием getElementById("ogogo") их функции, то ошибок не появляется?
...
Рейтинг: 0 / 0
24.09.2012, 17:53:00
    #37970340
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обработать то что в iframe с помощью js/jQuery?
Shitbox2Что это значит?Домены, протоколы и порты должны совпадать
...
Рейтинг: 0 / 0
24.09.2012, 18:01:23
    #37970357
Shitbox2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обработать то что в iframe с помощью js/jQuery?
Ну это фигня какая-то. Все отлично работало без ошибок, пока не включил обработчик в iframe. Так или иначе работает только с uLogin работает с такими протоколами и портами.
...
Рейтинг: 0 / 0
24.09.2012, 18:06:05
    #37970373
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обработать то что в iframe с помощью js/jQuery?
Shitbox2Все отлично работало без ошибок, пока не включил обработчик в iframeпотому что не былоShitbox2Unsafe JavaScript attempt to access frame
...
Рейтинг: 0 / 0
24.09.2012, 18:15:15
    #37970387
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обработать то что в iframe с помощью js/jQuery?
...
Рейтинг: 0 / 0
24.09.2012, 18:27:13
    #37970392
Shitbox2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обработать то что в iframe с помощью js/jQuery?
Ну, вообще-то да, содержимое с другого сайта подгружается. И что, ничего сделать теперь нельзя, никак его не обработать?
...
Рейтинг: 0 / 0
24.09.2012, 18:29:41
    #37970398
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обработать то что в iframe с помощью js/jQuery?
...
Рейтинг: 0 / 0
24.09.2012, 18:38:39
    #37970408
Shitbox2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обработать то что в iframe с помощью js/jQuery?
Блин, но как-то же люди отлавливают нажатия на кнопки лайков! http://sergeysolodov.com/wordpress/plagin-zaplati-lajkom
Там тоже айфреймы и чужой контент
...
Рейтинг: 0 / 0
24.09.2012, 21:24:58
    #37970551
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обработать то что в iframe с помощью js/jQuery?
Shitbox2Блин, но как-то же люди отлавливают нажатия на кнопки лайков! http://sergeysolodov.com/wordpress/plagin-zaplati-lajkom
Там тоже айфреймы и чужой контент
А ифреймы-то здесь при чём?
...
Рейтинг: 0 / 0
24.09.2012, 21:30:19
    #37970556
Shitbox2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обработать то что в iframe с помощью js/jQuery?
Да, походу там регистрируются нажатия на саму область с ифреймом(
...
Рейтинг: 0 / 0
25.09.2012, 14:53:29
    #37971465
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обработать то что в iframe с помощью js/jQuery?
Shitbox2Нужно отловить нажатие кнопки в iframe, но она не входит в область видимости скрипта.
DOM в отладчике выглядит следующим образом:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
...
<div>
  <iframe>
    #document
      <html>
        <header></header>
        <body>
          <button id="ogogo"></button>
        </body>
      </html>
  </iframe>
</div>
...


Как это сделать?

с помощью CSS!
...
Рейтинг: 0 / 0
27.09.2012, 09:14:54
    #37973875
Ифреймов Вася
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обработать то что в iframe с помощью js/jQuery?
Shitbox2Блин, но как-то же люди отлавливают нажатия на кнопки лайков! http://sergeysolodov.com/wordpress/plagin-zaplati-lajkom
Там тоже айфреймы и чужой контент

В случае с лайками - нажатия лайков никто еще отлавливать не научился - так как они действительно в ифрейме другого домена
Есть два события, на которые можно подписаться, и передать им callback - если используется javascript библиотека фейсбука - это edge.create и edge.remove.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как обработать то что в iframe с помощью js/jQuery? / 24 сообщений из 24, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]