viter_alex
User-
Posts
29 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Store
Everything posted by viter_alex
-
У меня работает, кроме этого конкретного случая
-
один к одному. У меня знаний не хватает, чтобы что-то там модифицировать. Решение брал готовое, ссылку на которое дал сам автор на этой странице в комменте от 9 декабря сего года.
-
Тая я его же и использую
-
ZeroClipboard
-
Я делаю свой блог на blogger'e. Там публикую коды на VB, VBA, VB.net. Прикрутил возможность копирования кода в буфер обмена. В буфер я копирую так: достаю innerHTML, удаляю из него теги <span> и заменяю <br /> на \r\n. Я об этом спрашивал и спасибо, что помогли. Но возникла проблема, например здесь. Код не копируется, потому что возникает ошибка. Firebug скромен: illegal character http://viteralexdebugging.blogspot.com/2009/12/1-with-application.html Line 0 Dragonfly более разговорчив: Syntax error : line 1 of unknown script : Expected token: ')' 0 Then\r sPath = .SelectedItems(1) & \"\\"\r Else: MsgBox \"Вы не выбрали папку. Запустите Т.е. почему-то текст воспринимается как скрипт. Где, в каком месте это возникает, я не смог отловить. В других случаях всё работает Ну а про < и прочее я спросил потому, что поскольку я беру innerHTML, то там эти символы на обычные не заменены, что меня, конечно, не устраивает. Но это я уже решил простой заменой через регэкспы. Там всего-то таких символов три: &, < и > А вот с этой проблемой никак не справлюсь. Опыта у меня никакого нет, поэтому прошу разъяснять подробнее.
-
Пробовал. Не то. Ведь эти параметры только для IE
-
Почему-то не работает горизонтальный скролл в div, хотя overflow выставлен в auto div.hl{ color:#008bff; clear: both; background-color:#374C85; margin: 0px 50px 20px; font-family:'Courier New'; overflow: auto; max-height:500px; white-space:pre; text-indent:0; padding:10px 0px 10px; } Получается так: Chrome: В FF и Opera это выглядит нормально: Ну и естественно, не работает в IE:)
-
неа, не берёт придётся регэкспами долбить Попутно ещё возник вопрос: а функция, которая автоматически заменит < и прочее на соответствующий литерал, существует?
-
Мне нужно вывести строку, в которой, в моём случае, может попасться backslash ("\"). Строка формируется программно, поэтому я не знаю есть ли в ней запрещённые символы. Есть ли функция, которая заменит такие символы на правильные escape-последовательности. Как я понимаю, backslash нужно заменить на двойной
-
Взял и посмотрел. Нашёл всё-таки стиль post, для которого стоял textindent: 10 px, при чём я сам его установил, когда только начинал работу с блогом. Теперь внутри дива отменил и всё стало замечательно.
-
Нет, не используется. Я даже не знаю, что это такое, хотя, судя по названию, заменяет разрывы строк на <br />. Может гугль использует, когда постит запись блога?
-
Собственно я проблему уже решил. Но поясню. Вот div: <div><div class="copylink"><a class="copylink" href="#">Копировать код без номеров строк</a></div><div class="hl"> /*здесь размещается текст кода, отформатированный спанами*/</div> </div> Когда мышь проходит над ссылкой класса copylink, то ссылка связывается с флешем, который занимается копированием текста в буфер. При этом текст div'a я достаю такой конструкцией: this.parentNode.nextSibling.textContent и передаю этот текст флешу. Но гугловский движок, переводы строк делает тегом <br />, вследствие чего, textContent представляет собой одну строку. Решил же я это дело так. Беру из div'a innerHTML, удаляю из него все спаны, заменяю <br /> на \r\n, удаляю номера строк из текста кода и уже этот готовы код отдаю флешу. Работает! function getFreebrCodeString(innerHTMLtocopy){ //удаляем теги <span></span> var htmlfree=innerHTMLtocopy.replace(/(<span[^>]*>)(.*?)(<\/span>)/ig, "$2"); //заменяем <br> на \r\n var brfree=htmlfree.replace(/(.*?)(?:<br(?: \/)?>)(.*?)/ig, "$1\r\n$2"); //удаляем номера строк return brfree.replace(/^\s*\d{1,}\s/img, ""); }
-
Но ведь содержимое я получу, и получаю уже без тегов html-разметку я делаю не вручную, а программой. Выглядит это дело так: <div><div class="codeheader">Преобразование в римскую цифру</div><div class="copylink"><a class="copylink" href="#">Копировать код без номеров строк</a></div><div class="hl"><span class="hl line"> 1 </span><span class="hl kwa">Sub</span> СделатьРимскойЦифрой<span class="hl sym">()</span> <span class="hl line"> 2 </span> <span class="hl kwa">Dim</span> a <span class="hl kwa">As</span> <span class="hl kwb">String</span> <span class="hl line"> 3 </span> <span class="hl kwa">With</span> Selection <span class="hl line"> 4 </span> <span class="hl sym">.</span>MoveLeft Unit<span class="hl sym">:=</span>wdWord<span class="hl sym">,</span> Count<span class="hl sym">:=</span><span class="hl num">1</span><span class="hl sym">,</span> Extend<span class="hl sym">:=</span>wdWord <span class="hl line"> 5 </span> a <span class="hl sym">=</span> <span class="hl kwd">Trim</span><span class="hl sym">(.</span>Text<span class="hl sym">)</span> <span class="hl line"> 6 </span> <span class="hl sym">.</span>Fields<span class="hl sym">.</span>Add Range<span class="hl sym">:=</span>Selection<span class="hl sym">.</span>Range<span class="hl sym">,</span> <span class="hl kwa">Type</span><span class="hl sym">:=</span>wdFieldEmpty<span class="hl sym">,</span> _ <span class="hl line"> 7 </span> divserveFormatting<span class="hl sym">:=</span><span class="hl kwa">False</span><span class="hl sym">,</span> Text<span class="hl sym">:=</span><span class="hl str">"= "</span> <span class="hl sym">+</span> a <span class="hl sym">+</span> <span class="hl str">" \*ROMAN"</span> <span class="hl line"> 8 </span> <span class="hl sym">.</span>MoveLeft Unit<span class="hl sym">:=</span>wdWord<span class="hl sym">,</span> Count<span class="hl sym">:=</span><span class="hl num">1</span><span class="hl sym">,</span> Extend<span class="hl sym">:=</span>wdWord <span class="hl line"> 9 </span> a <span class="hl sym">=</span> <span class="hl kwd">Trim</span><span class="hl sym">(.</span>Text<span class="hl sym">)</span> <span class="hl line"> 10 </span> <span class="hl sym">.</span>TypeText a <span class="hl sym">&</span> <span class="hl str">" "</span> <span class="hl line"> 11 </span> <span class="hl kwa">End With</span> <span class="hl line"> 12 </span><span class="hl kwa">End Sub</span></div> а вот, что получается после вставки: <div><div class="codeheader">Преобразование в римскую цифру</div><div class="copylink"><a class="copylink" href="#">Копировать код без номеров строк</a></div><div class="hl"><span class="hl line"> 1 </span><span class="hl kwa">Sub</span> СделатьРимскойЦифрой<span class="hl sym">()</span><br /><span class="hl line"> 2 </span> <span class="hl kwa">Dim</span> a <span class="hl kwa">As</span> <span class="hl kwb">String</span><br /><span class="hl line"> 3 </span> <span class="hl kwa">With</span> Selection<br /><span class="hl line"> 4 </span> <span class="hl sym">.</span>MoveLeft Unit<span class="hl sym">:=</span>wdWord<span class="hl sym">,</span> Count<span class="hl sym">:=</span><span class="hl num">1</span><span class="hl sym">,</span> Extend<span class="hl sym">:=</span>wdWord<br /><span class="hl line"> 5 </span> a <span class="hl sym">=</span> <span class="hl kwd">Trim</span><span class="hl sym">(.</span>Text<span class="hl sym">)</span><br /><span class="hl line"> 6 </span> <span class="hl sym">.</span>Fields<span class="hl sym">.</span>Add Range<span class="hl sym">:=</span>Selection<span class="hl sym">.</span>Range<span class="hl sym">,</span> <span class="hl kwa">Type</span><span class="hl sym">:=</span>wdFieldEmpty<span class="hl sym">,</span> _<br /><span class="hl line"> 7 </span> divserveFormatting<span class="hl sym">:=</span><span class="hl kwa">False</span><span class="hl sym">,</span> Text<span class="hl sym">:=</span><span class="hl str">"= "</span> <span class="hl sym">+</span> a <span class="hl sym">+</span> <span class="hl str">" \*ROMAN"</span><br /><span class="hl line"> 8 </span> <span class="hl sym">.</span>MoveLeft Unit<span class="hl sym">:=</span>wdWord<span class="hl sym">,</span> Count<span class="hl sym">:=</span><span class="hl num">1</span><span class="hl sym">,</span> Extend<span class="hl sym">:=</span>wdWord<br /><span class="hl line"> 9 </span> a <span class="hl sym">=</span> <span class="hl kwd">Trim</span><span class="hl sym">(.</span>Text<span class="hl sym">)</span><br /><span class="hl line"> 10 </span> <span class="hl sym">.</span>TypeText a <span class="hl sym">&</span> <span class="hl str">" "</span><br /><span class="hl line"> 11 </span> <span class="hl kwa">End With</span><br /><span class="hl line"> 12 </span><span class="hl kwa">End Sub</span><br /></div></div> получаю я содержимое div класса "hl"
-
Дело не в тегах. Я спокойно получаю текст через textContent. Как быть с новыми строками?
-
При создании поста в этом блоге многострочный текст в коде программ разбивается на строки тегом <br />, но если мне нужно текст кода скопировать (через свойство textContent соответствующего div'а), то получаю одну строку, т.е. тег <br /> просто удаляется. Как быть? Можно, конечно, регэкспами определять, где там может быть перевод строки и вставлять, но это просто жуть. Можно ли как-то эти теги <br /> заменить или удалить?
-
пишет единичку, т.е., как я понял, ELEMENT_NODE. И для nextSibling и для parentNode Дело в свойстве textContent, потому что я innerHTML работает. Как текст получить?
-
Действительно. Только я не убрал их, а пересохранил файл в UTF-8. В жизни бы не подумал, что дело в комментариях! Я подумал, что каждый может открыть и посмотреть. Зачем же я ссылки даю? Так, с этим разобрались. Спасибо. А не подскажите, почему первая строка в кодовом блоке смещена? И ещё. Когда мышка проходит над ссылкой «Копировать код без номеров строк», то я скриптом получаю текст кода: this.parentNode.nextSibling.textContent.replace(/^\s*\d{1,}\s/img, "") И опять IE пишет, что объект null. Подозреваю,что это связано с его пониманием DOM, но как исправить не знаю. this, в данном случае, это ссылка, parentNode даёт мне div, в котором она лежит, а nextSibling — div с текстом кода. Как это описать для IE?
-
У меня стиль не h1 (один), а hl (эйч-эль), он никакого отношения к заголовкам не имеет
-
Я делаю оформление для своего блога. В разделе <head> указал внешний файл стилей: <link href='http://viter-alex.narod.ru/Scripts/copycode/styles.css' rel='stylesheet' type='text/css'/> Отображается нормально в Opera 10.10, Chrome 3.0.195.38, FF 3.5.5. Но в IE7 всё оформление пропадает: почему-то не видит стиль div.hl и некоторые другие. Может я в файле css что-то не так указал? Да, чуть не забыл, те же самые стили, но вложенные, распознаются отлично, например здесь
-
Код оформляю не я, а программа. Она делает все через span. Как-то можно это обойти? В смысле не в программе, а стилями?
-
Есть такое описание стиля: .hl.line{ color:#888888; border-right: 1px solid white; padding:1px; margin-right:5px; } Нужен он для форматирования номеров строк на этой странице Мне нужна сплошная линия, которая отделяет номера от кода, а получается пунктирная. Что изменить, чтобы не было этого разрыва между строками. Весь код помещен в div
-
Ну, ты — шаман. Спасибо. Нашел. Будем пробовать. Попробовал вариант отсюда. В Опере работает, не копирует, но скрипт выводит сообщение. что работа с буфером не поддерживается. А IE — не работает, хотя написано, что только в нем и будет работать. Такой вот нонсенс. В связи с этими проблемами еще один вопрос народился: сохранить в файл текст <div> можно?
-
Не знаю, надо пробовать. Давай линк.
-
Не знаешь ответ, зачем постить? Сформулируй грамотный запрос к Google, а я поищу по нему . Тут просто слишком много тем для меня нужно задействовать: и JS. и CSS и все это как-то связать. Это сложно для меня. Но сделать хочется!
-
У меня есть блок, ограниченный тегом <DIV> с определенным классом. Можно ли создать кнопку, которая бы копировала текст внутри этого блока в буфер? Желательно готовый код, или ссылку где его взять. Не сочтите за наглость.