powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Проблемы формирования e-mail JavaScript-ом
5 сообщений из 5, страница 1 из 1
Проблемы формирования e-mail JavaScript-ом
    #35547256
Burm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть задача. Дать посетителям сайта возможность сообщать об ошибках на страницах. То есть, выводим фразу - "увидел ошибку - выдели проблемный текст и нажми Ctrl+Enter". По факту этих манипуляций - должно формироваться мыло.

Сделал реализацию на JavaScript

<script language="JavaScript">

function mailAlert()
{
if (event.ctrlKey == true && event.keyCode == 13) // Ctrl+Enter
{
range = document.selection.createRange();
str1 = "Ошибка на странице : " + document.title + encodeURI("\r\n\r\n");
str = str1 + "URL страницы : " + window.location.href + encodeURI("\r\n\r\n");
str += "Проблемный текст: " + range.text;

reg = /<([^>]*)>/gi;
// reg = /<.*?>/gi;
str = str.replace(reg," ");

reg = /\r/gi;
str = str.replace(reg," ");
reg = /\n/gi;
str = str.replace(reg," ");

reg = /"/gi;
str = str.replace(reg," ");
reg = /'/gi;
str = str.replace(reg," ");

reg = / /gi;
str = str.replace(reg," ");
reg = /&/gi;
str = str.replace(reg," ");
reg = /"/gi;
str = str.replace(reg," ");
reg = /</gi;
str = str.replace(reg," ");
reg = />/gi;
str = str.replace(reg," ");
reg = /©/gi;
str = str.replace(reg," ");
reg = /«/gi;
str = str.replace(reg," ");
reg = /»/gi;
str = str.replace(reg," ");
reg = /&/gi;
str = str.replace(reg," ");

parent.location='mailto:news@finam.ru?subject=' + str1 + '&body=' + str; }

// if (navigator.appName == "Netscape") // - для Firefox не работает
// {
// alert (navigator.appName);
// }
}

</script>

<body onkeydown='mailAlert()' >

То есть, убираю тэги, кавычки, спец-символы и прочую гадость. Иногда работает, но глючит на некоторых страницах. Что самое прикольное - все страницы формируются ASP движком по единому шаблону. На проблемных страницах пробовал выделить только один символ. Все равно глючит.

Если кого заинтересует, вот примеры
проблемная страница - http://light.finam.ru/news/article1D0DD/default.asp
нормальная страница - http://light.finam.ru/news/article1D10F/default.asp

Какие будут идеи ? В какую сторону копать ?
...
Рейтинг: 0 / 0
Проблемы формирования e-mail JavaScript-ом
    #35547276
Burm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сорри, машинально скопировал текст JavaScript и не поставил маскирование спец-символов. Исправляюсь

function mailAlert()
{
if (event.ctrlKey == true && event.keyCode == 13) // Ctrl+Enter
{
range = document.selection.createRange();
str1 = "Ошибка на странице : " + document.title + encodeURI("\r\n\r\n");
str = str1 + "URL страницы : " + window.location.href + encodeURI("\r\n\r\n");
str += "Проблемный текст: " + range.text;

reg = /<([^>]*)>/gi;
// reg = /<.*?>/gi;
str = str.replace(reg," ");

reg = /\r/gi;
str = str.replace(reg," ");
reg = /\n/gi;
str = str.replace(reg," ");

reg = /"/gi;
str = str.replace(reg," ");
reg = /'/gi;
str = str.replace(reg," ");

reg = / /gi;
str = str.replace(reg," ");
reg = /&/gi;
str = str.replace(reg," ");
reg = /"/gi;
str = str.replace(reg," ");
reg = /</gi;
str = str.replace(reg," ");
reg = />/gi;
str = str.replace(reg," ");
reg = /©/gi;
str = str.replace(reg," ");
reg = /«/gi;
str = str.replace(reg," ");
reg = /»/gi;
str = str.replace(reg," ");
reg = /&/gi;
str = str.replace(reg," ");

parent.location='mailto:news@finam.ru?subject=' + str1 + '&body=' + str; }
}
...
Рейтинг: 0 / 0
Проблемы формирования e-mail JavaScript-ом
    #35547371
Burm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кажется разобрался. Исключая JavaScript-ом спец-символы из выделенного текста, я совсем забыл про document.title.

Сдублировал str = str.replace(reg," "); строками str1 = str1.replace(reg," ");

Помогло. А вот победить движок форума и поставить по человечески & a m p ; q i o t ; - не удалось :-(
...
Рейтинг: 0 / 0
Проблемы формирования e-mail JavaScript-ом
    #35547565
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Читай правила и оформляй вопросы, как положено.
...
Рейтинг: 0 / 0
Проблемы формирования e-mail JavaScript-ом
    #35547656
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВ какую сторону копать ?Ставлю пять шкур мамонтов, что ты уперся в ограничение на длину урла (около 4000 символов). mailto: это таки тоже урл. На "проблемной" странице короткий отрывок текста влетает в аутглюк без шума и пыли. А на "безпроблемной" можно с ними познакомиться, жамкнув ctrl+a, ибо мало букав.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Проблемы формирования e-mail JavaScript-ом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]