Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.06.2016, 16:11   #1
spirit-ua
Форумчанин
 
Аватар для spirit-ua
 
Регистрация: 04.06.2009
Сообщений: 351
По умолчанию Из iframe в textarea на лету

Всем Привет!

допустим
Код HTML:
<iframe id="t_1" name="t_1"></iframe>
<TEXTAREA id="t_2"></TEXTAREA>
фрейм designMode = "on"

как "на лету" при вводе с клавиатуры сразу дублировать содержимое в textarea?

нужно перехватывать нажатия клавиш в самом iframe, читал что с "чужим" такое невозможно, а со "своим"?

вешал события на сам фрейм, результата НОЛЬ, подскажите
Мне разрешено открывать только одну страницу - about :blank. Сперва было скучно, но потом я втянулся. Теперь у меня там живет 2 виртуальных друга, и я слышу голоса из розетки!
spirit-ua вне форума Ответить с цитированием
Старый 17.06.2016, 16:24   #2
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

А каким образом ты вешал события ?
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Старый 17.06.2016, 16:27   #3
spirit-ua
Форумчанин
 
Аватар для spirit-ua
 
Регистрация: 04.06.2009
Сообщений: 351
По умолчанию

Цитата:
Сообщение от pompiduskus Посмотреть сообщение
А каким образом ты вешал события ?
ну к примеру onclick="bla()"
Код:
function bla() {alert();}
причем
Код:
<iframe onmousemove="alert();">
срабатывает
Мне разрешено открывать только одну страницу - about :blank. Сперва было скучно, но потом я втянулся. Теперь у меня там живет 2 виртуальных друга, и я слышу голоса из розетки!
spirit-ua вне форума Ответить с цитированием
Старый 17.06.2016, 16:35   #4
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

А сами функции при это находились во фрейме или нет ?

Вообще открой консоль, там будет написно,если есть проблемы в js
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Старый 17.06.2016, 16:37   #5
spirit-ua
Форумчанин
 
Аватар для spirit-ua
 
Регистрация: 04.06.2009
Сообщений: 351
По умолчанию

Цитата:
Сообщение от pompiduskus Посмотреть сообщение
А сами функции при это находились во фрейме или нет ?

Вообще открой консоль, там будет написно,если есть проблемы в js
нет
Код:
function bla() {alert();}
находилась в том же файле что и фрейм но выше самого фрейма

причем
Код:
<iframe onkeypress="alert();">
в отличии от onmousemove НЕ РАБОТЕТ
Мне разрешено открывать только одну страницу - about :blank. Сперва было скучно, но потом я втянулся. Теперь у меня там живет 2 виртуальных друга, и я слышу голоса из розетки!

Последний раз редактировалось spirit-ua; 17.06.2016 в 16:40.
spirit-ua вне форума Ответить с цитированием
Старый 17.06.2016, 17:44   #6
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

нужно будетнаписать, тестовый код. Но это я только завтра. Еще не спал. Голова не варит
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Старый 17.06.2016, 21:59   #7
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

События надо вешать не на айфрейм, а на его документ.
Айфрейм - это элемент "твоей" страницы, а его документ - элемент "их" страницы, где и происходят события.

пс. Советую учесть, что изменения в странице происходят не только благодаря нажатиям на клавиши клавиатуры. Скопировать можно средней кнопкой мыши в линуксе, перетаскиванием контента или через контекстное меню по правой кнопке мыши.
Если ты мониторишь textarea, то смотри событие input, если content-editable, то — у dom-а есть событие на изменение контента (сори, ваще из башки вылетело, пьян вссанину)
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 18.06.2016, 22:37   #8
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Полная версия вот тут: http://karumba.site88.net/public/js/iframe/

PHP код:

var mIFrame;        
var 
mIFrame_mTextarea;        
var 
result;        

window.addEventListener('load', function(){

    
mIFrame window.frames[0]; // .contentDocument
    
result document.getElementById("result");
    
mIFrame_mTextarea mIFrame.document.getElementById("IFrame_mTextarea");

    
mIFrame_mTextarea.undo          = function( event ){ foo(event); }
    
mIFrame_mTextarea.onfocus       = function( event ){ foo(event); }
    
mIFrame_mTextarea.onload        = function( event ){ foo(event); }
    
mIFrame_mTextarea.onmouseover   = function( event ){ foo(event); }
    
mIFrame_mTextarea.onmousedown   = function( event ){ foo(event); }
    
mIFrame_mTextarea.onmouseout    = function( event ){ foo(event); }
    
mIFrame_mTextarea.undo          = function( event ){ foo(event); }
    
mIFrame_mTextarea.redo          = function( event ){ foo(event); }
    
mIFrame_mTextarea.onchange      = function( event ){ foo(event); }
    
mIFrame_mTextarea.oncontextmenu = function( event ){ foo(event); }
    
mIFrame_mTextarea.onclick       = function( event ){  }
    
mIFrame_mTextarea.onmousemove   = function( event ){  }

    
mIFrame_mTextarea.onkeyup       = function( event ){
        
proccess_keysevent );
    }

    
mIFrame_mTextarea.onkeydown     = function( event ){
    }

    
//alert( mIFrame_mTextarea.id+" | "+mIFrame_mTextarea.value );

});


var 
res "";
function 
proccess_keys_evt ){


    for( var 
x in eventres += x+"\n";
    
console.logres );

    
res "ctrlKey: "+_evt.ctrlKey+"<br>";
    
res += "shiftKey: "+_evt.shiftKey+"<br>";
    
res += "altKey: "+_evt.altKey+"<br>";
    
res += "altGraphKey: "+_evt.altGraphKey+"<br>";
    
res += "charCode: "+_evt.charCode+"<br>";
    
res += "keyCode: "+_evt.keyCode+"<br>";
    
res += "srcElement: "+_evt.srcElement+"<br>";
    
res += "clipboardData: "+_evt.clipboardData+"<br>";
    
res += "metaKey: "+_evt.metaKey+"<br>";
    
result.innerHTML res;

}

function 
foo_evt ){
    
// pass;

<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Старый 24.06.2016, 09:25   #9
spirit-ua
Форумчанин
 
Аватар для spirit-ua
 
Регистрация: 04.06.2009
Сообщений: 351
По умолчанию

pompiduskus весы наклонил, спасибо!
Мне разрешено открывать только одну страницу - about :blank. Сперва было скучно, но потом я втянулся. Теперь у меня там живет 2 виртуальных друга, и я слышу голоса из розетки!
spirit-ua вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
textarea style Стиль тега textarea jasul PHP 3 19.03.2012 16:49
TStringList на лету Lesha Общие вопросы Delphi 18 12.09.2011 01:36
Каким образом комбинированы textarea и iframe? nowaalex HTML и CSS 0 11.01.2011 01:14
должен подгрузиться скрипт который бы создал и вставил в этот див <iframe></iframe> Beni JavaScript, Ajax 1 05.08.2009 14:30
Создание кнопок на лету gabin Компоненты Delphi 2 11.05.2008 15:30