Jump to content

Скрипт не работает в Opera


ser-yoga
 Share

Recommended Posts

Дело-то не в валидности (x)html-кода, а в валидности продукта (ведь сайт - это тоже продукт) в общем и целом. Если он крив - то он не может служить примером.

?Браузер ? лучший валидатор?

?

Обсудим подробней, когда "увидите"...

Склонен полагать что там все в порядке. Без каких-то фактов это просто неумелый выпад.

Link to comment
Share on other sites

  • Replies 419
  • Created
  • Last Reply

Top Posters In This Topic

?Браузер ? лучший валидатор?

?

Это Вы к чему?

Склонен полагать что там все в порядке. Без каких-то фактов это просто неумелый выпад.

Факт - это ваше выражение (оно-то, как-раз, неумелое). Проанализируйте наконец.

P.S.

Я как-то раз написал примерно такое же, но на замечание честно ответил: "С программированием надо заканчивать, так и не начав." ("завязывать" я не собирался, просто так отметил, что ошибку нашел и сделал выводы).

Link to comment
Share on other sites

Это называется ?водить за нос?.

Я уже несколько раз говорю о том, что я готов выслушать в чем там проблема, но мне снова повторяют лишь то,что я не прав. Это вызывает некоторое раздражение.

Не мог бы ктонибудь более-менее вменяемый все-же перестать выпендиваться и сказать в чем собственно дело с той строкой?

Link to comment
Share on other sites

Это называется ?водить за нос?.

Не-е-е! "Водить за нос" ? это совсем другое. Например:

jQuery is a fast, concise, JavaScript Library...

jQuery is designed to change the way that you write JavaScript.

You start with 10 lines of jQuery that would have been 20 lines of tedious DOM JavaScript.

Lightweight footprint

? About 14KB in size (Compressed)

Cross-browser

? IE 6.0+, FF 2+, Safari 2.0+, Opera 9.0+

Вот это я называю "водить за нос".

...мне снова повторяют лишь то,что я не прав.

Повторяют? Найдите хоть одну подобную претензию.

Это вызывает некоторое раздражение.

Дядя Алекс ведь пытался научить Вас держать себя в руках. Он напрасно потратил время?

Не мог бы ктонибудь более-менее вменяемый все-же перестать выпендиваться и сказать в чем собственно дело с той строкой?

Хотел ответить, а оказывается меня это уже не касается. Исходя из контекста, я - невменяемый и выпендриваюсь. :)

Link to comment
Share on other sites

Дядя Алекс ведь пытался научить Вас держать себя в руках. Он напрасно потратил время?

Дядя Алекс ? отдельный разговор. Он нагдялно доказал что не способен логически мыслить. Тебе я ничего подобного не говорил, и более того я стараюсь не замечать явное тво? отношение ко мне ?с высока? и пытаюсь получить что-то полезное из разговора, но ты сопротивляешься.

Исходя из контекста, я - невменяемый и выпендриваюсь. :)

Это ты сказал что невменяемый, я такого не говорил. Под ?более-менее вменяемыми? я как раз тебя и rash имел ввиду.

Твоя личная неприязнь к jQuery меня не касается, мне жаль что ты так так предвзято относишься к людям.

А теперь объясню насчет той самой строки:

В самом начале функции стоит объявление ?var req = null;?, что означает что если других значений переменной req не присвоить, ?req?? вернет false и соответственно функция вернет false. Единственное место, где req может получить значение отличное от начального ? блок try-catch, и значение это типа object, а значит ?req?? вернет для него true и функция возвратит true. Таким образом возвращенное значение ? есть признак того, будет ли осуществлен ajax запро или нет.

Link to comment
Share on other sites

homm

Если я правильно понял и вопрос касается строки

return (req ? true : false);

, то объяснение тут такое: поскольку JavaScript является условно-типизированным языком (loose typed), возвращать из функции можно что угодно. При скармливании переменной условным операторам они приводят значение к булевому и выбирают нужную ветку.

Таким образом, предполагается, что данная строчка вызывает смех (ну или улыбку) у читателя.

Link to comment
Share on other sites

поскольку JavaScript является условно-типизированным языком (loose typed), возвращать из функции можно что угодно. При скармливании переменной условным операторам они приводят значение к булевому и выбирают нужную ветку.

Это я в курсе, здесь так и написано.

Таким образом, предполагается, что данная строчка вызывает смех (ну или улыбку) у читателя.

А здесь вдруг смех? Дак объясните почему? Объяснение ?потому что типы приводятся? мне не очень понятно. Да, приводятся.

Link to comment
Share on other sites

homm,

Дополню. Смешит целенаправленное прописывание в тексте литералов true и false, если учесть, что любое вернувшееся из функции значение при дальнейшей проверке, допустим, при проверке через if() в следующей функции будет снова конвертировано в значение типа Boolean и проверено. То есть вы легко можете выпустить из функции непосредственно req, будь в этой переменной null или object, не важно. Если же вы вс?-таки страшно захотели вернуть именно булев, то опять-таки конвертируйте req на месте (во флажковом стиле - !!req или более сложно, но нагляднее - Boolean(req)), а прописывать руками в такой операции тру и фалс - это как-будто на минуту забыть про конвертацию типов в javascript вообще. Масло масляное. И последнее - в вашей функции уже проверялось значение req, из этой ветки можно было и вернуть необходимое значение, не дублируя проверку...

Link to comment
Share on other sites

Предполагается, что принудительно возвращать булево значение в JavaScript - плохой стиль и глупо.

Вот так предпологать ? глупо. Boolean такой-же тип как и все остальные, с какого вдруг возвращать его ? плохой стиль? В данном случае функция полностью инкапсулирует в себе всю работу с объектом req и от его возврата после ?send? нет никакого толку, если объект и может пригодиться, то только до этого.

А уж способ приведения типов ? дело только вкуса. Для меня, например конструкция ?!!? не является интуитивно понятной.

В общем я как понимаю, никаких подводных камней или неверной логики здесь нет, так что я тем более не понимаю, зачем был нужен весь этот пафос от AKS.

Link to comment
Share on other sites

homm

В принципе - да, дело вкуса. Вс? зависит с какого языка переучиваться -- это влияет на восприятие кода "по-диагонали".

Другой момент, что сокращение количества операций вед?т к улучшению скоростных характеристик кода.

Разложите на "атомарные" операции

return req ? true : false;

и

return !!req;

Правда, для текущей реализации JavaScript это натуральная экономия на спичках =)

Link to comment
Share on other sites

В общем я как понимаю, никаких подводных камней или неверной логики здесь нет, так что я тем более не понимаю...

Написал ведь Вам: "Обсудим подробней, когда "увидите"", а Вы все продолжаете "Не вижу, не понимаю". Об этом и шла речь с самого начала, что не видите и не понимаете.

Что ж, давайте все же попробуем разобраться, руководствуясь все тем же "Зри в корень".

Вот такие команды Вы даете движку в случае условных выражений с req:

1. вычислить выражение (т.е. req);

2. получить значение п.1;

3. конвертировать в булево значение п.2.

А теперь объясните ? зачем Вы заставляете движок выполнять одну и ту же работу дважды (я имею ввиду описанный выше трехступенчатый процесс), в то время, когда логика вашей функции, которая "инкапсулирует в себе всю работу с объектом req" (???), позволяет не делать этого ни одного раза?

...зачем был нужен весь этот пафос от AKS.

Пафос? Да откуда ему взяться? Что в этом обсуждении такого, чем можно проникнуться, чтоб писать восторженно и вдохновенно?

Link to comment
Share on other sites

Шизофрения это когда человек живет вот в таком придуманном мирке...

Понятие ?нормальный? ? относительное. Даже: ?больной? и ?здоровый? ? относительные понятия. Например, принято считать людей с синдромом Дауна больными. (Больной Дауна, так и говорят.) Выяснено, что у них не хватает одной хромосомы?

Что же оказалось в действительности!...

Больной Дауна больным не является. (У них нет проблем со здоровьем, отличных от наших.) Это не у них хромосомы не хватает, а у нас - лишняя.

Несколько сотен тысяч лет назад все наши предки были Даунами. И вдруг появился выродок, у которого лишняя хромосома, но его болезнь оказалась полезной, с точки зрения выживания.

За последние сотню тысяч лет свойство иметь лишнюю хромосому закрепилось, тем не менее, иногда по прежнему рождаются нормальные, с нормальным количеством хромосом, люди. Но мы, хронически больные, называем их больными. Не себя. Мы их называем Даунами.

Я это к тому, что если человек воспринимает мир как-то иначе, не так как ты, то это не повод предъявлять претензии ему, и объявлять его шизофреником. В начале стоит подумать: кто тебе дал право требовать от него, чтоб он воспринимал мир так же как ты, убого. У этого человека прав столько же. Прав на то, чтобы воспринимать мир по своему, не так ? как ты.

И ещ?. Может ты прекратишь сообщать нам о своих переживаниях. Не знаю кому это интересно. Мне ? точно ? нет!

Говори по делу. (DCSS написал под Оперу? Код покажешь? Или - слабо?)

Link to comment
Share on other sites

И что, за такой ручной работой будующее? И это называется не конная тяга?

Здесь номенклатура порядка 1000 записей.

http://people.nnov.ru/master/Akvaria2007-crippledVersion.rar (около 1 мега) Работатет только в корневом каталоге и с CD.

Я оставил описание к товару толко для первой позиции в прайсе, чтоб уменьшить объ?м архива. (Полный объ?м магазина порядка 20 мегов.)

Здесь я использую пару XML/XSL чтоб згенерить HTML в браузере.

Магазин с сидирома работает тоже, а если использовать PHP и/или MySQL, то как сделать так, чтоб CD работал?

Вы по прежнему считаете, что за PHP - будущее?

Link to comment
Share on other sites

Понятие ?нормальны? ? относительное. Даже: ?больной? и ?здоровый? ? относительные понятия. Например, принято считать людей с синдромом Дауна больными. (Больной Дауна, так и говорят.) Выяснено, что у них не хватает одной хромосомы?

Что же оказалось в действительности!...

Больной Дауна больным не является. (У них нет проблем со здоровьем, отличных от наших.) Это не у них хромосомы не хватает, а у нас - лишняя.

Несколько сотен тысяч лет назад все наши предки были Даунами. И вдруг появился выродок, у которого лишняя хромосома, но его болезнь оказалась полезной, с точки зрения выживания.

За последние сотню тысяч лет свойство иметь лишнюю хромосому закрепилось, тем не менее, иногда по прежнему рождаются нормальные, с нормальным количеством хромосом, люди. Но мы, хронически больные, называем их больными. Не себя. Мы их называем Даунами.

Я это к тому, что если человек воспринимает мир как-то иначе, не так как ты, то это не повод предъявлять претензии ему, и объявлять его шизофреником. В начале стоит подумать: кто тебе дал право требовать от него, чтоб он воспринимал мир так же как ты, убого. У этого человека прав столько же. Прав на то, чтобы воспринимать мир по своему, не так ? как ты.

А за это +1

Link to comment
Share on other sites

Спасибо за ссылки. Посмотрел. Окзывается история ещ? более древняя, чем я предполагал.

Как я понимаю, самого XMLHttpRequest так до сих пор в ИЕ и нет, его эмулирует ActiveX, что требует менее безопасные права у сайта. Называют ajax, потому что это не синоним XMLHttpRequest, а скорее концепция его использующая.

Как же нет, если работает?! Эмулирует ActiveX? Какая разница, как это работает? Главное - работает!

Где здравый смысл, где логика? А ещ? заявляет, что я логически мыслить не умею! (Кто бы говорил...)

Называют ajax, потому что это не синоним XMLHttpRequest, а скорее концепция его использующая.

Странные ребята, назвали очень старую вещь новым именем, объявили это концепцией использования, и выдают это за новую технологию?

Link to comment
Share on other sites

Ещ? одна прикольная вещица у меня есть.

В мире существует три способа перемножения чисел: в столбик, в строчку и мой.

Мой - самый простой и понятный, и позволяет ненапрягаясь перемножать большие числа.

Я изобрел его году в 1975, в 7-ом классе.

Если интересно, описан тут: http://people.nnov.ru/master/Multiplier/

Link to comment
Share on other sites

(Это ↑ поле активное. Навелите на него мышкой.)

Мало того, что опечатка, так ещ? и не алл?кает в ФФ.

Вообще, очень много ошибок. Математику вы любили больше уроков русского языка.

Link to comment
Share on other sites

Вообще, очень много ошибок. Математику вы любили больше уроков русского языка.

Дима, ты прав. Русский язык я не любил. Он очень нелогично устроен: масса странных правил, и куча исключений из них.

Иностранцы говорят, что русский язык очень сложный.

...не алл?кает в ФФ.

Это я не понял. Поясни, пожалуйста.

Link to comment
Share on other sites

Как же нет, если работает?! Эмулирует ActiveX? Какая разница, как это работает? Главное - работает!

...

Странные ребята, назвали очень старую вещь новым именем, объявили это концепцией использования, и выдают это за новую технологию?

С этим все в порядке - вопросов нет. Все отдают должное Microsoft, признавая "откуда ноги растут" у XMLHttpRequest'а:

Special thanks to the Microsoft employees who first implemented the XMLHttpRequest interface, which was first widely deployed by the Windows Internet Explorer browser.
Microsoft first implemented the XMLHttpRequest object in Internet Explorer 5 for Windows as an ActiveX object. Engineers on the Mozilla project implemented a compatible native version for Mozilla 1.0 (and Netscape 7). Apple has done the same starting with Safari 1.2.
XMLHttpRequest is a JavaScript object that was created by Microsoft and adopted by Mozilla.
Link to comment
Share on other sites

Все отдают должное Microsoft, признавая "откуда ноги растут" у XMLHttpRequest

Приятно иметь дело с честными людьми. (Подумал Остап...)

Действительно приятно, но я не большой приверженец IE, не-друг Билла, я таковой по неволе. (Я за конкуренцию, и ненавижу монополистов.) Но вы же видите, на примере DCSS, даже простую идею, которую в IE легко реализовать в виде крошечного скрипта, в Опере реализовать невозможно. Это сделать невозможно даже имея готовое решение, более того - имея исходники скрипта, работающего в IE.

Так что я был справедлив, называя Оперу Жоперой!(?) (Жоперой называют жопарожец прокаченный. См. тут: http://img-fotki.yandex.ru/get/1/w3cd.5/0_952_234c880e_L

и тут: http://img-fotki.yandex.ru/get/1/w3cd.5/0_953_5da1bcfd_L)

Если так, то прекратите рекламировать и ставить Оперу на виндусовые компьютеры. Ей и Линюкса хватит.

Мне жаль, что у IE нет конкурентов.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share


×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy