From ba28bfb5a8f1c91b97f3d4a089c3cd1bb28171ed Mon Sep 17 00:00:00 2001 From: "Kirill Lipatov (Leency)" Date: Sat, 3 Mar 2012 23:29:02 +0000 Subject: [PATCH] HTMLv: "../" works, URL "/sys/bg.gif" will be opened in kiv, except text-view in HTMLv git-svn-id: svn://kolibrios.org@2428 a494cfbc-eb01-0410-851d-a64ba20cac60 --- programs/network/htmlv/browser/HTMLv.c-- | 2 - programs/network/htmlv/browser/History.txt | 6 +++ programs/network/htmlv/browser/TWB.h | 46 ++++++++++++------- .../network/htmlv/browser/include/acid=1.htm | 24 ++-------- 4 files changed, 40 insertions(+), 38 deletions(-) diff --git a/programs/network/htmlv/browser/HTMLv.c-- b/programs/network/htmlv/browser/HTMLv.c-- index f30742d3b3..e9196a4d88 100644 --- a/programs/network/htmlv/browser/HTMLv.c-- +++ b/programs/network/htmlv/browser/HTMLv.c-- @@ -53,7 +53,6 @@ void main() //] Asper IF (param) copystr(#param,#URL); - BrowserHistory.AddUrl(); copystr(#URL,#editURL); if (!strcmp(get_URL_part(5),"http:"))) HttpLoad(); @@ -103,7 +102,6 @@ void main() ELSE { WB1.Scan(btn); - //WB1.HttpLoad(#URL); } BREAK; case evKey: diff --git a/programs/network/htmlv/browser/History.txt b/programs/network/htmlv/browser/History.txt index 93243ce0b0..eb05a11743 100644 --- a/programs/network/htmlv/browser/History.txt +++ b/programs/network/htmlv/browser/History.txt @@ -1,3 +1,9 @@ +хх.хх.12 -- v0.80 +- поддержка "bgcolor=" и "text="; +- обработка перехода вверх "../"; +- jpg, gif, png открываются через kiv. + + 29.02.12 -- v0.76 -- 11.3 - исправлена работа кнопки "Назад"; - в историю посещённых страниц не может быть добавлено 2 одинаковых адреса подряд; diff --git a/programs/network/htmlv/browser/TWB.h b/programs/network/htmlv/browser/TWB.h index a0ac669dfe..3e4942475a 100644 --- a/programs/network/htmlv/browser/TWB.h +++ b/programs/network/htmlv/browser/TWB.h @@ -62,23 +62,31 @@ char line[330], void TWebBrowser::Scan(dword id) { if (id > 399) { - //Lee 21.02 { + GetURLfromPageLinks(id); + + //эту всю хрень нужно в GetNewUrl() переместить IF (URL[0] == '#') { //мы не умеем переходить по ссылке внутри документа. Пока что... copystr(#editURL, #URL); return; } - - GetURLfromPageLinks(id); URL[find_symbol(#URL, '#')-1] = 0x00; //заглушка, лучше, чем ничего (хабр, например, будет работать) - + GetNewUrl(); - if (!strcmp(get_URL_part(5),"http:"))) HttpLoad(); - //Lee 21.02 } - + //прыгает изображение полоса, белая рисуется снизу + if (!strcmp(#URL + strlen(#URL) - 4, ".gif")) || (!strcmp(#URL + strlen(#URL) - 4, ".png")) || (!strcmp(#URL + strlen(#URL) - 4, ".jpg")) + { + RunProgram("/sys/media/kiv", #URL); + copystr(#editURL, #URL); + return; + } + copystr(#URL, #editURL); za_kadrom = count = 0; + + if (!strcmp(get_URL_part(5),"http:")) HttpLoad(); + ShowPage(#URL); return; } @@ -175,23 +183,27 @@ void TWebBrowser::Scan(dword id) { } void GetNewUrl(){ - IF (!strcmp(get_URL_part(2),"./")) copystr(#URL+1,#URL); - - //IF (!strcmp(get_URL_part(3),"../")) - //{ - // //DrawTitle(#URL+7); - //} - if (strcmp(get_URL_part(3),"/rd")<>0) && (strcmp(get_URL_part(5),"/sys/")<>0) && (strcmp(get_URL_part(3),"/hd")<>0) - && (strcmp(get_URL_part(3),"/bd")<>0) && (strcmp(get_URL_part(3),"/fd")<>0) && (strcmp(get_URL_part(3),"/cd")<>0) + IF (!strcmp(get_URL_part(2),"./")) copystr(#URL+2,#URL); + + if (URL[0] <> '/') && (strcmp(get_URL_part(5),"http:")<>0) && (strcmp(get_URL_part(5),"mailt")<>0) && (strcmp(get_URL_part(5),"ftp:/")<>0) { copystr(BrowserHistory.CurrentUrl(), #editURL); //достаём адрес текущей страницы - IF (editURL[find_symbol(#editURL, '/')-2]<>'/') // если не http://pagename.ua + _CUT_ST_LEVEL_MARK: + + IF (editURL[find_symbol(#editURL, '/')-2]<>'/') // если не http://pagename.ua <-- нахрена эта строка??? { editURL[find_symbol(#editURL, '/')] = 0x00; //обрезаем её урл до последнего / - IF (URL[0]=='/') copystr(#URL+1,#URL); } + + IF (!strcmp(get_URL_part(3),"../")) //на уровень вверх + { + copystr(#URL+3,#URL); + editURL[find_symbol(#editURL, '/')-1] = 0x00; //обрезаем её урл до последнего / + goto _CUT_ST_LEVEL_MARK; + } + copystr(#URL, #editURL + strlen(#editURL)); //клеим новый адрес copystr(#editURL, #URL); } diff --git a/programs/network/htmlv/browser/include/acid=1.htm b/programs/network/htmlv/browser/include/acid=1.htm index e274a2414a..10aea25450 100644 --- a/programs/network/htmlv/browser/include/acid=1.htm +++ b/programs/network/htmlv/browser/include/acid=1.htm @@ -57,25 +57,11 @@ табы. Кое-какие символы: " & < > •   © ® „ “ — Їжачок іншого боку р. Євфрат з'їв ґрунт та єврейський ґербалайф.
-

На главную страницу

-

Чтение не последнего тега

-

Посмотрите няшное изображение

- - -1 ' -2 " -3 ↑ -4 &uarr -5 ↓ -6 « -7 » -8 > -9 − -10 < -11 > -12 – -13 ’ -14 “ +

На главную страницу index.htm

+

/sys/index.htm

+

index.htm#home

+

./index.htm

+

Фоновая картинка