ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

09.06.2009, 22:28
|
|
Новичок
Регистрация: 28.03.2007
Сообщений: 29
Провел на форуме: 62416
Репутация:
41
|
|
вот токо догнать не могу как содержимое ифрейма достать блин
|
|
|

09.06.2009, 22:33
|
|
Новичок
Регистрация: 28.03.2007
Сообщений: 29
Провел на форуме: 62416
Репутация:
41
|
|
Оо доперло
iframe.contentWindow.document.getElementsByTagName ("body")[0].innerHTML
содержимое поля iframe
|
|
|

09.06.2009, 22:40
|
|
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
Провел на форуме: 3178262
Репутация:
389
|
|
Сообщение от Rednoise
Оо доперло
iframe.contentWindow.document.getElementsByTagName ("body")[0].innerHTML
содержимое поля iframe
iframe.document.body.innerHTML лучше
|
|
|

09.06.2009, 22:46
|
|
Новичок
Регистрация: 28.03.2007
Сообщений: 29
Провел на форуме: 62416
Репутация:
41
|
|
щя попробую
|
|
|

09.06.2009, 22:48
|
|
Новичок
Регистрация: 28.03.2007
Сообщений: 29
Провел на форуме: 62416
Репутация:
41
|
|
не канает, так все содержимое между <body> </body> выбирается
|
|
|

10.06.2009, 00:37
|
|
Новичок
Регистрация: 28.03.2007
Сообщений: 29
Провел на форуме: 62416
Репутация:
41
|
|
итак к чему я пришел Ггг (прошу строго не судить)
на странице составляем форму
Код HTML:
<form action="" method="post">
<-- поле куда будут заноситься данные -->
<input type="hidden" class="edit_able" name="msg" value=" " /><br />
<input type="submit" value="Добавить" />
<-- поле для смайлов -->
<div class="smiles"></div>
теперь сам js
PHP код:
$(document).ready(function()
{
if($('.edit_able').length)
{
var input = $('.edit_able');
// создаем iframe
var iframe = document.createElement("iframe");
// даем ему оформление
iframe.className = 'edit_able';
// вставляем его на страницу
input.after(iframe);
var doc = "<body class='frameBody'>"+input.val()+"</body>";
iframe.contentWindow.document.open();
iframe.contentWindow.document.write(doc);
iframe.contentWindow.document.close();
// включаем редактирование
iframe.contentWindow.document.designMode = "On";
// добавляем на страницу смайлы
var smiles = [')','(','8','atlet','ban','be','blin','bomba'];
var smiles_box='';
for(i=0;i<8;i++) smiles_box += '<img src="img/smiles/'+smiles[i]+'.gif" class="smile" alt=""> ';
$('.smiles').html(smiles_box);
// и теперь при клике на смайл вставляем его в iframe
$('.smile').click(function()
{
iframe.contentWindow.document.execCommand('InsertImage', false, $(this).attr('src'));
})
// теперь 2 раза в секунду заносим содержимое iframe в наше скрытое поле
//смайлы попадают туда ввиде кода
setInterval(function()
{
$('.edit_able').val(iframe.contentWindow.document.getElementsByTagName("body")[0].innerHTML);
},500);
}
});
ну вот вобщем то до чего я докопалсо гг, опера и мозилла воспринимают все адекватно а ослик ИЕ событие клика на картинку не воспринимает...
Последний раз редактировалось Rednoise; 10.06.2009 в 01:02..
|
|
|

10.06.2009, 01:06
|
|
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
Провел на форуме: 3178262
Репутация:
389
|
|
Сообщение от Rednoise
PHP код:
// теперь 2 раза в секунду заносим содержимое iframe в наше скрытое поле
//смайлы попадают туда ввиде кода
setInterval(function()
{
$('.edit_able').val(iframe.contentWindow.document.getElementsByTagName("body")[0].innerHTML);
},500);
Зачем тут использовать Таймер? Добавляй сразу при изменении контента во фрейме
|
|
|

10.06.2009, 01:13
|
|
Новичок
Регистрация: 28.03.2007
Сообщений: 29
Провел на форуме: 62416
Репутация:
41
|
|
ну я просто не стал заморачиваться с обработкой нажатий клавиш и т.д. + я незнаю как определить копипаст
|
|
|

10.06.2009, 02:32
|
|
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
Провел на форуме: 3178262
Репутация:
389
|
|
Сообщение от Rednoise
ну я просто не стал заморачиваться с обработкой нажатий клавиш и т.д. + я незнаю как определить копипаст
Просто убери интервал
PHP код:
... Код ...
// и теперь при клике на смайл вставляем его в iframe
$('.smile').click(function()
{
iframe.contentWindow.document.execCommand('InsertI mage', false, $(this).attr('src'));
})
//смайлы попадают туда ввиде кода
$('.edit_able').val(iframe.contentWindow.document. getElementsByTagName("body")[0].innerHTML);
Сразу будет обновляется при занесении картинки
|
|
|

10.06.2009, 05:33
|
|
Новичок
Регистрация: 28.03.2007
Сообщений: 29
Провел на форуме: 62416
Репутация:
41
|
|
FireFenix, угу счас, ну во первых чтоб уж при клике обновлялось то надо внести эту строку кода в саму функцию клика, а во вторых - как же текст который также будет вводиться? не проблема - отслеживать keydown keypress keyup, остается копипаст - как его отследить?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|