Skip navigation.

Двойная Радость

Double Joy

Posts tagged with "браузеры"

Opera 9.5 Alpha 1 уже в сети

,

Что Вам сказать... Список нововведений в первой альфе Оперы 9.5 просто поражает... Просто поражает... Бегом качать и пробовать :wink:

Go and get Opera 9.5 alpha!
via Opera Desktop Team blog

Первая альфа Opera 9.5 появится в следующий вторник

,

We know you’ve all been waiting for this moment for a long time already. Well, it’s almost here. We’re planning on releasing the very first Alpha of the swanky new Opera 9.5, codename Kestrel, next Tuesday (September 4th).

Our developer and QA teams have been working on this for over a year already, and can’t wait to show you what we’ve done. We’ll post some details of what you could expect in Opera 9.5 Alpha on the Desktop team blog in the coming days.

This new Alpha is a special present to Opera’s founder and CEO Jon von Tetzchner for his 40th birthday today.


via Opera Watch

слова излишни :smile: все дружно принимаемся ждать :smile:

пару слов об украинских веб-программистах: проект tuse.com.ua - часть номер раз.

, , , ...

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

проект, номер раз, про который пойдет сегодня речь - развлекательная молодежная среда тусе.ком.уа (или Мое Тусэ понад усэ), главной фишкой которой являются обмен сообщениями в онлайне (аля айсикью) и поддержка собственной фотогалереи... как говорят, мои знакомые делал его студент КПИ... что ж если это был первый блин - то он вышел огромным комом...

почему? ну что ж тогда по пунктам...
1. Страница входа на Тусе... Непонятная желтая окантовка у кнопки войти и почему-то выделенная бледным серым цветом активная возможность "Запомнить меня" сразу наводят на мысль о, мягко сказать, неадекватности веб-программистов... нажатие клавишесочетания ктрл+ф3 только приумножает эту мысль... нет, я понимаю что при помощи таблиц удобней выстраивать элементы по странице, но использовать табличную верстку на этой странице - это кощунство... здесь же вообще нет ничего табличного...

и, ах да... ссылки Сделать стартовой и Добавить в избранное, как всегда в .УА, кликабельны только в Осле... других браузеров пока, наверное, еще не выпустили, как жаль...

2. А теперь перейду к собственно главному багу на сегодня для Тусэ... это невозможность юзания клавишесочетания ктрл+энтер в браузерах отличных от Осла и Геко-ядра... и это на сервисе у которого мнгновенные сообщения - главная фишка... почему это клавишесочетание не работает? да ведь потому что, код написан корявыми руками отечественных веб-программистов...

итак, ктрл+ф3 дает нам следующий убийственный фрагмент:
function BODY_onkeypress(e)
{
    var pressed=0;
var we=null;

if (window.event) we=window.event;
else if(parent && parent.event) we = parent.event;

if (we) {       // IE
pressed=we.keyCode==10;
} else if(e) {  // NN
pressed = 
(e.which==10 && e.modifiers==2) || // NN4
(e.keyCode==0 && e.charCode==106 && e.ctrlKey) ||
(e.keyCode==13 && e.ctrlKey) // Mozilla
}

if (pressed) { 

if (trimAll(document.message.msg.value).length == 0) { 
alert('Введи текст сообщения!'); 
return false; 
} else {
document.forms[0].submit();
}
}
}

document.onkeypress = BODY_onkeypress;
if (parent) parent.document.onkeypress = BODY_onkeypress;

каков разгул фантазии у товарищей программистов? да? то-то же ))) они вместо четырех строчек кода потратили на проверку условия нажатия ктрл+энтер 11 строк кода и ничего не добились... ибо код скопипащен из какого-то другого источника и в нем совершенно никто не разбирался, после того, как в уважаемом всеми Осле он успешно заработал... то, что в стране юзают и другие браузеры - никого не ебет, аудитория не пострадает, сайт тоже, рнб и дальше будет в фаворе...

а говно все в том, что работающая версия кроссбраузерного сабмиттинга по клавишесочетанию пишется считанные минуты при помощи Гугла (у меня ДжаваСкрипт забрал минут 5 не более)... и как результат везде работает и все довольны...

не верите? проверяйте:
<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html dir="ltr" lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">

<head>
    <title>Crossbrowser Ctrl+Enter</title>

    <meta http-equiv="Content-Language" content="ru" />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <meta name="Robots" content="noindex, nofollow" />

    <meta name="Author" content="Igor Davydenko" />
    <meta name="Reply-To" content="info@wemakesites.org" />
    <meta name="License" content="Licensed under the GNU GPL v.2.1 or later" />
    <meta name="Copyleft" content="All rights are copylefted" />

    <script type="text/javascript">
    <!--
        function validSubmit(form) {
            if (typeof(form) == 'undefined' || !form) return;

            var text = form.text.value;
            return (text.length > 0);
        }

        window.onload = function() {
            var form = document.getElementsByTagName('form')[0];
            form.text.focus();

            form.onsubmit = function() {
                if (!validSubmit(this)) {
                    window.alert('Please, fill messages text');
                    this.text.focus();
                    return false;
                }
                else {
                    window.alert('Message sended');
                    return true;
                }
            }
        

            form.onkeypress = function(event) {
                event = (event) ? event : window.event;

                if ((event.keyCode == 13 || event.keyCode == 10) && event.ctrlKey == true) {
                    var inputs = this.getElementsByTagName('input');
                    var submit = null;
                    
                    for (i in inputs) {
                        if (inputs[i].type.toLowerCase() == 'submit') {
                            submit = inputs[i];
                            break;
                        }
                    }
                
                    if (submit) {
                        submit.click();
                    }
                    else {
                        this.submit();
                    }
                }
            }
        }
    -->
    </script>

    <style type="text/css">
    <!--
        body {
            background-color: #fff;
        }

        body, input, select, textarea {
            font-family: 'Georgia', serif;
            font-size: 16pt;
            color: #000;
        }

        form {
            position: absolute;
            width: 50%;
            left: 50%;
            margin-left: -25%;
            border: 1px solid #c0cfe8;
        }

        form fieldset {
            width: 100%;
            margin: 0;
            padding: 0;
            border: 0 none transparent;
        }

        form fieldset legend {
            display: block;
            width: inherit;
            padding: 0.2em 0;
            background-color: #eaeef6;
            border-bottom: 1px solid #c0cfe8;
            text-indent: 2em;
            font-size: 18pt;
            font-weight: bold;
        }

        form fieldset p {
            padding: 0 1em;
            text-align: center;
        }

        form fieldset input, form fieldset select, form fieldset textarea {
            width: 100%;
        }

        form fieldset label {
            display: block;
            text-align: left;
            text-indent: 1em;
        }

        form fieldset label:hover {
            text-decoration: underline;
            cursor: pointer;
        }

        form fieldset br {
            display: none;
        }

        .Bold {
            font-weight: bold;
        }
    -->
    </style>
</head>

<body>

    <form action="temp.html" method="post">
        <fieldset>
            <legend>Send message</legend>

            <p>
                <label for="MTo" class="Bold">Choose recipient:</label><br />
                <select name="to" id="MTo" tabindex="1">
                    <option value="friend">Friend</option>
                    <option value="enemy">Enemy</option>
                    <option disabled="disabled">———</option>
                    <option value="father">Father</option>
                    <option value="mother">Mother</option>
                    <option value="brother">Brother</option>
                    <option value="sister">Sister</option>
                </select>
            </p>

            <p>
                <label for="MText" class="Bold">Enter text:</label><br />
                <textarea name="text" cols="20" rows="10" id="MText" tabindex="2"></textarea>
            </p>

            <p>
                <input type="submit" value="Send (Ctrl+Enter)" tabindex="3" />
            </p>
        </fieldset>
    </form>

</body>

</html>


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

ADVanced.in.UA - Web-developers.

, ,

ADVanced.in.UA - Студия веб-дизайна

Сайт примечателен тем, что в нем в Осле показываются PNG файлы с альфа каналом. Как я это сделал? Ответы дает Justin Koivisto в статье "PNG-24 Alpha Transparency With Microsoft Internet Explorer 5.5 or better (MSIE 5.5+)".

В Опере же и Мозилле никаких таких проблем не возникает, что собственно и так ясно :smile:

Opera 9 Final released!

,