Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Подскажите символьный паккер, лучше чем base64 (https://javascript.ru/forum/misc/29311-podskazhite-simvolnyjj-pakker-luchshe-chem-base64.html)

Deff 07.07.2012 20:23

Дзен-трансгуманист,
1 - Я привел сокращенную проверку - реально и куки нун проверять на
if(a!=false)
Кто подозревает возможность пустых данных пусть проверяет (хотя можно обрезать такую возможность и при упаковке)
Цитата:

Сообщение от Дзен-трансгуманист
Тут тогда только строгое сравнение или через typeof.

Согласен..

Deff 07.07.2012 20:53

Цитата:

Сообщение от Дзен-трансгуманист
А как ведут себя встроенные функции JS, когда их аргументы правильны по типу, но неправильны по значению?

Х.з как , правильней всего их предварительно тестировать на typeof поскольку если над ними пытацо делать какие - действия обычно вылетает ошибка, лучший из вариантов когда хоть при аlert кажет undefined
Вспоминаю
NAN undefined Date error

Deff 08.07.2012 00:25

Дзен-трансгуманист,
Ни наю: имхо при false - тащимся и смотрим error()
Эт Типовой Вариант для сложно куков и Аякс запросов - а в error() - коды вариантов ошибок, - если сильно нужны .. ток пока не понимаю какие там варианты: - винрар - красным пишет что не может распаковать; ну ещё у него второй вариант есть - неправильный пароль на архив ( но имхо пока думаю не до паролей

Deff 08.07.2012 04:03

Цитата:

Сообщение от Дзен-трансгуманист
мну больше не терзается.

+
Идея такая - если Будете Выкладывать в обще пользование
Может стоит открыть тему с бета версией тут ? => http://javascript.ru/forum/project/
В Данном разделе есть пяток весьма востребованных скриптов(мон глянуть по просмотрам) и раздел достаточно посещаем

Deff 13.07.2012 10:29

Дзен-трансгуманист,
1. В 7й ИЕ сейчас данный кусок не работает
2. Есть Прога(Free) Эмулятор ИE от 5 до 8 версии ietester-v0.4.11.exe(что бы была возможность тестирования версий выше(9-10) данный браузер(9-10) уже должен стоять на машине)
http://www.my-debugbar.com/wiki/IETester/HomePage

Deff 13.07.2012 16:51

Дзен-трансгуманист,
Sorry - cоврал безбожно - суть оказалось что ИЕ с данной странице топика не читает -(поленилсо отдельно)
Сейчас создал отдельную http://hostjs-mybb2011.narod.ru/TestPacker.htm
читает и в тестере и в ИЕ 7 родном

devote 16.07.2012 05:50

Дзен-трансгуманист,
а в чем смысл повтора?
if (!f.e(1)) {
	b.error = "Squeeze header is incomplete";
	break
}
D = 1 == f.a ? j : p;
if (!f.e(1)) {
	b.error = "Squeeze header is incomplete";
	break
}
J = 1 == f.a ? j : p;
слишком много копипаста, такой код обычно называют говнокодом.. без обид


ужс
function W(c, a) {
		var b = {};
		"undefined" == typeof c && B("Expand", "'string' is undefined");
		"string" != typeof c && B("Expand", "bad type of 'string'");
		"undefined" != typeof a ? L("options", a, b) || B("Expand", b.error) : (M = N, O = P);
		r();
		for (var d, g = p;;) {
			if (0 == c.length || 1 == c.length && "0" == c) {
				b.result = "";
				g = j;
				break
			}
			if (!V.m(c, b)) {
				b.error = "Base64: " + b.error;
				break
			}
			var f = new u(b.result);
			d = new w(f);
			if (!f.e(1)) {
				b.error = "Squeeze header is incomplete";
				break
			}
			D = 1 == f.a ? j : p;
			if (!f.e(1)) {
				b.error = "Squeeze header is incomplete";
				break
			}
			J = 1 == f.a ? j : p;
			if (!d.G()) {
				b.error = "Squeeze header is incomplete";
				break
			}
			if (D) {
				if (!S.z(z(f), A(d), b)) {
					b.error = "URF: " + b.error;
					break
				}
				if (!d.e()) {
					b.error = "Data header is incomplete";
					break
				}
				if (J) {
					if (!T.r(d.a + 1, b.n, z(f), b)) {
						b.error = "LZW: " + b.error;
						break
					}
				}
				else {
					var e = d.a + 1,
						h = b.v,
						i = [];
					for (d = 0; d < e; d++) {
						if (!f.e(h)) {
							b.error = "Data is incomplete";
							break
						}
						i.push(f.a)
					}
					if (d != e) break;
					b.result = i
				}
				if (!S.w(b, b.result, b)) {
					b.error = "URF: " + b.error;
					break
				}
			}
			else {
				if (!d.e()) {
					b.error = "Data header is incomplete";
					break
				}
				e = d.a + 1;
				if (J) {
					if (!d.e()) {
						b.error = "Data header is incomplete";
						break
					}
					if (!T.r(d.a + 1, 256, z(f), b)) {
						b.error = "LZW: " + b.error;
						break
					}
					d = 0
				}
				else f.o(), d = f.g, b.result = f.c;
				if (!U.m(b.result, d, e, b)) {
					b.error = "UTF-8: " + b.error;
					break
				}
			}
			g = j;
			break
		}
		t();
		return g ? M(b.result) : O(b.error)
	}

Цитата:

Сообщение от Дзен-трансгуманист
потому что там еще есть вещи, за которые стыдно.

надо не стыдится а выслушивать критику, тогда и качество кода будет улучшатся.

devote 16.07.2012 06:37

Цитата:

Сообщение от Дзен-трансгуманист
Вы, очевидно, никогда им не пользовались, и понятия не имеете, что он вытворяет с кодом.

о да, никогда не юзал.. уж простите.. но что бы он дублировал одну и ту же конструкцию дважды
if (!f.e(1)) {
    b.error = "Squeeze header is incomplete";
    break
}
D = 1 == f.a ? j : p;
if (!f.e(1)) {
    b.error = "Squeeze header is incomplete";
    break
}

это я наверно тоже упустил.

Еще раз повторюсь, критику нужно воспринимать адекватно а не вставать в позу быка.

Deff 16.07.2012 11:42

Дзен-трансгуманист,
Ну пока пробовал только демонструшку - она как бы Вещь в себе - посколь не видно преобразованного текста
хотелось в Демке такого представления http://dean.edwards.name/packer/
Т.е есть в наличии иметь и входной массив и выходной...
Наглядность - Привлекает!

Deff 20.07.2012 22:58

Дзен-трансгуманист,
Туговатый скрипт:
Глобальность и стремление обслужить универсальные востребованности убили скрипт...

Я пел песни - что скрипт интересен для Куков
Cкрипт куков:
<script type="text/javascript">
function setcookie(a,b,c) {if(c){var d = new Date();d.setTime(d.getTime()+c);}if(a && b) document.cookie = a+'='+b+(c ? '; expires='+d.toUTCString() : '');else return false;}
 function getcookie(a) {var b = new RegExp(a+'=([^;]){1,}');var c = b.exec(document.cookie);if(c) c = c[0].split('=');else return false;return c[1] ? c[1] : false;}
</script>


Могу выложить фреймообмен, он раза в 4 длинее, но все одно... как то для короткого путешествия брать здоровенный фреймворк - ну не Айс..
Я пытался это намекать до конечной сборки...

Deff 02.08.2012 04:05

Забавная статья на хаббре => http://habrahabr.ru/post/148901/#habracut


Часовой пояс GMT +3, время: 13:49.