Как стать автором
Обновить

Комментарии 13

Хабракат пожалуйста :)

Слово «хабракат» станет скоро глаголом, наподобии Google :)
Прошу прощения, забыл.
Время позднее, просто ;)
Нет, это не аджакс. В аджаксе работают POST запросы

А трюк со включением <script> уже давно реализован 

К примеру в этих двух проектах:
dklab.ru/lib/JsHttpRequest/
jquery.com/

Так я так и называю это подобием AJAX. Тема в том что Opera обычным AJAXом не даёт делать запросы к другому серверу. Писал userscript, в Firefox+GreeseMonkey работает токовпуть, а у Opera проблемы. Пришлось «копнуть».
Да не только опера не дает делать, а любой броузер не дает делать — это секьюрити! И вы далеко не избобретатель — как уже сказано выше — Котеров это показал народу (я не говорю что он изобретатель) года 4 назад. Тогда еще слово ajax не так что бы в ходу было.

Да и в вашем способе нельзя передать данных на сервер больше чем 2083 — максимальная длина URL в IE. И вот тогда там вообще танцы надо делать.
Однако, первый примерчик интересен, спасибо.
Автор, одно замечание, XmlHttpRequest по своей природе работает только в контексте одного домена и это никакая ни «оплошность».

В IE 8 по этому поводу будет внедрен объектXDomainRequest (XDR), который позволит делать кроссдоменные запросы. Синтаксис этого нового объекта полностью имплементирует черновик W3C «Access Control for Cross-Site Requests». Это для тех кто ратует за стандарты.
Синтаксис этого нового объекта полностью имплементирует черновик W3C «Access Control for Cross-Site Requests».
Это как раз ни о чём не говорит. Это стандартный подход Microsoft: он реализует в своих браузерах черновики стандартов, а когда стандарты таки принимаются или отвергаются — он продолжает реализовывать те же самые черновики годами. Пример первого — CSS1: черновик реализован в Internet Explorer 3 (август 1996), стандарт появился через полгода (декабрь 1996), а привеюдён в соотвествие с ним был только Internet Explorer 7 (октябрь 2006). Почти деять лет! Пример второго: VML был драфтов в 1998 году и тогда же был реализован в Internet Explorer 5.5. Комитет по стандартизации отверг VML и сделал выбор в пользу SVG — поддержки нет до сих пор.

Вот так Microsoft и «любит» стандарты: во все дыры. Любимая позиция — мы тут стандарт разработали, пусть весь мир его соблюдает, а нас это, типа, не касается. Вот последнее достижение из тоже оперы: http://consortiuminfo.org/standardsblog/article.php?story=20080521092930864MS Office 2007 не будет поддерживать стандарт DIS 29500 (OOXML). Ну и кому нафиг нужна такая любоф?

В общем поо поводу XDR всё просто: сейчас Microsoft всё делает правильно, но посмотрим что будет в MS IE 9 (когда стандарт будет принят или отвергнут). Microsoft уже так много раз говорил А, но не Б, что доверия к нему никакого.
До чего народ любит пнуть IE и MS лишний раз :)
Вы как то опускаете тот момент, что многие вещи реализуемые другими браузерами так же не являются стандартами. За примерами ходить далеко не надо: <canvas>, <video>, <audio>, многие свойства (text-shadow, box-shadow, border-radius, text-ellipsis, border-image etc) и селекторы (:nth-child, :not, :first-child, :empty etc) из CSS3 (который далеко не стандарт/рекомендация), хранилища данных, новые API (в которые входят getElementsByClassName, getBoudingClientRect, getClientRects, querySelector & querySelectorAll, workers и другие) — это все внедрено в нескольких браузерах (Opera, Firefox, Safari), и это до сих пор не стандарт.
Вспомните что XMLHttpRequest стандарт на базе урезанного ActiveX('Microsoft.XMLHTTP'). getBoudingClientRect и getClientRects пришло к нам со древних времен IE, попало в черновики (http://dev.w3.org/csswg/cssom-view/) и сейчас появилось в Firefox & Opera. То что VML не прижился, что ж делать — бывает. Однако VML внедрен во все продукты MS Office, так что это больше не фишка IE, а просто мелкомягкая технология, которая так же работает и в IE. И с помощью VML хоть как то можно съэмулировать <canvas>, а вот поддержка SVG есть далеко не везде (и часто она не полная). (Кстати слышал мнение что с VML работать проще чем с SVG, хотя сам не знаю, работать не приходилось — но мнение такое слышал)
Так что, как всегда — другим можно внедрять черновики, а вот MS нельзя :)
Кстати, чтобы было яснее, стандарт признается w3c, когда имеется как минимум две промышленные реализации (то есть работает в двух распространённых браузерах).
А насчет отказываться от старого. Многие сайты и приложения разработаны с использованием этих технологий (свойственных только IE) — теперь вы хотите в одночасье это все зарубить. Опрометчиво. Ребята из IE team и рады бы отказаться от многого, да вот не поймут их веб-девелоперы. Однако они стараются сделать это мягко — от expression'ов в IE8 уже отказались, так что не все так плохо.
До чего народ любит пнуть IE и MS лишний раз :)
А что — не за что?

Вы как то опускаете тот момент, что многие вещи реализуемые другими браузерами так же не являются стандартами.
А это — к делу не относится. Ну никак. И я совершенно не осуждаю Microsoft за то что он реализует драйты в то время, когда соотвествующих стандартов нет. Все так делают — и это нормально. Вопрос о том, что он делает когда они есть.

То что VML не прижился, что ж делать — бывает.
Да нормально, ничего страшного. Вон XUL тоже только в Gecko есть — никто же не плачет по этому поводу?

И с помощью VML хоть как то можно съэмулировать <canvas>, а вот поддержка SVG есть далеко не везде (и часто она не полная).
Да, но в IE её нет вообще — и вот это как раз проблема. Microsoft может реализовывать свои собственные интерфейсы и технологии сколько угодно — но он отказывается реализовывать стандарты, когда они становятся стандартами! И вот это — таки проблема. Потому я и говорю по поводу XDR:
сейчас Microsoft всё делает правильно, но посмотрим что будет в MS IE 9 (когда стандарт будет принят или отвергнут). Microsoft уже так много раз говорил А, но не Б, что доверия к нему никакого.


Кстати, чтобы было яснее, стандарт признается w3c, когда имеется как минимум две промышленные реализации (то есть работает в двух распространённых браузерах).
Не путайте W3C и IETF — это разные организации и у них разные правила.

А насчет отказываться от старого. Многие сайты и приложения разработаны с использованием этих технологий (свойственных только IE) — теперь вы хотите в одночасье это все зарубить.
Да не хочу я ничего «зарубить в одночасье»! Хотят поддерживать свои старые разработки — пусть поддерживают, а не против. Мне от expressions и от VML ни жарко ни холодно. А вот когда они написанные в стандарте вещи не реализует — мне от этого очень даже тошно ибо я опять должен выворачивать мозги чтобы оно в MS IE заработало.

Ещё раз, для непонятливых: я не против расширенний, драфтов и прочего. Это всё весело и интересно. Я против того, чтобы когда я говорю что что-то реализовано не по стандарту (или стандарт вообще не реализован как с SVG) мне заводили волынку про то, что кто-то кого-то там не поймёт. Если продукт не соотвествует стандарту — то это ошибка. И она должна рассматриваться именно как ошибка, а не как-то ещё. Вот где именно ошибка — в стандарте или в программе нужно обсуждать отдельно. Как правило ошибка таки в программе и её нужно просто исправить, но, напримерб идиотский MS IE'шный HTML-sniffing пришлось узаконить именно потому что «не поймут их веб-девелоперы» и теперь можно сказать что да, MS IE 8 вроде как в этом месте соотвествует стандарту (MS IE 8 стал более разборчив и ближе к HTML5, чем к MS IE 6, надо будет проверить на последней бете). Но если вы говорите что «стандарт неправ и его нужно изменить», то это нужно делать в соотвествующем комитете, а только где-нибудь в примечании в MSDN! И если вопрос был вами поднят в соотвествущем стандарте, но решение не в вашу пользу — то будьте добры сделать как говорит стандарт. Ибо иначе смысл стандартов теряется если каждый может их трактовать как ему заблагорассудится.
Говорить что IE плох, можно сколько угодно, это ничего не поменяет. Стоит его воспринимать таким какой он есть, то есть как данность. Меня просто всегда тревожат выпады в сторону этого браузера и упреки которые с тем же успехом годятся и применимы к другим продуктам. И часто именно просто «А что — не за что?».
Вас коробит отсутствие SVG. Да в IE много чего нет, не хватает. Всегда проблемы, если хочется сделать шаг в сторону новых технологий, практик, течений. Зато в нем можно «накостылять» намного больше вещей, чем в любом другом браузере в случае неимения поддержки того или иного. И если взглянуть шире, то тот же SVG стал поддерживаться браузерами не так давно, и то часто реализация не полная. В частности браузеры валятся на acid3 отчасти из-за неполной или некорректной поддержки SVG (там несколько тестов на SVG). То же касается и других технологий, как например, <canvas>.
Что вы считаете лучшим делать «хоть какую-то поддержку технологии» или делать «полную поддержку технологии, стабильную и безопасную»? Я склоняюсь ко второму варианту. В MS видимо тоже. Пусть чего-то не будет совсем, чем будет глючное и не полное. В частности, слышал заявления что работы над тем то и тем то ведутся, но пока все нестабильно. Как разработчик, я понимаю, что не так то просто что-то там внедрить. Пусть сделают нормальную поддержку CSS. Потом DOM, JS, события — что более критично. А потом уже SVG и т. д.
В MS не готовы выпустить браузер с поддержкой этих (и других) технологий, но нигде и не написано что они обязаны это поддерживать. Все эти стандарты носят рекомендательный характер — «если хотите делать что-то подобное делайте это так». И только. Поэтому отсутствие поддержки нельзя считать ошибкой, как мне кажется. К тому же у MS в части стандартов появился большой сдвиг в лучшую сторону, они стараются их придерживаться. А вводить новаторские идеи (которые вводят и другие, но негатива по этому поводу нет) никто не запрещал.
И чтобы они (MS) не сделали сейчас, IE6 будет использоваться еще долгое время (несколько лет). Мне кажется что стоит смотреть вперед, а не оглядываться на IE6 (которому сто лет в обед) и другие браузеры.
Что вы считаете лучшим делать «хоть какую-то поддержку технологии» или делать «полную поддержку технологии, стабильную и безопасную»? Я склоняюсь ко второму варианту. В MS видимо тоже.
Слабо заметно. Если бы они склонялись к варианту «полную поддержку технологии, стабильную и безопасную», то у них не занимало бы внедрение этой «стабильной и безопасной» поддержки 10 лет.

Пусть чего-то не будет совсем, чем будет глючное и не полное.
Ваши мы устами… Мало какие технологии реализованы в MS IE без ошибок. Либо реализованы ранние драфты, либо куча странных глюков, которые не правятся годами.

Вот и внедрение XDR: глючное и несоотвествующее стандарту (а оно ему и не может соответствовать ибо стандарта ещё нет). Будут они его править или снова «забьют»? Существующая репутация Microsoft не очень обнадёживает, но… будем посмотреть.

В MS не готовы выпустить браузер с поддержкой этих (и других) технологий, но нигде и не написано что они обязаны это поддерживать.
Нигде не написано и никто их не может заставить. Но пусть они тогда честно заявят что им наплевать на стандарты ибо по закону их соблюдать не положено и всё. Все будут довольны. Клиенты, желающие использовать продукцию, соблюдающую стандарты (а их таки немало: скажем большая часть правительственных организаций к этому серъёзно относится) выберут другого поставщика и всё. Бесит как раз то, что сначала заявляется приверженность стандартам, а потом тянется волынка.
Обратите внимание на CSSHttpRequest nb.io/hacks/csshttprequest/
Который использует CSS свойство @import url(about:chr:Hello%20World!)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории