Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #161 (permalink)  
Старый 23.06.2009, 17:56
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от B~Vladi
хоть что-то они САМИ придумали
Они много чего придумали. IE6 (да и 5-й тоже) опережал свое время на годы. Если бы они его не забросили, не известно, какая бы сейчас ситуация была в линейке браузеров.
Ответить с цитированием
  #162 (permalink)  
Старый 23.06.2009, 18:35
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Цитата:
Работает быстро...
по сравнению с чем? Почему-то я уверен, что ты ничего не мерял

Цитата:
И код и шаблон разные, но кода больше нада...
компактный xml/xslt в студию

Цитата:
В случае с моим сайтом, innerHTML никак не канает... так что это нада там, где ну очень много кода есть готового... тогда да... и работает быстрее...
почему не канает? На данный момент, думаю, у тебя вообще можно прямо на сервере html отдавать. Разве что если ты какие-нибудь стили (>1) навороченные придумаешь

Цитата:
Кста, при правильном использовании XSL может сильно уменьшить трафик..
по сравнению с неправильным использованием js? Может быть. Во-первых, за счет чего? Во-вторых, можно пример?
Ответить с цитированием
  #163 (permalink)  
Старый 23.06.2009, 18:38
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

кстати, ты знаешь, что microsoft входит в w3c

Последний раз редактировалось x-yuri, 23.06.2009 в 18:42.
Ответить с цитированием
  #164 (permalink)  
Старый 23.06.2009, 18:54
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от Kolyaj
IE6 (да и 5-й тоже) опережал свое время на годы
Бред, даже обсуждать не хочу...
Сообщение от x-yuri
по сравнению с чем? Почему-то я уверен, что ты ничего не мерял
Что мерить?! Что сравнивать?! XSLT процессоры уже давно измерены и сравнины...
Сообщение от x-yuri
компактный xml/xslt в студию
Если хочешь сравнить, сам напиши xml и несколько xsl, а потом JS-парсинг и посмотри.
Сообщение от x-yuri
На данный момент, думаю, у тебя вообще можно прямо на сервере html отдавать.
Неправильно думаешь. У меня НИКАК нельзя HTML отдавать.
Сообщение от x-yuri
по сравнению с неправильным использованием js? Может быть. Во-первых, за счет чего? Во-вторых, можно пример?
По сравнению с передачей HTML. Причём тут JS? мы говорим о передаваемых данных. За счёт XSL. Пример на сайте.
Ответить с цитированием
  #165 (permalink)  
Старый 23.06.2009, 19:10
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Цитата:
Они много чего придумали. IE6 (да и 5-й тоже) опережал свое время на годы. Если бы они его не забросили, не известно, какая бы сейчас ситуация была в линейке браузеров.
Цитата:
Бред, даже обсуждать не хочу...
видели, кстати, такое

Цитата:
Что мерить?! Что сравнивать?! XSLT процессоры уже давно измерены и сравнины...
и все что я про них слышал: что они тормозят (правда я в основном про php слышал, но...)

Цитата:
Если хочешь сравнить, сам напиши xml и несколько xsl, а потом JS-парсинг и посмотри
а при чем тут js-парсинг? js-парсинг - это извращение, на клиентской стороне есть другие нормальные способы

Цитата:
Неправильно думаешь. У меня НИКАК нельзя HTML отдавать
причина?

Цитата:
По сравнению с передачей HTML. Причём тут JS? мы говорим о передаваемых данных. За счёт XSL. Пример на сайте
а выше ты js-парсинг упоминал

Цитата:
За счёт XSL
это все объясняет
Ответить с цитированием
  #166 (permalink)  
Старый 23.06.2009, 19:33
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

ну вот берем с твоего сайта
xml (1169 байт)
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="test.xsl"?>
<window xsl="cheats" css="cheats">
    <content>
        <text caption="Коды">
            <p>Text text text <b>text</b> text <i>text text text</i></p>
        </text>
        <cheats>
            <cheat type="var" use="server" setinfo="0" autoexec="1" defvalue="800" values="number">sv_gravity
</cheat>
            <cheat type="cmd" use="server" setinfo="0" autoexec="0" defvalue="0" values="0-infinity">sv_restart
</cheat>
        </cheats>
        <text caption="sv_gravity">
            <p>Text text text <b>text</b> text <i>text text text</i></p>
        </text>
        <cheats>
            <cheat type="var" use="server" setinfo="0" autoexec="1" defvalue="800" values="number">sv_gravity
</cheat>
            <cheat type="cmd" use="all" setinfo="0" autoexec="0" defvalue="0" values="0-infinity">sv_restart<
/cheat>
        </cheats>
        <text caption="sv_restart">
            <p>Текст text text text <b><i>text text</i></b> text <a href="http://www.google.ru">text text</a>
 text</p>
        </text>
    </content>
</window>

xsl (1456 байт)
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="UTF-8" omit-xml-declaration="yes" indent="yes" media-type="screen"
/>
    <xsl:template match="cheats">
        <div class="table">
            <table border="0" cellpadding="0" cellspacing="0">
                <tr class="tr_caption"><td>Cheat</td><td>Type</td><td>Use</td><td>Setinfo</td><td>Autoexec</td><td
>Def value</td><td>Values</td></tr>
                <xsl:for-each select="cheat">
                    <tr>
                        <td><strong><xsl:value-of select="."/></strong></td>
                        <td><xsl:value-of select="@type"/></td>
                        <td><xsl:value-of select="@use"/></td>
                        <td><xsl:value-of select="@setinfo"/></td>
                        <td><xsl:value-of select="@autoexec"/></td>
                        <td><xsl:value-of select="@defvalue"/></td>
                        <td><xsl:value-of select="@values"/></td>
                    </tr>
                </xsl:for-each>
            </table>
        </div>
    </xsl:template>
    <xsl:template match="text">
        <xsl:for-each select=".">
            <h3><xsl:value-of select="@caption"/></h3>
            <div class="text"><xsl:copy-of select="node()|@*"/></div>
        </xsl:for-each>
    </xsl:template>
</xsl:stylesheet>

innerHTML (1653 байт)
<h3>Коды</h3>
<div class="text" caption="Коды">
    <p>Text text text <b>text</b> text <i>text text text</i>
</div>
<div class="table">
    <table border="0" cellpadding="0" cellspacing="0">
    <tr class="tr_caption">
        <td>Cheat
        <td>Type
        <td>Use
        <td>Setinfo
        <td>Autoexec
        <td>Def value
        <td>Values
    </tr>
    <tr>
        <td><strong>sv_gravity</strong>
        <td>var
        <td>server
        <td>0
        <td>1
        <td>800
        <td>number
    </tr>
    <tr>
        <td><strong>sv_restart</strong>
        <td>cmd
        <td>server
        <td>0
        <td>0
        <td>0
        <td>0-infinity
    </tr>
    </table>
</div>
<h3>sv_gravity</h3>
<div class="text" caption="sv_gravity">
    <p>Text text text <b>text</b> text <i>text text text</i>
</div>
<div class="table">
    <table border="0" cellpadding="0" cellspacing="0">
    <tr class="tr_caption">
        <td>Cheat
        <td>Type
        <td>Use
        <td>Setinfo
        <td>Autoexec
        <td>Def value
        <td>Values
    </tr>
    <tr>
        <td><strong>sv_gravity</strong>
        <td>var
        <td>server
        <td>0
        <td>1
        <td>800
        <td>number
    </tr>
    <tr>
        <td><strong>sv_restart</strong>
        <td>cmd
        <td>all
        <td>0
        <td>0
        <td>0
        <td>0-infinity
    </tr>
    </table>
</div>
<h3>sv_restart</h3>
<div class="text" caption="sv_restart">
    <p>Текст text text text <b><i>text text</i></b> text <a href="http://www.google.ru">text text</a> text
</div>

пока что html выигрывает. Замечания?
Ответить с цитированием
  #167 (permalink)  
Старый 23.06.2009, 20:18
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

а теперь при помощи такого кода
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
    <title>title</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <script type="text/javascript" src="jquery-1.3.2.js"></script>
    <script type="text/javascript">
        window.onload = function() {

            document.getElementsByTagName('a')[0].onclick = function() {
                
                getXml();
                return false;
            };
        };

function getHtml() {

    ajax( '37.html', function( req ) {
        document.getElementsByTagName('div')[0].innerHTML = req.responseText;
    });
}

function getXml() {

    ajax( '34.xml', function( req ) {
        getXml.xml = req.responseXML;
        ajax( '35.xsl', getXsl );
    });
}
function getXsl( req ) {
        if (window.ActiveXObject) {
            try {
                var r = getXml.xml.transformNode( req.responseXML );
            } catch(e) {}
        } else {
            var xslt = new XSLTProcessor();
            var serializer = new XMLSerializer();
            try {
                xslt.importStylesheet( req.responseXML );
                var r = serializer.serializeToString( 
                            xslt.transformToFragment(getXml.xml, document) );
            } catch(e) {}
        }
        document.getElementsByTagName('div')[0].innerHTML = r;
}



function getXmlHttp(){
  var xmlhttp;
  try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
    try {
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (e) {
      xmlhttp = false;
    }
  }
  if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
    xmlhttp = new XMLHttpRequest();
  }
  return xmlhttp;
}

function ajax( url, callback ) {
    var xmlhttp = getXmlHttp()
    xmlhttp.open('GET', url+'?'+Math.random(), true);
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4) {
            if(xmlhttp.status == 200) {
                callback( xmlhttp );
            }
        }
    };
    xmlhttp.send(null);
}

    </script>
</head>
<body>
<a href="#">link</a>
<div></div>
</body>
</html>

убеждаемся, что
xml/xslt - 11ms (код) + 5ms(xml) + 4ms (xsl)
html - 6ms (код) + 5ms(html)
может будут замечания по методике тестирования?
Ответить с цитированием
  #168 (permalink)  
Старый 24.06.2009, 09:54
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от x-yuri
пока что html выигрывает. Замечания?
Размножь этот код
<cheats>
            <cheat type="var" use="server" setinfo="0" autoexec="1" defvalue="800" values="number">sv_gravity
</cheat>
            <cheat type="cmd" use="all" setinfo="0" autoexec="0" defvalue="0" values="0-infinity">sv_restart<
/cheat>
        </cheats>
        <text caption="sv_restart">
            <p>Текст text text text <b><i>text text</i></b> text <a href="http://www.google.ru">text text</a>
 text</p>
        </text>

и выигрыш будет очевиден.
Ответить с цитированием
  #169 (permalink)  
Старый 24.06.2009, 09:57
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

+если у нас будт больше узлов cheat, то выигрыш будет расти быстрее... Для простых xml, xsl будет и меньше. Потом, для многих xml используется одни xsl из кэша - ещё выигрыш...
Ответить с цитированием
  #170 (permalink)  
Старый 24.06.2009, 09:58
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от x-yuri
innerHTML (1653 байт)
А это без закрывающихся <td>???
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск