Page 28 of 59

Re: Text-based Browser

Posted: Fri Apr 12, 2013 3:24 pm
by SoUrcerer
А я говорю, что работа ведется и уже почти закончена.

Re: Text-based Browser

Posted: Fri Apr 12, 2013 3:32 pm
by Leency
SoUrcerer wrote:А я говорю, что работа ведется и уже почти закончена.
Хорошо, тогда подождём. Я стал очень недоверчив после разговора с HEX, который когда-то говорил, что пишет бразер. Я ему писал раза 4, на все вопросы он отвечал: "Почти готов, выложить не могу, т.к. ещё не до конца", ну и где его браузер?..

Re: Text-based Browser

Posted: Fri Apr 12, 2013 4:28 pm
by SoUrcerer
В ЛС смотри.

Re: Text-based Browser

Posted: Fri Apr 19, 2013 9:53 am
by Mario_r4
Обнаружил два бага:
1) В последней версии не прокрутка скроллом почти перестала работать, в основном только боковые кнопки реагируют. С клавиатуры пролистывается нормально.
2) В адресной строке показывается мусор.
Spoiler:
htmlv.png
htmlv.png (8.47 KiB)
Viewed 3917 times
В то время как, например, в Opera показывается только:
Spoiler:search.php?search_id=active_topics
Есть подозрение, что мусор влияет на загрузку более длинных страниц. Возможно я ошибаюсь насчет влияния на загрузку, но то что он не должен показываться полностью это точно - я с SoUrcerer проконсультировался предварительно.

Re: Text-based Browser

Posted: Fri Apr 19, 2013 1:51 pm
by Akyltist
Mario_r4 wrote:2) В адресной строке показывается мусор.
Собственно sid показываться не должен, но поскольку поддержки "печенюшек" (кукисов) нет, то почему бы не передавать их через GET?), за отсутствием лучшего. Хоть какая то передача данных сессии.

Re: Text-based Browser

Posted: Sun Apr 21, 2013 12:40 am
by Leency
Mario_r4 wrote:Обнаружил два бага:
1) В последней версии не прокрутка скроллом почти перестала работать, в основном только боковые кнопки реагируют. С клавиатуры пролистывается нормально.
Исправлено r3477
Mario_r4 wrote:2) В адресной строке показывается мусор.
Это не мусор. Такие ссылки на странице выдаёт сервер для QEMU. Думаю, разница в том, что в Опере ты залогинен, а в HTMLv нет и этот ?sid=* что-то вроде id сессии.
Spoiler:
fdgfe.png
fdgfe.png (22.69 KiB)
Viewed 3849 times

Re: Text-based Browser

Posted: Sun Apr 21, 2013 11:20 am
by SoUrcerer
Leency, take a look at "&" - that's the reason of some broken links. There should be just "&"

Re: Text-based Browser

Posted: Sun Apr 21, 2013 4:25 pm
by Mario_r4

Re: Text-based Browser

Posted: Sun Apr 21, 2013 4:40 pm
by Akyltist
SoUrcerer wrote:Leency, take a look at "&" - that's the reason of some broken links. There should be just "&"
Нет никакой разницы между & и & за тем исключением что именно "&" соответствует стандарту и проходит валидацию. Если использовать &, то валидатор как бы намекает что это не соответствует стандарту и требует поправить!
по стандарту, набор символов в купе с впереди идущим "&" - это html-сущность(  или > "мнемоники").
Чтоб таким не занимался валидатор(браузеры, кстати, тоже такое делают, правда, в отличии от валидатора, если не получилось найти эквивалент в списке замены, они так и оставят просто "&") надо просто воспользоваться сущностью "&", которая означает тот же символ "&".
И подставляет ID сессии как раз таки браузер к ссылке, а сам ID берет из кукисов.

Re: Text-based Browser

Posted: Sun Apr 21, 2013 10:11 pm
by Leency
Теперь понял насчёт &. Нужно писать функцию, которая заменяет одну строку на другую; кто подскажет как она называется? Вроде string_replace.

Ещё один момент: мальчик из группы вконтакте 99 года рождения натолкнул меня на интересную мысть по поводу таблиц. Теперь я знаю как в текущей реализации их сделать (должно быть несложно... не сложнее чем копирование папок) и очень хочу попробовать эту идую, вот только не знаю когда это будет. Завтра у меня начинается испытательный срок в моей первой IT компании - я буду тестировщиком.

Re: Text-based Browser

Posted: Sun Apr 21, 2013 11:24 pm
by Akyltist
Leency wrote:Теперь понял насчёт &. Нужно писать функцию, которая заменяет одну строку на другую; кто подскажет как она называется? Вроде string_replace.

Ещё один момент: мальчик из группы вконтакте 99 года рождения натолкнул меня на интересную мысть по поводу таблиц. Теперь я знаю как в текущей реализации их сделать (должно быть несложно... не сложнее чем копирование папок) и очень хочу попробовать эту идую, вот только не знаю когда это будет. Завтра у меня начинается испытательный срок в моей первой IT компании - я буду тестировщиком.
Отлично! Поддержка таблиц - это гуд!
Spoiler:

Code: Select all

;----------------------------------------------------- 
; Функция замены подстроки в строке 
;----------------------------------------------------- 
; lpSrc - указатель на исходную строку 
; lpDst - указатель на буфер для полученной строки 
; lpPattern - указатель на заменяемую подстроку 
; lpReplace - указатель на строку для замены 
; dNum - количество замен (0 - заменить все) 
;----------------------------------------------------- 
proc    _replace lpSrc:DWORD, lpPattern:DWORD, lpReplace:DWORD,\ 
                 lpDst:DWORD, dNum:DWORD 
  
        pusha 
  
        ; Указатель на буфер-приемник 
        mov     edx,[lpDst] 
  
        ; Счетчик замен 
        xor     ebx,ebx 
  
        ; Исходная строка не пустая? 
        mov     ecx,[lpSrc] 
        cmp     byte [ecx],0 
        jz      .loc_ret 
  
        ; Заменяемая строка не пустая? 
        mov     eax,[lpPattern] 
        cmp     byte [eax],0 
        jz      .loc_copy_all 
  
.loc_scan: 
        mov     esi,ecx 
        mov     edi,[lpPattern] 
  
        ; Исходная строка закончилась? 
        cmp     byte [esi],0 
        je      .loc_end_replace 
@@: 
        ; Строки совпали с паттерном? 
        cmp     byte [edi],0 
        je      .loc_move_replace 
  
        ; Символ совпадает с 
        lodsb 
  
        ; Заменять все вхождения? 
        cmp     [dNum],0 
        je      .loc_skip_counter 
  
        ; Уже заменили нужное количество? 
        cmp     ebx,[dNum] 
        je      .loc_move_one_char 
.loc_skip_counter: 
        cmp     al,byte [edi] 
        jne     .loc_move_one_char 
  
        inc     edi 
        jmp     @b 
  
.loc_move_replace: 
        ; Увеличить счетчик замен 
        inc     ebx 
  
        mov     ecx,esi 
  
        ; Записать заменяющую строку 
        mov     esi,[lpReplace] 
        mov     edi,edx 
@@: 
        lodsb 
        or      al,al 
        jz      .loc_scan 
        stosb 
        inc     edx 
        jmp     @b 
  
.loc_move_one_char: 
        ; Скопировать один символ 
        mov     al,byte [ecx] 
        mov     byte [edx],al 
        inc     edx 
        inc     ecx 
        jmp     .loc_scan 
  
.loc_end_replace: 
        ; Записать финальный 0 в строку 
        mov     byte [edx],0 
  
        jmp     .loc_ret 
.loc_copy_all: 
        ; Просто скопировать исходную строку 
        mov     esi,[lpSrc] 
        mov     edi,[lpDst] 
@@: 
        lodsb 
        stosb 
        or      al,al 
        jnz     @b 
.loc_ret: 
        popa 
        ret 
endp

Re: Text-based Browser

Posted: Sat Jun 22, 2013 7:53 pm
by ppk-center
Мальчик - это я

Re: Text-based Browser

Posted: Sat Jun 22, 2013 8:09 pm
by SoUrcerer
У предложенной реализации таблиц могут быть побочные стороны. Таблицы могут включать теги <br>, <hr> и картинки, что поломает форматирование - это надо учитывать.

Re: Text-based Browser

Posted: Sun Jun 23, 2013 3:42 pm
by ppk-center
ещё есть серьёзный баг ссылки типа <a href='vk.com'> (одинарная кавычка) не поддерживается вообще во всех атрибутах может быть и ="" и ='' для примера абсолютно валидный сайт типа http://myrusakov.ru

Re: Text-based Browser

Posted: Sun Jun 23, 2013 8:05 pm
by Leency
Одинарные кавычки работают http://i.imgur.com/ppRSDkD.png