Подтвердить что ты не робот

Возможно ли создать HTML-курс?

В заголовке возможно ли создать (нетривиальный) quine в HTML?

Мое определение HTML-запроса:

Нетривиальный HTML-класс - это тот, который не является нулевым и использует хотя бы один тег HTML, в предположении, что некоторая строка в HTML файле отображается браузером как обычный текст. HTML-код определяется так, что вывод q.html , отображаемый стандартным браузером, представляет собой содержимое самого q.html.

(Я открыт для комментариев по этому определению, я как бы взломал его прямо сейчас)

HTML не завершается, поэтому теорема о неподвижной точке не может быть применена, чтобы доказать, что она действительно возможна.

Однако это не обязательно означает, что HTML-курс невозможен. Или на самом деле можно доказать, что HTML-курс невозможен?

4b9b3361

Ответ 1

Это, конечно, невозможно с "простым" HTML. Очевидно, это можно было бы сделать с JavaScript, но это также возможно с CSS:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>This is the title</title>
<style type="text/css"><![CDATA[ 
* {
  display:inline;
  white-space:pre;
}
html:last-child {
  white-space:normal;
}
html:before  {content:'<html xmlns="http://www.w3.org/1999/xhtml">';}
html:after   {content:'</html>';}
head:before  {content:'<head>';}
head:after   {content:'</head>';}
title:before {content:'<title>';}
title:after  {content:'</title>';}
style:before {content:'<style type="text/css"><![CDATA[';}
style:after  {content:']]\00003e</style>';}
body:before  {content:'<body/>';position:absolute;left:0;}
]]></style>
</head>
<body/>
</html>

Ответ 2

Это невозможно. Поскольку каждый неэкранированный элемент будет интерпретироваться как разметка браузером, браузер попытается отобразить или обработать содержимое этих элементов или как элемент управления. Вы не можете отобразить элемент, который каким-то образом не экранирован, например, с тегом <pre>. Но тогда такие теги также не будут отображаться.

Конечно, вы могли бы использовать его как text/plain с соответствующими заголовками HTTP, но тогда это не HTML. Просто использование расширения .html заставит браузеры отображать его как html в любом случае в большинстве (всех?) Случаях.

Ответ 3

Я знаю, что на этот вопрос уже давно дан ответ, но я хотел оставить эту ссылку здесь, потому что я нашел этот вопрос при поиске ссылки.

Да, это возможно: https://secretgeek.github.io/html_wysiwyg/html.html

Ответ 4

Конечно, точно так же, как со всем HTML "what ifs", ответ просто используется JQuery!