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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2009, 14:00   #1
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию Копирование текста из div

Есть такая страница
Вопросы:
  1. Поскольку копирование в буфер поддерживается не всеми браузерами, то я хотел бы код выводить в окно, чтобы пользователь мог сам его скопировать. Сейчас код выводится с помощью alert, но это не очень удобно. Как динамически создать окошко и в него затолкать текст?
  2. Как получить содержимое div в Safari?
  3. Почему в IE отображается криво?
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 15.12.2009, 14:09   #2
spein
Программист
Форумчанин
 
Аватар для spein
 
Регистрация: 27.02.2009
Сообщений: 505
По умолчанию

Покажите то, что у Вас уже есть.
there are no limits when you're software engineer
spein вне форума Ответить с цитированием
Старый 15.12.2009, 14:14   #3
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Так ведь там же скрипт прописан.
http://viter-alex.narod.ru/Docs/copycode/clipboard.js
С Safari уже разобрался. Всё упростил, поскольку выделять мне код не нужно. Но в IE и отображается криво и не работает

Добавлено позже
Готовое решение мне не обязательно, хотя бы направление, куда копать.

Добавлено позже
Да, с alert фокус не пройдёт, маловато текста туда вмещается.

Добавлено позже
Всё получилось:
Код:
function selectCode(a)
{
  // Получаем блок с кодом
  var e = a.parentNode.parentNode.getElementsByClassName('hl')[0];
	// Удаляем номера строк
	var codewithoutnumbers = e.textContent.replace(/^\s*\d{1,}\s/img, "");
	// Создаём окно
	var myWindow = open('','mywin','height=500,width=1000,scrollbars=yes');
	// Заполняем окно кодом
	myWindow.document.writeln("<html><body><pre>" + codewithoutnumbers + "</pre></body></html>");
	myWindow.document.close();
	myWindow.focus();
}
Лучше день потерять — потом за пять минут долететь!©

Последний раз редактировалось viter.alex; 15.12.2009 в 16:53.
viter.alex вне форума Ответить с цитированием
Старый 15.12.2009, 20:41   #4
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Есть готовые решения для практически всех браузеров. В некоторых используется прослойка на Flash для обеспечения копирования.
Попробуйте так же это:
http://bradleysepos.com/projects/jquery/clipboard/
SkyM@n вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование текста из Memo bulkin2000 Компоненты Delphi 3 30.04.2012 14:03
Поиск и копирование текста. paratruper17 Microsoft Office Word 7 14.10.2009 13:53
Копирование текста в файл bookkc Общие вопросы Delphi 2 18.06.2009 23:57
Позиция текста по отношению к картинке в блоке <div>, CSS FINoM HTML и CSS 3 11.06.2009 16:31
Копирование текста столбцами CoDeR Общие вопросы Delphi 5 31.07.2008 19:07