Page 34 of 59

Re: Text-based Browser

Posted: Sun Jan 05, 2014 5:01 pm
by ppk-center
Благодарю! Вот предлагаю ввести изменение в код: (TWB.c)

Code: Select all

if (!chTag("blockquote") || (!chTag("fieldset")) blq_text = rez;
if (!chTag("i")) || (!chTag("em")) || (!chTag("subtitle")) || (!chTag("address")) || (!chTag("dfn")) || (!chTag("var")) {
                i_text = rez;
                return;
        }      
if (!chTag("div")) || (!chTag("article")) || (!chTag("header")) {
                IF(oldtag[0] <>'h') TextGoDown(left1, top1, width1);
                return;
        }
 if (!chTag("basefont"))
        {
                do{
                       if (!strcmp(#parametr, "color=")) text_colors[0]=GetColor(#options);
                        } while(GetNextParam());
                return;
        }
if (!chTag("center")) ||(!chTag("caption"))
        {
                if (rez) text_align = ALIGN_CENTER;
                if (!rez)
                {
                        TextGoDown(left1, top1, width1);
                        text_align = ALIGN_LEFT;
                }
                return;
        }
if (!chTag("pre")) || (!chTag("code")) || (!chTag("xmp")) pre_text = rez;
Лишних тегов не бывает! Некоторые хоть и предназначены для разных целей, но выглядят одинаково!

Re: Text-based Browser

Posted: Mon Jan 06, 2014 7:19 pm
by ppk-center
К последнему пункту можно и <listing> добавить.

Re: Text-based Browser

Posted: Sat Jan 11, 2014 12:34 pm
by ppk-center
: Извините за флуд и что никак не успокоюсь но мне а голову пришла еще одна бредовая идея: реализовать поддержку фреймов. Как всегда код написать не смогу и буду писать только слова, хотя в курсе насчет первого негласного правила! Итак, я считаю что даже текстовый браузер может поддерживать теги object, frame, iframe, embed. Каким образ, я сейчас напишу:
[spoiler]1. Если в атрибутах src или data указано изображение, то эти теги следует понимать как тег img. Не надо пожалуйста говорить что там не может быть изображений: я сам проводил эксперимент и убедился, что при таких значениях атрибутов браузер отображает как обычные картинки!
2. Если в атрибутах src или data указан адрес HTML страницы, то мы просто вставляем в код нашего документа HTML код из body документа, указанного в атрибуте.
3. При других значениях ничего выводить на экран не следует.[/spoiler]

Posted: Sat Jan 11, 2014 1:40 pm
by punk_joker
фреймы это страница в странице, и у каждого может быть свой скрол. Реализовать поддержку фреймов можно, но придется хорошенько потрудиться, в том числе и над архитектурой приложения, для беспечения большей динамичности.

Re: Text-based Browser

Posted: Sat Jan 11, 2014 8:49 pm
by ppk-center
Это временный вариант. Кстати, фреймы легче таблиц.
: Если Вы думаете, что можно добавлять только полную поддержку фреймов или никакую, то вы не правы. IE раньше тоже состоял из одних косяков и тем не менее тройка лучше двойки.

Re: Text-based Browser

Posted: Sun Jan 12, 2014 10:40 am
by Unusual
Таблицам хоть есть какое-то применение, а фреймы используется в последние 3 года только для встраивания игр в соц сетях, и рекламы.
Нет фреймов - нет приставучей рекламы.

Re: Text-based Browser

Posted: Sun Jan 12, 2014 5:54 pm
by ppk-center
GIF анимации и флеша всё равно нет. Да если пл крупному рассуждать можно поддержку фреймов в настройках убрать! Ещё раз повторюсь что лишних тегов не бывает!

Re: Text-based Browser

Posted: Mon Jan 20, 2014 1:58 am
by Leency
#4491

Полностью переписана реализация ссылок. Теперь есть объект PageLinks c массивом ссылок в нём.
У каждой ссылки есть следующие характеристики: URL, текст, положение и размер.

Это дало следующие возможности:
- Hover ссылок. Теперь нужно ещё чтобы курсор менялся при наведении.
- теперь теоретически можно пофиксить ссылки внутри тегов <center> и <right>.

Re: Text-based Browser

Posted: Mon Jan 20, 2014 2:49 am
by Leency
Кто бы мне написал обёртки для смены курсора? :)

Re: Text-based Browser

Posted: Mon Jan 20, 2014 2:59 am
by punk_joker
Leency wrote:Кто бы мне написал обёртки для смены курсора? :)
А в чем там проблема?

Re: Text-based Browser

Posted: Mon Jan 20, 2014 7:23 am
by Mario_r4
Leency wrote:Кто бы мне написал обёртки для смены курсора? :)
А типо самому слабо?

Re: Text-based Browser

Posted: Mon Jan 20, 2014 1:15 pm
by Leency
punk_joker wrote:
Leency wrote:Кто бы мне написал обёртки для смены курсора? :)
А в чем там проблема?
Не хочешь этим заняться? :)

Re: Text-based Browser

Posted: Mon Jan 20, 2014 2:49 pm
by lev
Вечерком кину если не забуду.

Re: Text-based Browser

Posted: Mon Jan 20, 2014 3:23 pm
by Leency
Было бы клёво. Кинь, пожалуйста.

Re: Text-based Browser

Posted: Mon Jan 20, 2014 8:11 pm
by ppk-center
Жаль, что в C-- нет регулярных выражений, но я прикреплю код на PHP. Этот код заменяет неизвестный для текстового браузера код на понятный ему.

Code: Select all

<?php
  protected function htmlConvertation($text_post) {
    $str_search = array(
	  "#\<dd\>(.+?)\<\/dd\>#is",
	  "#\<del\>(.+?)\<\/del\>#is",
	  "#\<ins\>(.+?)\<\/ins\>#is",
	  "#\<tr\>(.+?)\<\/tr\>#is",
	  "#\<td\>(.+?)\<\/td\>#is",
	  "#\<th\>(.+?)\<\/th\>#is",
	  "#\<p align=(.+?)\>(.+?)\<\/p\>#is",
	  "#\<div align=(.+?)\>(.+?)\<\/div\>#is",
      "#\<article\>(.+?)\<\/article\>#is",
	  "#\<main\>(.+?)\<\/main\>#is",
	  "#\<section\>(.+?)\<\/section\>#is",
	  "#\<blockquote\>(.+?)\<\/blockquote\>#is",
	  "#\<aside\>(.+?)\<\/aside\>#is",
	  "#\<audio\>(.+?)\<\/audio\>#is",
	  "#\<video\>(.+?)\<\/video\>#is",
	  "#\<datails\>(.+?)\<\/details\>#is",
	  "#\<header\>(.+?)\<\/header\>#is",
	  "#\<footer\>(.+?)\<\/footer\>#is",
      "#\<basefont\color=(.+?)\>#is",
      "#\<caption\>(.+?)\<\/caption\>#is",
      "#\<em\>(.+?)\<\/em\>#is",
	  "#\<address\>(.+?)\<\/address\>#is",
	  "#\<cite\>(.+?)\<\/cite\>#is",
      "#\<object\data=(.+?)\>(.+?)\<\/object\>#is",
	  "#\<embed\src=(.+?)\>(.+?)\<\/embed\>#is",
	  "#\<iframe\src=(.+?)\>(.+?)\<\/iframe\>#is",
	  "#\<frame\src=(.+?)\>(.+?)\<\/frame\>#is",
      "#\<xmp\>(.+?)\<\/xmp\>#is",
      "#\<listing\>(.+?)\<\/listing\>#is",
      "#\<plaintext\>(.+?)\<\/plaintext\>#is",
	  "#\<code\>(.+?)\<\/code\>#is",
    );
    $str_replace = array(
	  "<right>\\1</right>",
	  "<s>\\1</s>",
	  "<u>\\1</u>",
	  "<hr>|\\1<hr>",
	  "\\1|",
	  "\\1|",
	  "<\\1>\\2<\\1>",
	  "<\\1>\\2<\\1>",
      "<hr>\\1<hr>",
	  "<hr>\\1<hr>",
	  "<hr>\\1<hr>",
	  "<hr>\\1<hr>",
	  "<right>\\1</right>",
	  "<embed>\\1</embed>",
	  "<embed>\\1</embed>",
	  "<a href="$99">Показать все подробности</a><condition show_if="99">\\1</condition>",
	  "<center>\\1</center>",
	  "<center>\\1</center>",
      "<font color="\\1"></font>",
      "<center>\\1</center>",
      "<i>\\1</i>",
	  "<i>\\1</i>",
	  "<i>\\1</i>",
      "<img src='\\1' alt='\\2'><a href='\\1'>Object: \\2</a>",
	  "<img src='\\1' alt='\\2'><a href='\\1'>Object: \\2</a>",
	  "<img src='\\1' alt='\\2'><a href='\\1'>Frame: \\2</a>",
	  "<img src='\\1' alt='\\2'><a href='\\1'>Frame: \\2</a>",
      "<pre>\\1</pre>",
      "<pre>\\1</pre>",
      "<pre>\\1</pre>",
	  "<pre>\\1</pre>",
    );
    return preg_replace($str_search, $str_replace, $text_post);
  }
?>