Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> В чате ява чате не ставится "+", есть чат я не могу там поставить + 
:(
    Опции темы
DeMONiZ
Дата 27.1.2009, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 2.1.2009
Где: Первоуральск

Репутация: нет
Всего: нет



Изменяю:

// Сохраняем стандартную функцию escape()
var escapeOrig = window.escape;

// Переопределяем функцию escape()
window.escape = function(str)
{
  var ret = [];
  // Составляем массив кодов символов, попутно переводим кириллицу
  for (var i = 0; i < str.length; i++)
  {
    var n = str.charCodeAt(i);
    if (typeof trans[n] != 'undefined')
      n = trans[n];
    if (n <= 0xFF)
      ret.push(n);
  }
  return escapeOrig(String.fromCharCode.apply(null, ret));
}

}

---------------------------------------
на:

// Сохраняем стандартную функцию escape()
var encodeURIComponent = window.encodeURIComponent;

// Переопределяем функцию escape()
window.encodeURIComponent = function(str)
{
  var ret = [];
  // Составляем массив кодов символов, попутно переводим кириллицу
  for (var i = 0; i < str.length; i++)
  {
    var n = str.charCodeAt(i);
    if (typeof trans[n] != 'undefined')
      n = trans[n];
    if (n <= 0xFF)
      ret.push(n);
  }
  return encodeURIComponent(String.fromCharCode.apply(null, ret));
}

}
 и ни чего все по старому как были пробелы вместо + там и есть!
PM MAIL WWW   Вверх
An6rey
Дата 27.1.2009, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 13.10.2008

Репутация: 1
Всего: 5



Это обязательно должно работать. Твой код приводит к реккурсии так как window.bb === bb  и функция  encodeURICOmponent просто теряется,
а код приводит к бескнечной реккурсии. Пробуй так:
Код

<script>
var trans = [];
for (var i = 0x410; i <= 0x44F; i++)
  trans[i] = i - 0x350; // А-Яа-я
trans[0x401] = 0xA8;    // Ё
trans[0x451] = 0xB8;    // ё

var encodeURIComponent0 = window.encodeURIComponent;

// Переопределяем функцию escape()
window.encodeURIComponent = function(str)
{
  var ret = [];
  // Составляем массив кодов символов, попутно переводим кириллицу
  for (var i = 0; i < str.length; i++)
  {
    var n = str.charCodeAt(i);
    if (typeof trans[n] != 'undefined')
      n = trans[n];
    if (n <= 0xFF)
      ret.push(n);
  }
  return encodeURIComponent0(String.fromCharCode.apply(null, ret));
}

alert(window.encodeURIComponent===encodeURIComponent)

alert(window.encodeURIComponent('+++'))

alert(encodeURIComponent0('+++'))
</script>


PM MAIL   Вверх
DeMONiZ
Дата 28.1.2009, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 2.1.2009
Где: Первоуральск

Репутация: нет
Всего: нет



всЕ РАВНО НЕ РАБОТАЕТ сообщения я отсылаю на русском они приходят каракулями в другой кодировке если пишк английскими то все ок! а плюс все равно заменяется пробелом!

Добавлено через 1 минуту и 10 секунд
Может кинешь мне в личку свою аську?
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0424 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.