All streams
Search
Write a publication
Pull to refresh
28
0
sirus @sirus

User

Send message
буду резать HTML?
в грамотно реализованных системах процесс обычно происходит так: данные лежат на сервере в виде обьектов — при запросе данные извлекаются и из них формируется контент (HTML, XML, JSON, другое)

теперь давайте просчитаем телодвижения
HTML:
1) если зашел робот или без чел. AJAX -> извлечь данные — сформировать HTML — отдать на клиент
2) если зашел человек с AJAX -> извлечь данные — сформировать HTML — отдать на клиент — отренедерить innerHTML

JSON:
1) если зашел робот или без чел. AJAX -> извлечь данные — сформировать HTML — отдать на клиент
2) если зашел человек с AJAX -> извлечь данные — сформировать JSON — отдать на клиент — разпарсить — отрендерить

разницу чувствуете? в случае с HTML второе это продолжение первого, в случае с JSON — две разные процедуры со всеми вытекающими
наверно вам ничего не мешает построить нормальную ссылку для поисковика при использовании JSON. лично мне мешает дополнительная работа, помоему вы называли это лишние телодвижения.

почитайте вот люди пишут itlife.habrahabr.ru/blog/44242/,
1) закумаритесь вы генерировать отдельно JSON отдельно HTML при таком подходе
2) я не говорил что ваш способ хуже, меня зацепило то что вы сказали что ваш способ лучше, причем не уточнили в каком случае. вообщем надо правильно строить не только сайты но и предложения. :)
В своих проектах я сам использую JS Template. Но если вы будете везде применять JSON, особенно для генерации контента — то вам придется либо делать отдельный интерфейс для поисковиков, либо забыть про нормальную индексацию вашего сайта. JSON для генерации контента имеет смысл применять в случае когда индексация не важна, либо для обмена служебными сообщениями между клиентом и сервером.

Поисковики не выполняют скрипты и им не виден контент передаваемый с помощью AHAH, зато при грамотном построении поисковики ходят по обычным ссылкам и видят только ту часть контента, которая относится к конкретной ссылке в нормальном размеченном тегами виде. таким образом вы можете совмещать приятное с полезным: динамически подгружать контент и оставить о себе след в поисковиках, при этом не делая дополнительных телодвижений.
… Некоторые передают ajax-ом сразу html код и вставляют его в нужное место, но разработчики prototype сделали более удачную реализацию...
очень не удачно сформулировали предложение, нужно добавить слова «мое мнение» или привести доказательства чем одно лучше (хуже) другого. а то народ в заблуждение вводите. вставка html кода имеет свои приимущества. такой подход даже имееет отдельное название AHAH, к примеру одно из таких приимуществ — легко можно реализовть нормальную индексацию сайта при использовании AJAX. я скажу даже больше — можно улучшить индексацию используя AHAH.
хочу немного подправить, вот так правильнее (без > после [endif])

<!--[if !IE]>-->I'm not IE<!--<![endif]-->

иначе условные коментарии псоле вашего варианта ИЕ интерпретирует как !IE
т.е. в вашем случае

<!--[if !IE]>--><link rel=«stylesheet» href=«addon.css» /><!--<![endif]>-->
<!--[if lte IE 7]><link rel=«stylesheet» href=«addon.ie.css» /><![endif]-->

addon.ie.css не подключится

а так

<!--[if !IE]>--><link rel=«stylesheet» href=«addon.css» /><!--<![endif]-->
<!--[if lte IE 7]><link rel=«stylesheet» href=«addon.ie.css» /><![endif]-->

будет все ок
примерчик реально полезен
для доработки jsMVC.Templates.TestComponent советую обратить внимание на ejohn.org/blog/javascript-micro-templating/
таким образом гораздо удобнее шаблоны редактировать
ну вот и отлично, я так и думал что решение то же что и для обычного ПНГ.
грабля с размером неприятна. для полного счастья нехватает все ж «больше-размерности». ну все рано, появился основательный повод сделать автосборщик.
я думаю можно спрайты упустить, т. е. для ИЕ качать поотдельности каждую картинку.
спрайты реально убивают много времени.
надеюсь всеже что можно както решить опрос с прозрачностью и MHTML
если клеить для ИЕ прозрачные спрайты, тогда нет смысла делать автосборщик data:URL, потому что получается 2 работы направлены на решение одной задачи.
если можно решить вопрос с прозрачностью мне тогда интересно будет сделать авто сборщик css -> dataURL + MHTML, который в последующем при договоренности можно будет вставить как сервис в webo.in.
видать некоторые отдельные комментарии сказываются на общее настроение… както нервно реагируете… в данном случае я ничего не придвигаю, а просто указал вам на возможные проблематичные места. я давно занимаюсь AHAH и мне было интересно поразвивать тему в более сложных направлениях. хотел так сказать поделится опытом, а вы както болезненно реагируете. я даже тогда не буду затрагивать более специфические моменты.

P.S.: на счет document.write и document.open — вы заблуждаетесь на счет работоспособности

пример: index.html >>

<html>
 <head>
  <title>test</title>
  <head>
    <script type='text/javascript' src='sbAJAX.js'></script>
  </head>
  
 </head>
 <body onload="test()">
  <div id="test">Test</div>
  <script>
    function test(){
       sbLoadAsync('test.html', function(text){
         try{
           document.getElementById('test').innerHTML = text;
         } catch(ex){
           alert('Error: id=test not found')
         }
       })    
    }
  </script>
 </body>
</html>


* This source code was highlighted with Source Code Highlighter.


test.html >>

  <div>AHAH loaded</div>
  <script>
  document.open();
  document.write('<div style="background:#aff">document.write - OK</div>');
  document.close();
  </script>

* This source code was highlighted with Source Code Highlighter.


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

> Насчет document.write. Вызывайте перед ним document.open, после document.close.
вы пробывали? и как? получилось? хотелось бы взглянуть на примерчик

>Насчет window.onload – а что там делаться должно? Вызывайте эту функцию сразу…
так если вы загрузите сторонний ранее написанный скрипт, который использует onload, предлагаете переписывать скрипт?

моя люимая тема поднялась :)
1) подход который вы описали имеет общеприятое название — en.wikipedia.org/wiki/AHAH
2) используя данный подход сможете подгрузить скрипты GoogleMap? как на подобии AHAH GoogleMap
3) что случится если в подгружаемых скриптах используется document.write? window.onload?
а может возможно использовать MHTML + Filter для прозрачности?
хотя если MHTML не поддерживает прозрачные картинки, это гораздо хуже, у меня последнее время чуть ли не одни полупрозрачные изображения
да, вот имено, я про это и говорил в пункте 1, чтобы конечный скрипт собирался автоматом через .bat или .sh, сделать чтото на подобии как YUICompressor
а почему не отделить MHTML от dataURL, разделить на два файла
скорее всего придется отказаться от CSS спрайтов, ваш подход видится мне более привлекательным.
для ИЕ можно и не закачивать через АЯКС, а так как вы писали. ну и возможно все ж как то можно затолкать в ИЕ mhtml :)
интересный поход, спасибо за статью. возникли вопросы
1) как бы нормально автоматизировать сборку таких CSS файлов.
2) для Safari я так понял проблема в том что, он не начинает отображать страницу пока не загрузит все стили? можно запросить стили используя AJAX + после загрузки затолкать css в head через style

Information

Rating
Does not participate
Location
Украина
Date of birth
Registered
Activity