Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Идея сайта... Стоит двигацца дальше?! (https://javascript.ru/forum/project/3686-ideya-sajjta-stoit-dvigacca-dalshe.html)

B~Vladi 22.06.2009 10:06

Цитата:

Сообщение от x-yuri
function xWidth(b, a) {
    if (a) {
        if (a > 0) {
            b.style.width = a + "px"
        // !!! к чему эта ветка?
        } else { 
            return 0
        }
    }
...

У меня нет в такой функции return 0. Откуда это?!

Цитата:

Сообщение от x-yuri
function divButton(d, b, c, a, g) {
    // !!! к чему это? Логика, кстати, замечательная ;)
    b = (b == "a") ? ((navigator.userAgent.indexOf("MSIE 6") >= 0) ? "a": "div") : "div";
...

В кратце... Это если мы просим создать узел, на который должен быть :hover, для ИЕ6 генерим тег а, для остальных div. Если просим див - получим див. Вот такая логика борьбы с ховером.

Цитата:

Сообщение от x-yuri
function sendRequest(d, e, c, a, b) {
...
    // !!! ты что, xml отправляешь?
    d.request.setRequestHeader("Content-Type", "text/xml; charset=utf-8");

Возможно, в будущем... Здесь пока важна кодировка.

B~Vladi 22.06.2009 10:58

Цитата:

Сообщение от x-yuri
дай исходники с серверной частью, чтобы у себя можно было запустить.

Можешь пользоваться такой логикой:
$patchReg='#^[0-9]+$#';
$nameReg='#^[a-z0-9_\-]+$#i';
if($_GET['file']=='xml' && preg_match($patchReg,$_GET['patch'])){
	header('Content-type: text/xml; charset=utf-8');
	file_get_contents($_GET['patch'].'.xml');
}else if($_GET['file']=='xsl' && preg_match($nameReg,$_GET['name'])){
	header('Content-type: text/xml; charset=utf-8');
	echo file_get_contents($_GET['name'].'.xsl');
}else{
	# Отдаём index.php, то что ты видишь в View Source
}

x-yuri 22.06.2009 16:58

Цитата:

У меня нет в такой функции return 0. Откуда это?!
с твоего сайта (откуда же еще), после jsbeautifier.org

Цитата:

В кратце... Это если мы просим создать узел, на который должен быть :hover, для ИЕ6 генерим тег а, для остальных div. Если просим див - получим див. Вот такая логика борьбы с ховером.
и зачем тогда этот параметр вообще? Для ie 6 создаем a, для остальных - div

Цитата:

Возможно, в будущем... Здесь пока важна кодировка.
1) Content-Type касается только тела запроса, т.е. актуален только для метода POST
2) file=xml&patch=0 это application/x-www-form-urlencoded
3) в каких браузерах кодировка в Content-Type на что-то влияет (хотя бы для метода POST)?

B~Vladi 22.06.2009 17:29

Цитата:

Сообщение от x-yuri
с твоего сайта (откуда же еще), после jsbeautifier.org

Вот моя функция
function xWidth(e,w){
	if(w){if(w>0) e.style.width=w+'px'; else return 0}
	if(xNum(e.style.width)) return parseInt(e.style.width);
	return e.offsetWidth;
}


Цитата:

Сообщение от x-yuri
и зачем тогда этот параметр вообще? Для ie 6 создаем a, для остальных - div

Читай внимательнее
Цитата:

Сообщение от x-yuri
если мы просим создать узел, на который должен быть :hover

Не для всех создаваемых узлов подходит тег а...
Цитата:

Сообщение от x-yuri
1) Content-Type касается только тела запроса, т.е. актуален только для метода POST
2) file=xml&patch=0 это application/x-www-form-urlencoded
3) в каких браузерах кодировка в Content-Type на что-то влияет (хотя бы для метода POST)?

ОК, ок... заменю...

x-yuri 22.06.2009 23:14

Цитата:

У меня нет в такой функции return 0. Откуда это?!
Цитата:

Вот моя функция
if(w){if(w>0) e.style.width=w+'px'; else return 0}

ты себе противоречишь: есть. Но зачем?

divButton:
1) я бы передавал "div" вместо "b" как название тэга, на двух символах ты ничего толком не сэкономишь
2) вообще необходимость в этой функции сомнительна, разве что для div'ов с hover. Если нужно создать много тэгов можно использовать innerHTML

Цитата:

ОК, ок... заменю...
Content-Type нужен для POST, а кодировку указывать не нужно, передача производится в utf-8 (разве что, если ты собираешься вручную закодировать тело запроса в нужной кодировке)

B~Vladi 23.06.2009 09:52

Цитата:

Сообщение от x-yuri
if(w){if(w>0) e.style.width=w+'px'; else return 0}

Ой сори, точно есть... Я точно не помню, но скорей всего, это если мы передадим <0, чтоб в ответе пришел 0. Ширина ведь не может быть меньше нуля. Вобщем нада это.
Цитата:

Сообщение от x-yuri
Content-Type нужен для POST

дк, в будущем скорей всего я и буду передовать постом именно xml.
Цитата:

Сообщение от x-yuri
а кодировку указывать не нужно, передача производится в utf-8 (разве что, если ты собираешься вручную закодировать тело запроса в нужной кодировке)

Пусь будет. Плохо от этого не станет...

Kolyaj 23.06.2009 10:01

Цитата:

Сообщение от B~Vladi
Ой сори, точно есть...

Ну вот, уже сам в своих скриптах разобраться не может, зато байты экономятся. Первый звоночек к переходу на нормальное форматирование скриптов :)

B~Vladi 23.06.2009 10:03

Цитата:

Сообщение от Kolyaj
Ну вот, уже сам в своих скриптах разобраться не может, зато байты экономятся. Первый звоночек к переходу на нормальное форматирование скриптов

По твоему else return 0 лишнее?!

Kolyaj 23.06.2009 10:04

По-моему, два if'а в одной строке -- лишнее. Я же про оформление говорю, а не про реализацию.

B~Vladi 23.06.2009 10:12

ой блин... чёт йа ступил... а так норм будет?

if(w)e.style.width=(w>=0)?w+'px':0;

B~Vladi 23.06.2009 10:25

Ещё мзминил строку
b = (b == "a") ? ((navigator.userAgent.indexOf("MSIE 6") >= 0) ? "a": "div") : "div";


на

if(tag=='a'&&!navigator.userAgent.indexOf('MSIE 6')>=0)tag='div';

B~Vladi 23.06.2009 10:33

нет... на эту
if(tag=='a'&&navigator.userAgent.indexOf('MSIE 6')==-1)tag='div';

Думаю, так правильнее стало...

Kolyaj 23.06.2009 10:36

Цитата:

Сообщение от B~Vladi
а так норм будет?

Норм будет
if (w)
    e.style.width = (w >= 0) ? w + 'px' : 0;
Или даже
if (w)
    e.style.width = (w >= 0 ? w : 0) + 'px';

По совсем хорошему от фигурных скобок не стоит отказываться, но это уже на любителя.

B~Vladi 23.06.2009 11:04

Ну к 0 не обязательно ед. прикручивать, так что остановимся на первом варианте.

B~Vladi 23.06.2009 11:14

Kolyaj, удалось запустить скрипт?!

Kolyaj 23.06.2009 11:16

Который?

B~Vladi 23.06.2009 11:26

ы епт перепутал тя с x-yuri:-?

x-yuri 23.06.2009 12:17

Цитата:

Я точно не помню, но скорей всего, это если мы передадим <0, чтоб в ответе пришел 0. Ширина ведь не может быть меньше нуля. Вобщем нада это.
а почему в 0 установить нельзя? Это ж у тебя универсальная функция - не должна быть ориентирована на то, что где-то в определенном месте кода нужно так

Цитата:

дк, в будущем скорей всего я и буду передовать постом именно xml
потому что xml - это true? Не стоит кидаться в крайности

B~Vladi 23.06.2009 12:49

Цитата:

Сообщение от x-yuri
а почему в 0 установить нельзя? Это ж у тебя универсальная функция - не должна быть ориентирована на то, что где-то в определенном месте кода нужно так

ф-ция переписана уже
Цитата:

Сообщение от x-yuri
потому что xml - это true

А разве не так?! Лично мне оооочень удобно рабатать с такими данными и на серваке и на клиенте. И вапсче xml признан самым лучшим форматом "передачи данных".

Kolyaj 23.06.2009 12:54

Цитата:

Сообщение от B~Vladi
А разве не так?

От задачи зависит. В JavaScript'е JSON -- больший true.

Цитата:

Сообщение от B~Vladi
И вапсче xml признан самым лучшим форматом "передачи данных".

Кем?

x-yuri 23.06.2009 12:56

не бывает лучших форматов. JSON эффективнее/проще XML (например, для php <-> javascript), а вот какие преимущества у XML

B~Vladi 23.06.2009 13:24

Цитата:

Сообщение от Kolyaj
От задачи зависит. В JavaScript'е JSON -- больший true.

В топку JSON и остальную херь
Цитата:

Сообщение от Kolyaj
Кем?

w3c

B~Vladi 23.06.2009 13:26

Цитата:

Сообщение от x-yuri
а вот какие преимущества у XML

Вероятность того, что в будущем xml будет основным форматом передачи данных намного выше, чем какой-то JSON. Пример - HTML5 это по-сути и есть xml. так что...

Kolyaj 23.06.2009 13:28

Цитата:

Сообщение от B~Vladi
В топку JSON и остальную херь

А обоснование есть? Ну кроме того, что json на стороне клиента парсится на порядок проще и быстрее.

Для справки: объект XMLHttpRequest имеет в своем имени XML вовсе не потому, что предназначается для передачи XML, а всего лишь ребята из Mircosoft хотели протолкнуть в году так 2000 эту технологию внутри Microsoft же, а XML тогда был дико популярен.

Kolyaj 23.06.2009 13:32

Цитата:

Сообщение от B~Vladi
Пример - HTML5 это по-сути и есть xml

Это откуда такое странное заблуждение? http://www.w3.org/TR/html5/semantics...the-br-element XML-парсер подломится на таких примерах.

B~Vladi 23.06.2009 13:35

Цитата:

Сообщение от Kolyaj
А обоснование есть?

Это имхо, какие обоснования нужны?!
Цитата:

Сообщение от Kolyaj
Для справки: объект XMLHttpRequest имеет в своем имени XML вовсе не потому, что предназначается для передачи XML

:blink: ну вот... ты разрушил все мои представления.
По-моему ты пишешь глупости. Объекта XMLHttpRequest в ИЕ вообще нет, если что. Но и ActiveX и XMLHttpRequest возвращают именно xml и JS воспринимает это соответственно. Конечно, можно получить и просто текст, а потом парсить, но это уже извращение. Да, и XMLHttpRequest был придуман именно для XML.

B~Vladi 23.06.2009 13:36

Цитата:

Сообщение от Kolyaj
Это откуда такое странное заблуждение? http://www.w3.org/TR/html5/semantics...the-br-element XML-парсер подломится на таких примерах.

Я же не грю, что это чистый XML. Я грю, что всё сводицца к этому... Свои теги, свои атрибуты...

x-yuri 23.06.2009 13:49

Цитата:

В топку JSON и остальную херь
а мне вот про w3c такое сказать хочется, особенно когда html5 не появился, а был xhtml. Увлеклись они, имхо

Цитата:

Пример - HTML5 это по-сути и есть xml
ты хотел сказать xhtml и есть по сути xml

Цитата:

Я же не грю, что это чистый XML. Я грю, что всё сводицца к этому
xhtml ближе к xml. Внимание вопрос: почему появился html5?

Цитата:

Объекта XMLHttpRequest в ИЕ вообще нет, если что
придираешься

Цитата:

Конечно, можно получить и просто текст, а потом парсить, но это уже извращение
зачем парсить? Можно передать html-разметку, а можно просто данные (json) и ничего парсить не нужно

Kolyaj 23.06.2009 13:53

Цитата:

Сообщение от B~Vladi
Объекта XMLHttpRequest в ИЕ вообще нет, если что.

Но впервые реализован он был именно в ИЕ5, если что. Хоть и в качестве ActiveX.

Цитата:

Сообщение от B~Vladi
Да, и XMLHttpRequest был придуман именно для XML.

http://archives.maillist.ru/13159/514403.html
Цитата:

Я понял, что MSXML-библиотека добавлена в IE, и, имея некоторые хорошие контакты вне группы XML, которые, могли бы помочь - пообщался с Джином Паоли, который управлял командой XML, и мы довольно быстро достигли соглашения, чтобы подключить XMLHTTP как часть библиотеки MSXML. Это есть объяснение тому, откуда произошло название "XMLHTTP" - объект главным образом работает с HTTP и не имеет с XML особой связи. Но для наиболее лёгкого оправдания того, почему объект включается в эту библиотеку, мне пришлось впихнуть в название его слово "XML" (к тому же, XML был раскрученной технологией и казался хорошим маркетинговым подспорьем для объекта).
Он конечно создавался с учетом XML, но никак не специально под него.

B~Vladi 23.06.2009 13:57

Цитата:

Сообщение от x-yuri
ты хотел сказать xhtml и есть по сути xml

Цитата:

Сообщение от x-yuri
xhtml ближе к xml.

Я сам уже запутался еп где html, а где xhtml...
Цитата:

Сообщение от x-yuri
Внимание вопрос: почему появился html5?

Ответ
Цитата:

Сообщение от x-yuri
Увлеклись они, имхо

Цитата:

Сообщение от x-yuri
зачем парсить? Можно передать html-разметку, а можно просто данные (json) и ничего парсить не нужно

не суть
Цитата:

Сообщение от x-yuri
придираешься

может быть...

B~Vladi 23.06.2009 14:00

Цитата:

Сообщение от Kolyaj
Он конечно создавался с учетом XML, но никак не специально под него.

Вот мудаки...

e1f 23.06.2009 16:12

Кто мудаки? XMLHttpRequest -- способ передачи данных. Не XML, не JSON/JSONP, не script, а просто данных. Обычного текста. А что с ним дальше произойдет, как вы его интерпретируете -- это уже ну никак не проблема XMLHttpRequest. Захотели интерпретировать данные с сервера как json -- хорошо, как xml -- тоже неплохо.

B~Vladi 23.06.2009 16:53

Цитата:

Сообщение от e1f
Кто мудаки?

Microsoft (R)

Kolyaj 23.06.2009 16:54

Они начало современному динамическому вебу положили, а теперь мудаки :)

x-yuri 23.06.2009 16:55

непонятно, просто какие плюсы у xml
я только для серверной части нашел: можно передавать большие объемы (импорт), но не загружать весь файл в память (есть такие парсеры)

B~Vladi 23.06.2009 17:13

Цитата:

Сообщение от Kolyaj
Они начало современному динамическому вебу положили, а теперь мудаки

Это судьба такая у них;)
Цитата:

Сообщение от x-yuri
непонятно, просто какие плюсы у xml

Плюсов много... Можно из одного xml создать разный контент... Слыхали про xsl?! вот это сила... одним словом - расширяемость. А с JSONом попробуй контент сгенерить разный?! придёцца для каждого случая отдельный JS-код писать, который будет намного больше xsl. А вообще смотреть по-ситуации нада... Нет идеального решения...

B~Vladi 23.06.2009 17:14

Цитата:

Сообщение от B~Vladi
Они начало современному динамическому вебу положили, а теперь мудаки

И, кстати, это не так... DHTML не они создали, а просто переняли от Netscape.

Kolyaj 23.06.2009 17:19

Цитата:

Сообщение от B~Vladi
Это судьба такая у них

Это не мешает им зарабатывать миллиарды ;)

Цитата:

Сообщение от B~Vladi
Слыхали про xsl?

Ты же вроде за скорость.

Цитата:

Сообщение от B~Vladi
придёцца для каждого случая отдельный JS-код писать

А XSL-шаблон для всех случаев одинаковый чтоли?

Цитата:

Сообщение от B~Vladi
А вообще смотреть по-ситуации нада

А ситуация на нашем форуме -- JavaScript, в которой (ситуации) по всем пунктам выигрывает JSON.

Цитата:

Сообщение от B~Vladi
DHTML не они создали

Я ж написал современному, т.е. все эти гребанные AJAX-сайты :)

x-yuri 23.06.2009 17:20

Цитата:

Плюсов много... Можно из одного xml создать разный контент... Слыхали про xsl?! вот это сила... одним словом - расширяемость. А с JSONом попробуй контент сгенерить разный?! придёцца для каждого случая отдельный JS-код писать, который будет намного больше xsl.
почему намного больше, есть такая штука как innerHTML, всячески советую :yes:

B~Vladi 23.06.2009 17:29

Цитата:

Сообщение от Kolyaj
Ты же вроде за скорость.

Работает быстро...
Цитата:

Сообщение от Kolyaj
А XSL-шаблон для всех случаев одинаковый чтоли?

И код и шаблон разные, но кода больше нада...
Цитата:

Сообщение от Kolyaj
А ситуация на нашем форуме -- JavaScript, в которой (ситуации) по всем пунктам выигрывает JSON.

ок
Цитата:

Сообщение от Kolyaj
Я ж написал современному, т.е. все эти гребанные AJAX-сайты

аха... хоть что-то они САМИ придумали... За это я сегодня выпью пива;)
Цитата:

Сообщение от x-yuri
почему намного больше, есть такая штука как innerHTML, всячески советую

В случае с моим сайтом, innerHTML никак не канает... так что это нада там, где ну очень много кода есть готового... тогда да... и работает быстрее...
Кста, при правильном использовании XSL может сильно уменьшить трафик..


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