Ну вот, что-то можно опубликовать. Файл appinfo.json:
- Код: Выделить всё
{"id": "zimfer.app.authorru",
"version": "1.0.0",
"vendor": "Zimfer Alexander",
"type": "web",
"main": "index.html",
"title": "Who is the author",
"icon": "icon80.png",
"largeIcon": "icon130.png",
"disableBackHistoryAPI": true,
"bgColor": "black",
"iconColor": "black",
"splashColor": "black",
"splashBackground": "img/_fon.png",
"appDescription": "A quiz about the paintings of great Russian artists. Russia 2026."}
Иконки для приложения 80х80 и 130х130 пиксель:

- Иконка 80х80
- icon80.png (9.97 КБ) Просмотров: 825

- Иконка 130х130
- icon130.png (25.2 КБ) Просмотров: 825
Индексный файл index.html:
- Код: Выделить всё
<!DOCTYPE html>
<html>
<head>
<title>Author</title>
<link rel="stylesheet" href="styles.css" type="text/css"> <!-- подключаем свой CSS-файл -->
</head>
<script src="webOSTVjs-1.2.4/webOSTV.js" charset="utf-8"></script>
<script src="webOSTVjs-1.2.4/webOSTV-dev.js" charset="utf-8"></script>
<script src="js/frame.js" type="text/javascript" charset="utf-8"></script>
<script src="script.js" type="text/javascript" charset="utf-8"></script>
<body>
<div id="container">
<div id="header1">
<div id="text1" class="text-header">Who is the author?</div>
</div>
<div id="content-main"></div>
<div id="content-pla1">
<img id="fram">
<p id="fram-p" class="text-white"></p>
</div>
<div id="content-pla2">
<button id="but1" class="item button-olive" onclick="Answer(otvet[1],1)">Ответ1</button>
<button id="but2" class="item button-olive" onclick="Answer(otvet[2],2)">Ответ2</button>
<button id="but3" class="item button-olive" onclick="Answer(otvet[3],3)">Ответ3</button>
<button id="but4" class="item button-olive" onclick="Answer(otvet[4],4)">Ответ4</button>
<button id="but5" class="item button-olive" onclick="Answer(otvet[5],5)">Ответ5</button>
<button id="but6" class="item button-olive" onclick="Answer(otvet[6],6)">Ответ6</button>
<div id="text2"></div>
</div>
<div id="content-set">
<h2 id="set-h2" class="h2-white"></h2><br><br>
<button id="button-ru" class="item button-yel" onclick="SaveLanguage()">RU</button>
</div>
<div id="content-help">
<h2 id="help-h2" class="h2-white">Help</h2><br><br>
<p id="help-p" class="p-white">Developer: Zimfer Alexander</p>
</div>
<div id="clear"></div>
<div id="footer-menu" >
<button id="button-play" class="item button-menu" onclick="Play()">Play</button>
<button id="button-set" class="item button-menu" onclick="Set()">Settings</button>
<button id="button-help" class="item button-menu" onclick="Help()">Help</button>
</div>
<div id="footer3"></div>
</div>
</body>
</html>
Приложение будет иметь 3 стандартные кнопки: Старт/Play, Настройки/Setting, Помощь/Help. Такой дизайн у меня уже устаканился.
Столкнулся со следующей проблемой: при правильном ответе картинка меняется на следующую. При неправильном - должен раздаваться звук ошибки и выводиться подсказка.
И вот звук ошибки на телевизоре не воспроизводится. На компьютере все нормально звучит, а на телевизоре - нет. Долго разбирался, оказалось - конкретно этот файл error.mp3 не воспроизводился телевизором.
Поменял на другой, стало все нормально. Почему не играет на ТВ - загадка. В нём не заполнены теги Альбом, Исполнители, Название.
Но я озвучивал вопросы через сайт для ПДД, там тоже эти теги пустые, но файл играется телевизором.
Отдельно в файле frame.js разместил массив с картинами:
- Код: Выделить всё
var tickets = [["Image", "KeyRU", "KeyEN", "Error", "HelpRu", "HelpEn"],
["img/vsadnitsa.jpg", "Карл Брюллов", "Karl Bryullov", "", "Карл Брюллов (1799–1852). Всадница, 1832", "Karl Bryullov (1799–1852). Horsewoman, 1832"],
["img/grachi-prileteli.jpg", "Алексей Саврасов", "Alexei Savrasov", "", "Алексей Саврасов (1830–1897). Грачи прилетели, 1871", "Alexei Savrasov (1830–1897). The Rooks Have Returned, 1871"],
["img/neizvestnaya.jpg", "Иван Крамской", "Ivan Kramskoy", "", "Иван Крамской (1837-1887). Неизвестная, 1883", "Ivan Kramskoy (1837-1887). Portrait of an Unknown Woman, 1883"],
["img/utro-v-sosnovom-lesu.jpg", "Иван Шишкин", "Ivan Shishkin", "", "Иван Шишкин (1832–1898). Утро в сосновом лесу, 1889", "Ivan Shishkin (1832–1898). Morning in a Pine Forest, 1889"],
["img/demon-sidyashij.jpg", "Михаил Врубель", "Mikhail Vrubel", "", "Михаил Врубель (1856–1910). Демон сидящий, 1890", "Mikhail Vrubel (1856–1910). The Demon Seated, 1890"],
["img/kupanie-krasnogo-konya.jpg", "Кузьма Петров-Водкин", "Kuzma Petrov-Vodkin", "", "Кузьма Петров-Водкин (1878-1939). Купание красного коня, 1912", "Kuzma Petrov-Vodkin (1878-1939). Bathing of a Red Horse, 1912"],
["img/the-9-wave.jpg", "Иван Айвазовский", "Ivan Aivazovsky", "", "Иван Айвазовский (1817-1900). Девятый вал, 1850", "Ivan Aivazovsky (1817-1900). The Ninth Wave, 1850"],
["img/svyataya-troica.jpg", "Андрей Рублев", "Andrei Rublev", "", "Андрей Рублев (около 1360-1430). Троица, 1422", "Andrei Rublev (1360-1430). The Trinity, 1422"],
["img/noch-na-dnepre.jpg", "Архип Куинджи", "Arkhip Kuindzhi", "", "Архип Куинджи (1841-1910). Лунная ночь на Днепре, 1882", "Arkhip Kuindzhi (1842-1910). Moonlit Night on the Dnieper, 1882"],
["img/boyarynya-morozova.jpg", "Василий Суриков", "Vasiliy Surikov", "", "Василий Суриков (1848–1916). Боярыня Морозова, 1887", "Vasiliy Surikov (1848–1916). Boyaryna Morozova, 1887"],];
Вроде всё просто, сначала файл изображения, затем правильный ответ/автор на русском и английском, пустое поле, в котором фиксируется факт ответа, далее подсказка на русском и английском.
Весь script.js приводить не буду, но есть функции, которые уже устоялись и переходят из одного приложения в другое почти без изменений. Приведу их в следующем посте.