viter_alex
User-
Posts
29 -
Joined
-
Last visited
viter_alex's Achievements
Explorer (1/14)
0
Reputation
-
У меня работает, кроме этого конкретного случая
-
один к одному. У меня знаний не хватает, чтобы что-то там модифицировать. Решение брал готовое, ссылку на которое дал сам автор на этой странице в комменте от 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 /> заменить или удалить?