Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Клик по Iframe 
:(
    Опции темы
SneG0K
Дата 20.8.2010, 05:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: нет
Всего: 54



Как перехватить любой клик по ифрейму?

Это сообщение отредактировал(а) SneG0K - 20.8.2010, 05:42
PM WWW Skype   Вверх
Amphiluke
Дата 20.8.2010, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


   ☽
***


Профиль
Группа: Завсегдатай
Сообщений: 1253
Регистрация: 26.8.2009

Репутация: 35
Всего: 112



Код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
    function iframeClick(e) {
        if (!e) e = iframe.event;
        var sender = (e.target) ? e.target : e.srcElement;
        alert("You have clicked the\n" + sender.nodeName);
    }

    window.onload = function() {
        iframe = document.getElementById("edit");
        if (iframe.contentWindow) iframe = iframe.contentWindow;
        if (iframe.document.addEventListener) {
            iframe.document.addEventListener("click", iframeClick, false)
        } else {
            iframe.document.attachEvent("onclick", iframeClick);
        }
    }
</script>
</head>

<body>
    <iframe src="something.html" name="edit" id="edit" style="width: 100%; height: 350px;"></iframe>
</body>
</html>

Разумеется, документ в iframe с того же домена, что и «родительский»

Добавлено через 6 минут и 24 секунды
А, стоп! Вам именно перехватить с возможностью отмены действия по умолчанию? Тогда для non-IE браузеров последний параметр метода addEventListener должен быть true. Для IE, насколько я помню, потребуется неприятная возня с setCapture() и releaseCapture(). Если нужно, можно будет попробовать…
PM   Вверх
SneG0K
Дата 20.8.2010, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: нет
Всего: 54



А вот проблемка назрела. Есть некий iframe, он хорошо вписывается в дизайн, но иногда внутри ифрейма появляется горизонтальная полоса прокрутки. Мы решили, что при клике по области ифрейма он будет просто растягиваться, а потом по надобности опять сжиматься.
Ифрейм с другого домена.
Вот нужно только перехватить клик по области ифрейма.

Добавлено через 16 секунд
Вот возможно ли как-то такое?
PM WWW Skype   Вверх
bars80080
Дата 20.8.2010, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 15
Всего: 315



Цитата(SneG0K @  20.8.2010,  14:05 Найти цитируемый пост)
Ифрейм с другого домена.

неужели не набили оскомину темы о невозможности считывания параметров и управления внутренними методами между разными доменами?
вы можете контролировать только то, что у вас находится в вашем домене. к примеру, можете поменять ширину iframe и запретить ему показывать скроллинг, но изменять ширину внутренней области не можете.
перехватить клик во фрейме другого домена нельзя, можно перехватить клик по прозрачному слою в своём домене, растянутом поверх этого фрейма. но как я понимаю, такое решение не нужно
PM MAIL WWW   Вверх
Amphiluke
Дата 20.8.2010, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


   ☽
***


Профиль
Группа: Завсегдатай
Сообщений: 1253
Регистрация: 26.8.2009

Репутация: 35
Всего: 112



Цитата(SneG0K @  20.8.2010,  18:05 Найти цитируемый пост)
Ифрейм с другого домена.

Увы. Тут обычный Javascript не помощник. Политика отного источника закрывает доступ к объектам страницы с чужого домена.

Добавлено через 1 минуту и 12 секунд
Цитата(bars80080 @  20.8.2010,  18:22 Найти цитируемый пост)
можно перехватить клик по прозрачному слою в своём домене, растянутом поверх этого фрейма

А разве можно перекрыть iframe?

Добавлено через 5 минут и 29 секунд
А, ну да, можно перекрыть. Я что-то перепутал.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0450 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.