<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.forkbrowser.top/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mentos</id>
	<title>Браузер Fork - Wiki - Вклад [ru]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.forkbrowser.top/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mentos"/>
	<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/Mentos"/>
	<updated>2026-04-16T08:47:52Z</updated>
	<subtitle>Вклад</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=DLE_FXML&amp;diff=2013</id>
		<title>DLE FXML</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=DLE_FXML&amp;diff=2013"/>
		<updated>2025-05-25T13:23:15Z</updated>

		<summary type="html">&lt;p&gt;Mentos: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;FXML DLE киносайт для ForkPlayer с балансеров moonwalk и hdgo или playlist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Обновление от 12.06.2019&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* обработка доп.поля playlist с форматом [{&amp;quot;title&amp;quot;:&amp;quot;Сезон 1&amp;quot;,&amp;quot;folder&amp;quot;:[{&amp;quot;title&amp;quot;:&amp;quot;Серія 1&amp;quot;,&amp;quot;file&amp;quot;:&amp;quot;http&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Серія 2&amp;quot;,&amp;quot;file&amp;quot;:&amp;quot;http&amp;quot;}]]&lt;br /&gt;
* автоматическая вставка изображений из short_story если доп. поле poster пустое или отсутствует&lt;br /&gt;
* переход на следующую страницу поиска&lt;br /&gt;
* кнопки меню Добавить портал в Глоб. поиск и закладки&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Установка на DLE версии 13 и выше&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Скачайте архив https://github.com/vengo634/DLE_FXML/blob/master/DLE_FXML-plugin.zip . Откройте на вашем сайте в админпанели Утилиты / Управление плагинами и загрузите этот ZIP архив.&lt;br /&gt;
&lt;br /&gt;
Для версий ниже необходимо вручную выполнить замены кода с файла fxml-dle-dlja-kinosajtov.xml и загрузить шаблон и модуль fxml&lt;br /&gt;
&lt;br /&gt;
В ForkPlayer сайт открывать по той же ссылке что и ваш сайт, информация по установке ForkPlayer на смарт тв [[Установить ForkPlayer|http://wiki.wiki.forkbrowser.top/wiki/Установить_ForkPlayer]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ИНФОРМАЦИЯ ПО ЗАПИСЯМ&#039;&#039;&#039; вашей DLE &lt;br /&gt;
&lt;br /&gt;
Необходимо создать дополнительные поля moonwalk и hdgo или playlist, для каждой вашей записи добавлять в эти поля ссылки на плеера этих балансеров. &lt;br /&gt;
&lt;br /&gt;
Для иконки используется дополнительное поле poster&lt;br /&gt;
&lt;br /&gt;
Реклама VAST2.0 В шаблоне templates/fxml/main.tpl по умолчанию установлена рекламная ссылка, ее можно изменить на свою (описание формата VAST &amp;lt;nowiki&amp;gt;https://specs.adfox.ru/page/221&amp;lt;/nowiki&amp;gt; ) или удалить&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=%D0%A4%D0%BE%D1%80%D0%BC%D0%B0%D1%82_XML_%D0%B8_M3U_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86_ForkPlayer&amp;diff=2012</id>
		<title>Формат XML и M3U страниц ForkPlayer</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=%D0%A4%D0%BE%D1%80%D0%BC%D0%B0%D1%82_XML_%D0%B8_M3U_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86_ForkPlayer&amp;diff=2012"/>
		<updated>2025-05-25T13:21:57Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* Разработка xml/m3u страниц в интернет под браузер ForkPlayer, примеры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=[[Разработка]] xml/m3u страниц в интернет под браузер ForkPlayer, примеры=&lt;br /&gt;
&lt;br /&gt;
Начать разработку страниц в интернет под браузер ForkPlayer отличное решение! Благодаря поисковой системе интегрированной в ForkPlayer ваша страница может быстро стать популярной.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; &#039;&#039;&#039;С чего начать&amp;amp;nbsp;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Загрузите XML/M3U файлы с ссылками на контент на текстовый хостинг по типу https://pastebin.com/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Используя свой хостинг можно создавать произвольные страницы&#039;&#039;&#039;&amp;lt;br /&amp;gt; •&amp;amp;nbsp;[[Javascript:void(0);|Исходный код XML]]&amp;amp;nbsp;стартовой страницы со своим фоном, названием, иконкой, видом в виде плитки&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;?xml version=&#039;1.0&#039; encoding=&#039;UTF-8&#039;&amp;amp;nbsp;?&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;typeList&amp;gt;&amp;lt;![CDATA[start]]&amp;gt;&amp;lt;/typeList&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;background-image&amp;gt;&amp;lt;![CDATA[http://background [1]]]&amp;gt;&amp;lt;/background-image&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;nowiki&amp;gt;&amp;lt;title&amp;gt;&amp;lt;![CDATA[Придуманное название страницы]]&amp;gt;&amp;lt;/title&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;icon&amp;gt;&amp;lt;![CDATA[http://icon [2]]]&amp;gt;&amp;lt;/icon&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;items&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;channel&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;nowiki&amp;gt;&amp;lt;title&amp;gt;&amp;lt;![CDATA[list1]]&amp;gt;&amp;lt;/title&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA[http://ссылка на другую страницу]]&amp;gt;&amp;lt;/playlist_url&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;br /&amp;gt; ]]&amp;gt;&amp;lt;/description&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;logo_30x30&amp;gt;&amp;lt;![CDATA[http://obovse.ru/smarttv/img/m3u.png [3]]]&amp;gt;&amp;lt;/logo_30x30&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;/channel&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;channel&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;nowiki&amp;gt;&amp;lt;title&amp;gt;&amp;lt;![CDATA[list2]]&amp;gt;&amp;lt;/title&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA[http://ссылка на другую страницу]]&amp;gt;&amp;lt;/playlist_url&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;br /&amp;gt; ]]&amp;gt;&amp;lt;/description&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;logo_30x30&amp;gt;&amp;lt;![CDATA[http://obovse.ru/smarttv/img/m3u.png [4]]]&amp;gt;&amp;lt;/logo_30x30&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;/channel&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;/items&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
•&amp;amp;nbsp;[[Javascript:void(0);|Исходный код XML]]&amp;amp;nbsp;обычной страницы с файлами, поиском, переходом на след. страницу может выглядеть так&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;?xml version=&#039;1.0&#039; encoding=&#039;UTF-8&#039;&amp;amp;nbsp;?&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;next_page_url&amp;gt;&amp;lt;![CDATA[http://ссылка на следующую страницу]]&amp;gt;&amp;lt;/next_page_url&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;nowiki&amp;gt;&amp;lt;title&amp;gt;&amp;lt;![CDATA[Придуманное название страницы]]&amp;gt;&amp;lt;/title&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;icon&amp;gt;&amp;lt;![CDATA[http://icon [5]]]&amp;gt;&amp;lt;/icon&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;items&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;channel&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;nowiki&amp;gt;&amp;lt;title&amp;gt;&amp;lt;![CDATA[Поиск]]&amp;gt;&amp;lt;/title&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;search_on&amp;gt;&amp;lt;![CDATA[Введите поисковую фразу]]&amp;gt;&amp;lt;/search_on&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA[http://ссылка на ваш скрипт обрабатывающий поиск с _GET параметром search]]&amp;gt;&amp;lt;/playlist_url&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;/channel&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;channel&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;nowiki&amp;gt;&amp;lt;title&amp;gt;&amp;lt;![CDATA[file1]]&amp;gt;&amp;lt;/title&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;stream_url&amp;gt;&amp;lt;![CDATA[http://ссылка на файл]]&amp;gt;&amp;lt;/stream_url&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;br /&amp;gt; ]]&amp;gt;&amp;lt;/description&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;logo_30x30&amp;gt;&amp;lt;![CDATA[http://obovse.ru/smarttv/img/m3u.png [6]]]&amp;gt;&amp;lt;/logo_30x30&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;/channel&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;channel&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;nowiki&amp;gt;&amp;lt;title&amp;gt;&amp;lt;![CDATA[file2]]&amp;gt;&amp;lt;/title&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;stream_url&amp;gt;&amp;lt;![CDATA[http://ссылка на файл 2]]&amp;gt;&amp;lt;/stream_url&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;description&amp;gt;&amp;lt;![CDATA[&amp;lt;br /&amp;gt; ]]&amp;gt;&amp;lt;/description&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;logo_30x30&amp;gt;&amp;lt;![CDATA[http://obovse.ru/smarttv/img/m3u.png [7]]]&amp;gt;&amp;lt;/logo_30x30&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;/channel&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;/items&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
•&amp;amp;nbsp;[[Javascript:void(0);|Исходный код M3U]]&amp;amp;nbsp;плейлиста со своей иконкой, названием (title) и ссылками на другие плейлисты и вашу главную страницу&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;#EXTM3U&amp;lt;br /&amp;gt; #PLAYLIST:Название плейлиста&amp;lt;br /&amp;gt; #ICON:http://link_to_image128px_128px&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;BACKGROUND-IMAGE: &amp;lt;code&amp;gt;[http://link_to_image128px_128px http://link_to_image1280px_650px]&amp;lt;br /&amp;gt; #EXTINF:-1,Ссылка на видео 1&amp;lt;br /&amp;gt; http://...video1&amp;lt;br /&amp;gt; #EXTINF:-1,Ссылка на видео 2&amp;lt;br /&amp;gt; http://...video2&amp;lt;br /&amp;gt; #EXTINF:-1,Ссылка на ваш другой плейлист&amp;lt;br /&amp;gt; https://pastebin.com/index/ftthL10A#.m3u&amp;lt;br /&amp;gt; #EXTINF:-1 tvg-logo=&amp;quot;https://cdn2.iconfinder.com/data/icons/picons-basic-1/57/basic1-007_house_home-128.png&amp;quot;,Ссылка на главную страницу&amp;lt;br /&amp;gt; http://mylist.obovse.ru/my_home_page#.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
•&amp;amp;nbsp;[[Javascript:void(0);|Все доступные теги XML страницы]]&lt;br /&gt;
&lt;br /&gt;
— В начале XML (размещаются&amp;amp;nbsp;&#039;&#039;&#039;перед&#039;&#039;&#039;&amp;amp;nbsp;тегом &amp;lt;items&amp;gt;)&amp;lt;br /&amp;gt; &amp;lt;title&amp;gt;,&amp;lt;icon&amp;gt;,&amp;lt;next_page_url&amp;gt;,&amp;lt;typeList&amp;gt;,&amp;lt;is_iptv&amp;gt;,&amp;lt;all_description&amp;gt;,&amp;lt;background-image&amp;lt;&amp;lt;br /&amp;gt; — Теги элемента списка (между &amp;lt;channel&amp;gt;&amp;lt;/channel&amp;gt;)&amp;lt;br /&amp;gt; &amp;lt;title&amp;gt;,&amp;lt;stream_url&amp;gt;,&amp;lt;logo_30x30&amp;gt;,&amp;lt;description&amp;gt;,&amp;lt;category&amp;gt;,&amp;lt;category_id&amp;gt;,&amp;lt;playlist_url&amp;gt;,&amp;lt;parser&amp;gt;,&amp;lt;mb_parser&amp;gt;,&amp;lt;search_on&amp;gt;,&amp;lt;jtvname&amp;gt;,&amp;lt;value&amp;gt;,&amp;lt;group&amp;gt;,&amp;lt;subtitles&amp;gt;,&amp;lt;yellow_url&amp;gt;,&amp;lt;yellow_title&amp;gt;,&amp;lt;yellow_parser&amp;gt;,&amp;lt;location&amp;lt;&lt;br /&gt;
&lt;br /&gt;
•&amp;amp;nbsp;[[Javascript:void(0);|Дополнительные функции плейлиста и значение тегов]]&lt;br /&gt;
&lt;br /&gt;
1.&amp;amp;nbsp;&#039;&#039;&#039;Запрет сохранения.&#039;&#039;&#039;&amp;amp;nbsp;Если в имени файла или пути к плейлисту присутствует no_save (например mylist_no_save.m3u или http://mylist.obovse.ru/bestiptv/vip1_no_save/allchannels.m3u) пользователям будет запрещено добавлять содержимое в закладки, не будет записываться в историю просмотров, в кеш, не будет индексироваться поисковиком, отображаться в Топе XML плейлистов, Быстром поиске (выпадающий список подсказок при вводе url).&amp;lt;br /&amp;gt; 2.&amp;amp;nbsp;&#039;&#039;&#039;Отображение плиткой&#039;&#039;&#039;: добавляем тег typeList с параметром start&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt;&amp;lt;?xml version=&#039;1.0&#039; encoding=&#039;UTF-8&#039;&amp;amp;nbsp;?&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;typeList&amp;gt;start&amp;lt;/typeList&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;items&amp;gt;&amp;lt;br /&amp;gt; ...элементы плейлиста&amp;lt;br /&amp;gt; &amp;lt;/items&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt; 3.&amp;amp;nbsp;&#039;&#039;&#039;Своя надпись и ссылка при нажатии желтой кнопки на пульте&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;&amp;lt;br /&amp;gt; Теги &amp;lt;yellow_url&amp;gt;,&amp;lt;yellow_title&amp;gt;,&amp;lt;yellow_parser&amp;gt; в &amp;lt;channel&amp;gt;&amp;lt;br /&amp;gt; 4.&amp;amp;nbsp;&#039;&#039;&#039;Переадресация&#039;&#039;&#039;, эмуляция выбора элемента списка &amp;lt;channel&amp;gt;&amp;lt;br /&amp;gt; Добавляем &amp;lt;location&amp;gt;1&amp;lt;/location&amp;gt; в нужном элементе списка &amp;lt;channel&amp;gt;&amp;lt;br /&amp;gt; 5.&amp;amp;nbsp;&#039;&#039;&#039;Открыть свою html страницу&#039;&#039;&#039;&amp;amp;nbsp;ForkPlayer при этом будет закрыт — в &amp;lt;channel&amp;gt; указываем&amp;lt;br /&amp;gt; &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA[&#039;&#039;&#039;html://&#039;&#039;&#039;http..your_http_link]]&amp;gt;&amp;lt;/playlist_url&amp;gt;&amp;lt;br /&amp;gt; 6.&amp;amp;nbsp;&#039;&#039;&#039;Задать свое название,фон и иконку&#039;&#039;&#039;&amp;amp;nbsp;— по ним также будет проходить индексация поисковиком&amp;lt;br /&amp;gt; &#039;&#039;&#039;&amp;amp;nbsp;— в XML плейлисте&#039;&#039;&#039;&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt;&amp;lt;?xml version=&#039;1.0&#039; encoding=&#039;UTF-8&#039;&amp;amp;nbsp;?&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;title&amp;gt;Название страницы&amp;lt;/title&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;icon&amp;gt;http://link_to_image32px_32px&amp;lt;/icon&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;background-image&amp;gt;&amp;lt;![CDATA[https://images.wallpaperscraft.ru/image/fon_nebo_tochki_svet_83482_1280x720.jpg [8]]]&amp;gt;&amp;lt;/background-image&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;items&amp;gt;&amp;lt;br /&amp;gt; ...элементы плейлиста&amp;lt;br /&amp;gt; &amp;lt;/items&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt; &#039;&#039;&#039;&amp;amp;nbsp;— в M3U плейлисте&#039;&#039;&#039;&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt;#EXTM3U&amp;lt;br /&amp;gt; #PLAYLIST:Название плейлиста&amp;lt;br /&amp;gt; #ICON:http://link_to_image32px_32px&amp;lt;br /&amp;gt; #BACKGROUND-IMAGE:https://images.wallpaperscraft.ru/image/fon_nebo_tochki_svet_83482_1280x720.jpg&amp;lt;br /&amp;gt; #EXTINF:100,Track Title&amp;lt;br /&amp;gt; music/Track01.mp3&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt; 7.&amp;amp;nbsp;&#039;&#039;&#039;Своя фоновая картинка&#039;&#039;&#039;&amp;amp;nbsp;в ForkPlayer при открывании вашего плейлиста — тег&amp;amp;nbsp;background-image, ширина 1280px, высота 700px&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt;&amp;lt;?xml version=&#039;1.0&#039; encoding=&#039;UTF-8&#039;&amp;amp;nbsp;?&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;background-image&amp;gt;http://your_image.jpg&amp;lt;/background-image&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;items&amp;gt;&amp;lt;br /&amp;gt; ...элементы плейлиста&amp;lt;br /&amp;gt; &amp;lt;/items&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
•&amp;amp;nbsp;[[Javascript:void(0);|M3U плейлист:&amp;amp;nbsp;]](с категориями)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;#EXTM3U&amp;lt;br /&amp;gt; #EXTINF:-1 group-title=&amp;quot;Категория1;Категория2&amp;quot;,Mezzo Live HD&amp;lt;br /&amp;gt; http://192.168.1.1:8024&amp;lt;br /&amp;gt; #EXTINF:-1 group-title=&amp;quot;Категория2&amp;quot;,Домашний&amp;lt;br /&amp;gt; http://192.168.1.1:8025&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
[https://pastebin.com/raw/ftthL10A Пример M3U плейлиста c торрент файлами, категориями, произвольным названием страницы, иконкой страницы]&lt;br /&gt;
&lt;br /&gt;
•&amp;amp;nbsp;[[Javascript:void(0);|XML плейлист с категориями:]]&lt;br /&gt;
&lt;br /&gt;
Вариант 1, с категориями&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;?xml version=’1.0′ encoding=’UTF-8′&amp;amp;nbsp;?&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;items&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt;&amp;lt;category&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;category_id&amp;gt;1&amp;lt;/category_id&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;category_title&amp;gt;Категория 1&amp;lt;/category_title&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;/category&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;category&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;category_id&amp;gt;2&amp;lt;/category_id&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;category_title&amp;gt;Категория 2&amp;lt;/category_title&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;/category&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt;&amp;lt;channel&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;title&amp;gt;Название 1&amp;lt;/title&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt;&amp;lt;category_id&amp;gt;1,2&amp;lt;/category_id&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA[ссылка на плейлист&amp;amp;nbsp;1]]&amp;gt;&amp;lt;/playlist_url&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;/channel&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;channel&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;title&amp;gt;Название 2&amp;lt;/title&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt;&amp;lt;category_id&amp;gt;2&amp;lt;/category_id&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA[ссылка на плейлист 2]]&amp;gt;&amp;lt;/playlist_url&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;/channel&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;/items&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Вариант&amp;amp;nbsp;2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;?xml version=’1.0′ encoding=’UTF-8′&amp;amp;nbsp;?&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;items&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;channel&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;title&amp;gt;Название 1&amp;lt;/title&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt;&amp;lt;logo_30x30&amp;gt;http://your_logo.png&amp;lt;/logo_30x30&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;stream_url&amp;gt;&amp;lt;![CDATA[ссылка на видеофайл 1]]&amp;gt;&amp;lt;/stream_url&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;/channel&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;channel&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;title&amp;gt;Название 2&amp;lt;/title&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;stream_url&amp;gt;&amp;lt;![CDATA[ссылка на видеофайл 2]]&amp;gt;&amp;lt;/stream_url&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;/channel&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;/items&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
•&amp;amp;nbsp;[[Javascript:void(0);|TXT плейлист:]]&amp;amp;nbsp;c прямыми ссылками на файлы&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;http://brb.to/get/dl/8ozpf1fnvdja2qadkojxvudmx.0/Supernatural.s06e01.mkv&amp;lt;br /&amp;gt; http://brb.to/get/dl/8ozpf1fnvdja2qadkojxvuah5.0/Supernatural.s06e02.mkv&amp;lt;br /&amp;gt; http://brb.to/get/dl/8ozpf1fnvdja2qadkojxvtuo9.0/Supernatural.s06e03.mkv&amp;lt;br /&amp;gt; http://brb.to/get/dl/8ozpf1fnvdja2qadkok2bo22x.0/Supernatural.s06e04.mkv&amp;lt;br /&amp;gt; http://brb.to/get/dl/8ozpf1fnvdja2qadkok2bnyx5.0/Supernatural.s06e05.mkv&amp;lt;/code&amp;gt; &amp;lt;nav id=&amp;quot;nav-single&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/nav&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=FXML-%D1%81%D0%B0%D0%B9%D1%82&amp;diff=2011</id>
		<title>FXML-сайт</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=FXML-%D1%81%D0%B0%D0%B9%D1%82&amp;diff=2011"/>
		<updated>2025-05-25T13:09:00Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* Список fxml-сайтов по популярности */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;FXML-сайт — одна или несколько логически связанных между собой [[FXML|fxml]]-страниц; также место расположения контента сервера. Обычно fxml-сайт в Интернете представляет собой массив связанных данных, имеющий уникальный адрес и воспринимаемый пользователем как единое целое, доступ к ним происходит по протоколу HTTP.&lt;br /&gt;
&lt;br /&gt;
FXML-сайт, как система электронных документов (файлов данных и кода) может принадлежать частному лицу или организации и быть доступным в компьютерной сети под общим доменным именем и IP-адресом или локально (например с USB накопителя) на одном устройстве.&lt;br /&gt;
&lt;br /&gt;
Для просмотра fxml-сайтов используют браузер понимающий спецификацию кода [[FXML]]&lt;br /&gt;
&lt;br /&gt;
==Устройство==&lt;br /&gt;
Страницы fxml-сайтов — это набор текстовых файлов, размеченных на языке [[FXML]] в XML или JSON формате. Эти файлы, будучи загруженными посетителем на его устройство, понимаются и обрабатываются &#039;&#039;браузером&#039;&#039; и выводятся на средство отображения пользователя (монитор, экран телефона, телевизора). Язык FXML позволяет форматировать текст, различать в нём функциональные элементы, создавать гипертекстовые ссылки (&#039;&#039;гиперссылки&#039;&#039;) и вставлять в отображаемую страницу изображения, звукозаписи и другие мультимедийные элементы. Отображение страницы можно изменить добавлением стилей на языке CSS, что позволяет централизовать в определённом файле все элементы форматирования (размер и цвет заглавных букв 2-го уровня, размер и вид блока вставки и другое) или сценариев, с помощью которого имеется возможность просматривать страницы с событиями или действиями.&lt;br /&gt;
&lt;br /&gt;
Страницы fxml-сайтов могут быть простым статичным набором файлов или создаваться специальной компьютерной программой на сервере. Они могут быть либо сделаны на заказ для отдельного fxml-сайта, либо быть готовым продуктом, рассчитанным на некоторый класс сайтов. Некоторые из них могут обеспечить владельцу сайта возможность гибкой настройки структурирования и вывода информации на fxml-сайте. Такие управляющие программы называются системами управления содержимым (CMS). Первой такой CMS есть [[FXML CMS]]&lt;br /&gt;
&lt;br /&gt;
FXML-сайты могут содержать подразделы, ориентированные целиком на ту или иную аудиторию. Аудитория может различаться по виду используемого оборудования, по используемому языку аудитории.&lt;br /&gt;
&lt;br /&gt;
==Создание сайтов==&lt;br /&gt;
&lt;br /&gt;
===Разработка дизайна===&lt;br /&gt;
Веб-дизайнеры разрабатывают макеты веб-шаблонов fxml-страниц. Дизайнер определяет, каким образом конечный потребитель будет получать доступ к информации и услугам fxml-сайта — то есть, занимается непосредственно разработкой пользовательского интерфейса. В большинстве случаев fxml-страницы включают в себя графические элементы. Их подготовкой занимаются художники, иллюстраторы, фотографы, технические дизайнеры, шрифтовики, и т. д. Готовые шаблоны показываются заказчику. В этот момент страницы ещё не могут содержать конечного наполнения (это в обязанности дизайнера не входит). Чтобы макеты выглядели более наглядно, в них помещается произвольное содержимое. На сленге дизайнеров такое содержимое называется &#039;&#039;рыбой&#039;&#039;. Если заказчик удовлетворён внешним видом шаблонов, то наступает следующая фаза разработки — вёрстка страниц fxml-сайта.&lt;br /&gt;
&lt;br /&gt;
===Вёрстка===&lt;br /&gt;
Верстальщик получает макеты шаблонов в виде простых изображений (например, в формате JPEG или PNG), либо разбитых по слоям (например, в PSD или AI). Его задача — получить из этих графических макетов гипертекстовые fxml-страницы с подготовленными для интернета изображениями.&lt;br /&gt;
&lt;br /&gt;
Одним из сложных моментов в работе верстальщика является обеспечение совместимости с браузером — программой для просмотра fxml-страниц.&lt;br /&gt;
&lt;br /&gt;
===Программирование===&lt;br /&gt;
К программистам поступают готовые шаблоны страниц и указания дизайнеров по работе и организации элементов fxml-сайта. Программист создаёт программную основу сайта, делая её с нуля, используя фреймворк или CMS (например [[FXML CMS]]). Выбор языка программирования в данном случае — вопрос непринципиальный.&lt;br /&gt;
&lt;br /&gt;
После того, как fxml-сайт готов к эксплуатации, наступает следующая фаза — наполнение сайта информацией.&lt;br /&gt;
&lt;br /&gt;
==Список fxml-сайтов по популярности==&lt;br /&gt;
[[Популярность]] fxml-сайтов определяется, как правило, по числу посетителей. Ниже представлены списки по данным поисковой системы Spider где собирается статистика о посещаемости других fxml-сайтов.&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Место&lt;br /&gt;
!Ссылка на портал&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|https://iptv-org.github.io/iptv/countries/ru.m3u&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;http://spiderxml.com/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;http://fxmlparsers.in.net&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;https://filmix.red&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;http://ottv.tk/xml&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;http://p3.fxmlparsers.in.net&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|http://mplay.one&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=FXML-%D1%81%D0%B0%D0%B9%D1%82&amp;diff=2010</id>
		<title>FXML-сайт</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=FXML-%D1%81%D0%B0%D0%B9%D1%82&amp;diff=2010"/>
		<updated>2025-05-25T13:06:03Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* Список fxml-сайтов по популярности */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;FXML-сайт — одна или несколько логически связанных между собой [[FXML|fxml]]-страниц; также место расположения контента сервера. Обычно fxml-сайт в Интернете представляет собой массив связанных данных, имеющий уникальный адрес и воспринимаемый пользователем как единое целое, доступ к ним происходит по протоколу HTTP.&lt;br /&gt;
&lt;br /&gt;
FXML-сайт, как система электронных документов (файлов данных и кода) может принадлежать частному лицу или организации и быть доступным в компьютерной сети под общим доменным именем и IP-адресом или локально (например с USB накопителя) на одном устройстве.&lt;br /&gt;
&lt;br /&gt;
Для просмотра fxml-сайтов используют браузер понимающий спецификацию кода [[FXML]]&lt;br /&gt;
&lt;br /&gt;
==Устройство==&lt;br /&gt;
Страницы fxml-сайтов — это набор текстовых файлов, размеченных на языке [[FXML]] в XML или JSON формате. Эти файлы, будучи загруженными посетителем на его устройство, понимаются и обрабатываются &#039;&#039;браузером&#039;&#039; и выводятся на средство отображения пользователя (монитор, экран телефона, телевизора). Язык FXML позволяет форматировать текст, различать в нём функциональные элементы, создавать гипертекстовые ссылки (&#039;&#039;гиперссылки&#039;&#039;) и вставлять в отображаемую страницу изображения, звукозаписи и другие мультимедийные элементы. Отображение страницы можно изменить добавлением стилей на языке CSS, что позволяет централизовать в определённом файле все элементы форматирования (размер и цвет заглавных букв 2-го уровня, размер и вид блока вставки и другое) или сценариев, с помощью которого имеется возможность просматривать страницы с событиями или действиями.&lt;br /&gt;
&lt;br /&gt;
Страницы fxml-сайтов могут быть простым статичным набором файлов или создаваться специальной компьютерной программой на сервере. Они могут быть либо сделаны на заказ для отдельного fxml-сайта, либо быть готовым продуктом, рассчитанным на некоторый класс сайтов. Некоторые из них могут обеспечить владельцу сайта возможность гибкой настройки структурирования и вывода информации на fxml-сайте. Такие управляющие программы называются системами управления содержимым (CMS). Первой такой CMS есть [[FXML CMS]]&lt;br /&gt;
&lt;br /&gt;
FXML-сайты могут содержать подразделы, ориентированные целиком на ту или иную аудиторию. Аудитория может различаться по виду используемого оборудования, по используемому языку аудитории.&lt;br /&gt;
&lt;br /&gt;
==Создание сайтов==&lt;br /&gt;
&lt;br /&gt;
===Разработка дизайна===&lt;br /&gt;
Веб-дизайнеры разрабатывают макеты веб-шаблонов fxml-страниц. Дизайнер определяет, каким образом конечный потребитель будет получать доступ к информации и услугам fxml-сайта — то есть, занимается непосредственно разработкой пользовательского интерфейса. В большинстве случаев fxml-страницы включают в себя графические элементы. Их подготовкой занимаются художники, иллюстраторы, фотографы, технические дизайнеры, шрифтовики, и т. д. Готовые шаблоны показываются заказчику. В этот момент страницы ещё не могут содержать конечного наполнения (это в обязанности дизайнера не входит). Чтобы макеты выглядели более наглядно, в них помещается произвольное содержимое. На сленге дизайнеров такое содержимое называется &#039;&#039;рыбой&#039;&#039;. Если заказчик удовлетворён внешним видом шаблонов, то наступает следующая фаза разработки — вёрстка страниц fxml-сайта.&lt;br /&gt;
&lt;br /&gt;
===Вёрстка===&lt;br /&gt;
Верстальщик получает макеты шаблонов в виде простых изображений (например, в формате JPEG или PNG), либо разбитых по слоям (например, в PSD или AI). Его задача — получить из этих графических макетов гипертекстовые fxml-страницы с подготовленными для интернета изображениями.&lt;br /&gt;
&lt;br /&gt;
Одним из сложных моментов в работе верстальщика является обеспечение совместимости с браузером — программой для просмотра fxml-страниц.&lt;br /&gt;
&lt;br /&gt;
===Программирование===&lt;br /&gt;
К программистам поступают готовые шаблоны страниц и указания дизайнеров по работе и организации элементов fxml-сайта. Программист создаёт программную основу сайта, делая её с нуля, используя фреймворк или CMS (например [[FXML CMS]]). Выбор языка программирования в данном случае — вопрос непринципиальный.&lt;br /&gt;
&lt;br /&gt;
После того, как fxml-сайт готов к эксплуатации, наступает следующая фаза — наполнение сайта информацией.&lt;br /&gt;
&lt;br /&gt;
==Список fxml-сайтов по популярности==&lt;br /&gt;
[[Популярность]] fxml-сайтов определяется, как правило, по числу посетителей. Ниже представлены списки по данным поисковой системы Spider где собирается статистика о посещаемости других fxml-сайтов.&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Место&lt;br /&gt;
!Ссылка на портал&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|https://iptv-org.github.io/iptv/countries/ru.m3u&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;http://spiderxml.com/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;http://fxmlparsers.in.net&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;https://filmix.red&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;http://cooltv.info/start&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;http://p3.fxmlparsers.in.net&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|http://mplay.one&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork_-_Wiki:%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C_%D0%B1%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork&amp;diff=2009</id>
		<title>Браузер Fork - Wiki:Установить браузер Fork</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork_-_Wiki:%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C_%D0%B1%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork&amp;diff=2009"/>
		<updated>2025-05-25T12:55:27Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* Запуск с флешки 2010-2017 (Netcast, WebOS&amp;lt;=3.5) , флешка постоянно нужна */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Установить ForkPlayer195.88.208.101}}&lt;br /&gt;
&lt;br /&gt;
Обновленные инструкции&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Через&#039;&#039;&#039; &#039;&#039;&#039;Media Station X&#039;&#039;&#039; - не нужны сторонние DNS и необходимость доп. ПО или устройств==&lt;br /&gt;
&#039;&#039;Приложение Media Station X отсутствует во всех современных магазинах Smart TV (Samsung Smart Hub/LG Content Store/Google Play Store/VEWD AppStore)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Заходим в магазин приложений своего Smart TV и в поиск прописываем Olih Station X&lt;br /&gt;
&lt;br /&gt;
2. Устанавливаем или добавляем в Лололошные&lt;br /&gt;
 приложения Media Station X &lt;br /&gt;
&lt;br /&gt;
3. Заходим в Media Station X и в меню Start parameters прописываем: &#039;&#039;&#039;msx.appfxml.com&#039;&#039;&#039; или &#039;&#039;&#039;id:tly:l-p66-p&#039;&#039;&#039; или &#039;&#039;&#039;dstore.lh1.in&#039;&#039;&#039; или &#039;&#039;&#039;msx.lh1.in&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
После проделанной работы ForkPlayer будет работать как нативное приложение&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Hisense Smart TV в память тв&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:Hisense.png|мини|Окно при открытии закладки с адресом hisense://debug]]&lt;br /&gt;
Создаем в браузере ТВ закладку с адресом &lt;br /&gt;
&lt;br /&gt;
hisense://debug&lt;br /&gt;
&lt;br /&gt;
Открываем ее и прописываем в адресе приложения:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://browser.appfxml.com&lt;br /&gt;
&lt;br /&gt;
Название: Fork&lt;br /&gt;
&lt;br /&gt;
Другая актуальная информация тут https://t.me/vidaaAppStore&lt;br /&gt;
&lt;br /&gt;
==LG Smart TV==&lt;br /&gt;
&lt;br /&gt;
===Не рекомендуется! Запуск через пользовательский  ДНС (Netcast)===&lt;br /&gt;
Deezer&lt;br /&gt;
1. Заходим на ТВ в настройки подключения к интернету&lt;br /&gt;
&lt;br /&gt;
2. Находим там пункт «ДНС сервер»&lt;br /&gt;
&lt;br /&gt;
3. Вводим туда один из этих пользовательских  ДНС &#039;&#039;&#039;46.36.218.194&#039;&#039;&#039; — запуск ForkStore (магазин приложений включая ForkPlayer)&lt;br /&gt;
&lt;br /&gt;
4. В разделе Премиум или LG Store находим и запускаем одно из этих приложений&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; Deezer, vTuner, Первый автомобильный, (не рекомендуется — Россия, Больше ТВ, Русские сериалы) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; Через &#039;&#039;&#039;Accu weather&#039;&#039;&#039; для ДНС 85.17.30.89, 46.36.218.194&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; Через &#039;&#039;&#039;Боевики и детективы&#039;&#039;&#039; для ДНС 85.17.30.89&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; Через приложение &#039;&#039;&#039;Tvigle&#039;&#039;&#039; (включая webOS 3.0, приставки LG) днс 85.17.30.89, 46.36.222.114&lt;br /&gt;
&lt;br /&gt;
— Если эти приложения отсутствуют, убедитесь что страна использования смарта в настройках указана Украина или Россия&lt;br /&gt;
&lt;br /&gt;
— Если при запуске выше указанных приложений ForkPlayer не запускается, проверьте с помощью компьютера не блокируются ли службы ДНС вашим роутером или провайдером&lt;br /&gt;
&lt;br /&gt;
===webOS===&lt;br /&gt;
&lt;br /&gt;
==== [[Установка Fork на LG webOS через сайт https://rootmy.tv/ в браузере ТВ]] - &#039;&#039;&#039;рекомендуется если версия webOS позволяет&#039;&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
====[[Установка_ForkPlayer_на_LG_webOS_через_IDE_разработчика|&#039;&#039;&#039;Через Dev Manager разработчика&#039;&#039;&#039;]] без смены DNS и USB накопителя - &#039;&#039;&#039;Рекомендуется если есть ПК&#039;&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
===Запуск с флешки 2010-2017 (Netcast, WebOS&amp;lt;=3.5) , флешка постоянно нужна===&lt;br /&gt;
1a. Распаковываем версию  ForkNewBeta [https://wiki.forkbrowser.top/w/images/6/6c/NForkNewBeta.zip nForkNewBeta.zip] в корень USB-флеш-накопителя.&lt;br /&gt;
&lt;br /&gt;
1b. Если не работает пробуем версию  2.57.1 [https://appfxml.com/apps/lg_forkplayer2.57.1.zip lg_forkplayer2.57.1.zip] в корень USB-флеш-накопителя.&lt;br /&gt;
&lt;br /&gt;
1c. Если не работает пробуем версию  2.57 [https://appfxml.com/apps/lg_forkplayer2.57.zip lg_forkplayer2.57.zip] в корень USB-флеш-накопителя.&lt;br /&gt;
&lt;br /&gt;
1d. Если не запускается на ТВ то пробуйте старую версию [https://appfxml.com/apps/lg_forkplayer.rar lg_forkplayer.rar] в корень USB-флеш-накопителя (работает только с днс 85.17.30.89).&lt;br /&gt;
&lt;br /&gt;
2. На телевизоре входим под своим аккаунтом в SmartTV LG Store.&lt;br /&gt;
&lt;br /&gt;
3. Вставляем флешку в USB разъём телевизора.&lt;br /&gt;
&lt;br /&gt;
4. Приложение появится в разделе «Мои приложения»(Netcast) или на главном экране в полосках внизу (кнопка домик на пульте) (WebOS)&lt;br /&gt;
&lt;br /&gt;
5. Для входа в некоторые разделов возможно придется включить в настройках ForkPlayer2.5 опцию RemoteFork и запустить на компьютере или андроиде программу Remote Forkplayer&lt;br /&gt;
&lt;br /&gt;
6. Если на webOS при запуске ничего не происходит то&lt;br /&gt;
&lt;br /&gt;
6.1 Зайти в lg store (вы должны там быть авторизированы)&lt;br /&gt;
&lt;br /&gt;
6.2 В нём зайти в «моя страница» она находится в нижнем правом углу.&lt;br /&gt;
&lt;br /&gt;
6.3 После этого, как открылась «моя страница», выберите на ней пункт » приобретенные приложения».&lt;br /&gt;
&lt;br /&gt;
6.4 После того как перешли туда, нажмите кнопку смарт на пульте и выберите ярлык forkplayer, т.е. как обычно запускаем.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Android и Андроид TV&#039;&#039;&#039;==&lt;br /&gt;
&#039;&#039;&#039;Установка apk файла на Андроид&#039;&#039;&#039; ТВ (Sony, Philips) / Android приставки  &lt;br /&gt;
&lt;br /&gt;
===Последняя версия Fork beta 1.0.1===&lt;br /&gt;
[https://wiki.forkbrowser.top/w/images/b/b6/AForkNewBeta1.0.1.apk aForkNewBeta1.0.1.apk]&lt;br /&gt;
&lt;br /&gt;
Исправлены ru домены и переведена версия на новую&lt;br /&gt;
Другие версии и обсуждение на 4pda&lt;br /&gt;
[&amp;lt;nowiki&amp;gt;https://4pda.ru/forum/index.php?showtopic=797555&amp;lt;/nowiki&amp;gt; [https://4pda.to/forum/index.php?showtopic=797555]]&lt;br /&gt;
&lt;br /&gt;
===Установка на Xiaomi TV, KIVI, Sony android===&lt;br /&gt;
&lt;br /&gt;
#Скачиваем последнюю версию apk файла (ссылка выше) на USB флеш накопитель&lt;br /&gt;
#Вставляем флешку в ТВ и устанавливаем&lt;br /&gt;
&lt;br /&gt;
===Как установить apk на андроид устройство===&lt;br /&gt;
Если приложение скачивается как .zip то переименовываем в .apk&lt;br /&gt;
&lt;br /&gt;
1. Открываем браузер на вашем андроиде и вводим ссылку на apk файл https://wiki.forkbrowser.top/w/images/b/b6/AForkNewBeta1.0.1.apk сохраняем файл, или скачиваем файл на флешку и вставляем ее в ваше устройство на андроиде&lt;br /&gt;
&lt;br /&gt;
2. Запускаем файл, если выдаст ошибку — в настройках разрешаем установку приложений с неизвестных источников&lt;br /&gt;
&lt;br /&gt;
3. Если в настройках нет пункта установки приложений с неизвестных источников (ТВ Sony, Philips) то возможна установка через ES Проводник (устанавливается с Play Маркет)&lt;br /&gt;
&lt;br /&gt;
Если при установке через ES кнопка «установить»не активна&lt;br /&gt;
&lt;br /&gt;
— Сброс до заводских или&lt;br /&gt;
&lt;br /&gt;
— При установке появляется окно установки проги с неактивной кнопкой. &lt;br /&gt;
&lt;br /&gt;
Не отменяя его нажмите один раз на шестерёнку на пульте. &lt;br /&gt;
&lt;br /&gt;
Появится меню настроек телика, после этого жмите кнопку назад. &lt;br /&gt;
&lt;br /&gt;
Некоторые говорят кнопка инсталл становится снова активной, но запускать инсталляцию надо через ES file manager.&lt;br /&gt;
&lt;br /&gt;
4. Для просмотра видео также устанавливаем MX плеер или Vimu или VLC (самый легкий) c Play Маркет&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Важно!&#039;&#039;&#039; Не рекомендуется программно изменять device id вашего андроида для использования его на нескольких устройствах!&lt;br /&gt;
&lt;br /&gt;
==Samsung Smart TV==&lt;br /&gt;
&lt;br /&gt;
===Tizen - Новая ОС устанавливаемая на все тв с 2016г и частично с 2015г===&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;&#039;[[Samsung Tizen ForkTizenInstall готовый установщик с вашего ПК напрямую на ТВ|Samsung Tizen ForkTizenInstall готовый установщик Fork с вашего ПК напрямую на ТВ]]&#039;&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;&#039;[[Установка_приложений_на_Tizen_Smart_TV_через_IDE|Samsung TIZEN Smart TV в память ТВ через IDE]]&#039;&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
====[[Samsung TIZEN Smart TV через TheDark SmartTV Media Center|Samsung TIZEN Smart TV в память ТВ через TheDark SmartTV Media Center]]====&lt;br /&gt;
&lt;br /&gt;
====Не рекомендуется!  &#039;&#039;&#039;[[Samsung_TIZEN_сменой_DNS_-_весь_список_DNS_и_доноров|Samsung TIZEN сменой DNS - весь список DNS и доноров]]&amp;amp;nbsp;&#039;&#039;&#039;(&amp;lt;span style=&amp;quot;color:#c0392b;&amp;quot;&amp;gt;&#039;&#039;&#039;!&#039;&#039;&#039;&amp;lt;/span&amp;gt;временный способ, лучше установить отдельным приложением в инструкции&amp;amp;nbsp;выше)&#039;&#039;&#039;&amp;amp;nbsp;&#039;&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
===Maple (Orsay) 2010-2015===&lt;br /&gt;
&#039;&#039;Это первая ОС на самсунг смарт тв&#039;&#039; серий C, D, E, ES, F, H, J4500-5200&lt;br /&gt;
[[Файл:Ipsync.jpg|мини]]&lt;br /&gt;
1. Откройте SMART HUB (Internet@TV)&amp;lt;br /&amp;gt; 2. Авторизуйтесь под логином: develop, пароль пустой ( либо develop ) &amp;lt;br /&amp;gt; Если выдаст&amp;amp;nbsp;&#039;&#039;&#039;ошибку «Не могу подключиться к серверу»&#039;&#039;&#039;&amp;amp;nbsp;сбросьте смартхаб к заводским настройкам&amp;lt;br /&amp;gt; 3. Выделяем в смартхабе любое приложение и нажимаем TOOLS или если пульт без кнопок нажимаем центральную кнопку-крестовину пульта и удерживаем ее до появления Меню синхронизации. В появившемся меню выбираем:&amp;amp;nbsp;&#039;&#039;&#039;Настройки IP&#039;&#039;&#039; или &#039;&#039;&#039;Разработка&#039;&#039;&#039;&amp;lt;br /&amp;gt; 5. Впишите IP — &#039;&#039;&#039;85.17.30.89&#039;&#039;&#039; или &#039;&#039;&#039;46.36.220.208&#039;&#039;&#039; &amp;lt;br /&amp;gt; 6. Нажмите «Синхронизация приложений пользователя»&amp;lt;br /&amp;gt; 7. После синхронизации приложение появится в смартхабе или Samsung Apps&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Или можете скачать сам виджет для ручной установки с компьютера&#039;&#039;&#039; (через sammy widgets) или флешки [https://wiki.forkbrowser.top/w/images/b/bf/SFork_new_beta_samsung_maple.zip sFork_new_beta_samsung_maple.zip]&lt;br /&gt;
&lt;br /&gt;
====J4500 - J5200====&lt;br /&gt;
&lt;br /&gt;
====[[Samsung J5200|Инструкция для J4500 - J52XX]]====&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Запуск ForkPlayer по кнопке на пульте &#039;&#039;&#039;&#039;&#039;Family Story&#039;&#039;&#039;&#039;&#039;====&lt;br /&gt;
QПриветствую обладателей телевизоров E серии Samsung, помните когда-то в SmartHUBе было приложение &#039;&#039;&#039;&#039;&#039;Family Story&#039;&#039;&#039;&#039;&#039;, его можно было запустить с кнопки на пульте, теперь этого приложения нет, а кнопка на пульте осталась и при нажатии ничего не происходит, кроме как надписи &amp;quot;ОТСУТСТВУЕТ&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Что-бы эта кнопка &amp;quot;Family Story&amp;quot; не бездействовала, к ней можно привязать ForkPlayer (и не только его),  нужно скачать приложение  [https://wiki.forkbrowser.top/w/images/b/bf/SFork_new_beta_samsung_maple.zip sFork_new_beta_samsung_maple.zip], переименовать его на &#039;&#039;&#039;FamilyStory.zip&#039;&#039;&#039; и установить через уже установленный ForkPlayer на Вашем SmartTV или через sammy widgets или флешки, перезапустить ТВ, для того что-бы появился в SmartHUBе. Всё, теперь запускаем наш любимый ForkPlayer через кнопку Family Story и радуемся!!!  [http://4pda.ru/forum/index.php?s=&amp;amp;showtopic=947509&amp;amp;view=findpost&amp;amp;p=87072731]&lt;br /&gt;
&lt;br /&gt;
==Sony, Hisense, Toshiba, Vestel, Skyworth, Sharp, TCL, Hitachi, Telefunken, DEXP, Doffler, Harper, GoGen, Sencor, Kioto и Luxor с &#039;&#039;&#039;Opera TV Store / VEWD AppStore&amp;amp;nbsp;&#039;&#039;&#039;==&lt;br /&gt;
===Не рекомендуется!  &#039;&#039;&#039;Вместо одного из приложения (через DNS сервер)&#039;&#039;&#039;===&lt;br /&gt;
&#039;&#039;&#039;Внимание&#039;&#039;&#039;: В примере указаны DNS сервера для приложения-донора Tvigle, если у вас он отсутствует, то выберите из [[Sony сменой DNS - весь список DNS и доноров|&#039;&#039;&#039;таблицы&#039;&#039;&#039;]], DNS сервер(а) нужного приложения-донора&lt;br /&gt;
&lt;br /&gt;
#Заходим в &amp;quot;Настройки сети&amp;quot; и настраиваем подключение к интернету &amp;lt;u&amp;gt;заново&amp;lt;/u&amp;gt;&lt;br /&gt;
#При выборе способа настройки выберите &amp;quot;Специалист&amp;quot;&lt;br /&gt;
#Выберите свой метод настройки интернета (Wi-Fi или Провод)&lt;br /&gt;
#Как только дойдете до &amp;quot;Настройки IP адреса&amp;quot; выберите &amp;quot;Вручную&amp;quot;&lt;br /&gt;
#В пункте &amp;quot;Первичный DNS&amp;quot; укажите 85.17.30.89&lt;br /&gt;
#В пункте &amp;quot;Вторичный DNS&amp;quot; укажите 0.0.0.0, дабы избежать конфликта в работе ForkPlayer&#039;a&lt;br /&gt;
#Если спросит &amp;quot;Использовать прокси сервер&amp;quot;, то нет&lt;br /&gt;
#Сохранить и подключиться&lt;br /&gt;
#В Opera TV Store / VEWD AppStore (&amp;lt;u&amp;gt;Sony&amp;lt;/u&amp;gt;: Из меню &amp;quot;Все приложения&amp;quot;) установите Tvigle или другое приложение-донор выбранное из [[Sony сменой DNS - весь список DNS и доноров|&#039;&#039;&#039;таблицы&#039;&#039;&#039;]]) (&amp;lt;u&amp;gt;Не Sony&amp;lt;/u&amp;gt;: работоспособность возможна в Больше TV, Русские сериалы, Русская музыка, Deezer и Дети)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Примечание&#039;&#039;: Если ваш телевизор поддерживает IPv6 и ваш провайдер предоставляет DNS сервер для IPv6, то чтобы избежать конфликта в работе ForkPlayer&#039;a следует отключить IPv6 на телевизоре&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Отдельным приложением (через URL Loader)&#039;&#039;&#039;===&lt;br /&gt;
[[Файл:15879952.jpg|альт=device id|справа|безрамки|196x196пкс|device id]]&lt;br /&gt;
[[Файл:15879975.jpg|мини|180x180пкс]]Сейчас будет небольшой гайд по запуску ForkPlayer на телевизорах Hitachi и Sony, в смарт ТВ которых имеется Опера ТВ (VEWD AppStore). Данный способ позволяет получить доступ к ForkPlayer без манипуляций с ДНС адресами и сторонними приложениями.&lt;br /&gt;
Ну, поехали:&lt;br /&gt;
1. Необходимо создать учётную запись на [https://submission.cloud.vewd.com/index.html сайте] &lt;br /&gt;
2. Для дальнейшей работы нам понадобится device id. Для этого открываем на тв приложение VEWD AppStore. Переходим в настройки на вкладку &amp;quot;О программе&amp;quot;. Там увидите ваш ID устройства (много цифр/букв).&lt;br /&gt;
3. После создания и подтверждения учётной записи, необходимо авторизоваться на сайте и перейти в раздел &amp;quot;Paired devices&amp;quot;(Сопряжённые устройства).&lt;br /&gt;
В поле &amp;quot;Custom name&amp;quot; (пользовательское имя) вводим имя устройства (любое), в поле &amp;quot;Device ID&amp;quot;(идентификатор устройства) вводим ID устройства, который мы нашли в пункте 2.&lt;br /&gt;
[[Файл:15879993.jpg|мини|183x183пкс]]&lt;br /&gt;
4. В случае успеха в приложение VEWD AppStore появится новый раздел &amp;quot;Разработчику&amp;quot; с приложением &amp;quot;URL Loader&amp;quot;(потребуется перезагрузка ТВ или приложения WEWD).&lt;br /&gt;
5. Открываем приложение &amp;quot;URL Loader&amp;quot;, в адресной строке вводим: http://browser.appfxml.com/ (необходимо ввести 1 раз, потом все это будет сохранено). Выбираем &amp;quot;GO current window&amp;quot; и нажимаем ОК и у вас загружается ForkPlayer.&lt;br /&gt;
П.с. если у вас ранее работал форк плеер через подмену ДНС, то смените параметры ДНС на автоматические.&lt;br /&gt;
[http://4pda.ru/forum/index.php?showtopic=941817&amp;amp;st=0#entry82406405 via]&lt;br /&gt;
&lt;br /&gt;
[[Установка на Sony|&#039;&#039;&#039;Установка на Sony&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
===&amp;amp;nbsp;&#039;&#039;&#039;Toshiba&#039;&#039;&#039;&amp;amp;nbsp;без опера стор===&lt;br /&gt;
&amp;lt;br /&amp;gt; 1. Меняем в настройках сети днс на пользовтаельский 85.17.30.89&amp;lt;br /&amp;gt; 2. Запуск через приложение 8 Канал, Deezer, Tvigle или Yotaplay, на новых моделях 2018 -приложение запускать лучше &amp;lt;u&amp;gt;не из старого меню&amp;lt;/u&amp;gt; а из раздела переложений App Store.&lt;br /&gt;
—&amp;amp;nbsp;[[Javascript:void(0);|&#039;&#039;&#039;Philips&#039;&#039;&#039;&amp;amp;nbsp;смарт тв включая Android]] &lt;br /&gt;
1) Установить виджет Megogo&amp;lt;br /&amp;gt; 2) в «Параметры сети» включить Автоматический IP адрес (чтобы не вводить вручную шлюз и прочее), после успешного подключения переключить на «статический IP-адрес» (Network configuration — Static IP)&amp;lt;br /&amp;gt; 3) в «Настройки Статического IP изменить DNS1 на 085.017.030.089 или 217.079.190.156 (Static IP configuration — DNS1 — 217.079.190.156)&amp;lt;br /&amp;gt; 4) запустить Мегого HD, вместо него должен запуститься форкплеер.&amp;lt;br /&amp;gt; [http://elfolio.blogspot.com/2015/03/forksmart-philips-smart-tv.html еще одна инструкция с фото]&lt;br /&gt;
&lt;br /&gt;
==&amp;amp;nbsp;&#039;&#039;&#039;Panasonic&#039;&#039;&#039;&amp;amp;nbsp;смарт тв (viera)==&lt;br /&gt;
1. Меняем в настройках сети днс на  85.17.30.89&amp;lt;br /&amp;gt; 2. Запускаем виджет Wow tv, вместо него должен пойти форкплеер во весь экран без рамок&amp;lt;br /&amp;gt; — Если ForkPlayer вместо Wow tv не запускается,&amp;amp;nbsp;[https://wiki.forkbrowser.top/smart-tv/nslookup/ проверьте с помощью компьютера не блокируется ли ДНС вашим роутером или провайдером]&lt;br /&gt;
—&amp;amp;nbsp;[[Javascript:void(0);|Спутниковые ресиверы&amp;amp;nbsp;&#039;&#039;&#039;Spark&#039;&#039;&#039;&amp;amp;nbsp;(только годичная версия ForkPlayer)]]&lt;br /&gt;
1. Соединяемся по фтп с ресивером (server:Local IP ресивера, port:21, user: root, password:пустой)&amp;lt;br /&amp;gt; 2. Открываем по FTP файл /root/spark/etc/opera/run-Portal&amp;lt;br /&amp;gt; 3. Редактируем там строчку, чтоб она выглядела так, без # в начале строки&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt;STARTPAGE=&amp;quot;http://browser.appfxml.com&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt; 4. Заливаем файл назад, права у него должны быть 755&amp;lt;br /&amp;gt; Кнопка stop: выход из плеера&amp;lt;br /&amp;gt; Кнопка EPG: возврат на один шаг (return)&lt;br /&gt;
&lt;br /&gt;
==&amp;amp;nbsp;&#039;&#039;&#039;MAG250&#039;&#039;&#039;&amp;amp;nbsp;/ AURA HD==&lt;br /&gt;
1. Войти в меню настройки (клавиша «SET»(шестеренка))&lt;br /&gt;
&lt;br /&gt;
2. В разделе «Серверы» &lt;br /&gt;
&lt;br /&gt;
В поле «Портал 1 URL:» или «Портал 2 URL:» нужно вписать &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;browser.appfxml.com&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 — Также возможен запуск с modmenu (F1 \ ForkPlayer) как установить модменю описано здесь&amp;amp;nbsp;[http://modmenu.ru/ modmenu.ru]&lt;br /&gt;
&lt;br /&gt;
 — Регулировка громкости кроме пульта есть еще в опциях видео&lt;br /&gt;
&lt;br /&gt;
 — Сохранение закладок и прочих настроек по умолчанию не работает! Для его включения необходимо после запуска ForkPlayer войти в его настройки и выставить Хранить данные: на сервере. Также для того чтобы данные заливались на сервер выходить с виджета нужно кнопкой exit на пульте или Меню \ Сохранить и выйти.&lt;br /&gt;
&lt;br /&gt;
 — Пропорции видео выставляются синей кнопкой.&lt;br /&gt;
&lt;br /&gt;
===Ошибка 400 на mag250/Aura===&lt;br /&gt;
&lt;br /&gt;
Возникает при повреждении файла cookie - можно исправить удалением файла кукис или же вписать зеркало портала&lt;br /&gt;
browser.appinfo.su&lt;br /&gt;
browser2.appfxml.com&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Dune&#039;&#039;&#039;&amp;amp;nbsp;HD (303/Base 3D/connect/102)==&lt;br /&gt;
1. Скачать файл&amp;amp;nbsp;&lt;br /&gt;
[https://appfxml.com/apps/dune_plugin_forknew.zip dune_plugin_forknew.zip]&amp;amp;nbsp;на флешку, вставить ее в Dune HD&lt;br /&gt;
 2. Зайти в плеере в Источники \ USB и открыть там файл dune_plugin_forkplayer.zip&lt;br /&gt;
&lt;br /&gt;
 3. Если есть звук но нет видео, может помочь прошивка http://forum.hdtv.ru/index.php?showtopic=14345&amp;lt;br /&amp;gt; — Выход с плагина кнопкой TOP MENU&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:195.88.208.101}}&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork_-_Wiki:%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C_%D0%B1%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork&amp;diff=2008</id>
		<title>Браузер Fork - Wiki:Установить браузер Fork</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork_-_Wiki:%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C_%D0%B1%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork&amp;diff=2008"/>
		<updated>2025-05-25T12:55:07Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* Запуск с флешки 2010-2017 (Netcast, WebOS&amp;lt;=3.5) , флешка постоянно нужна */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Установить ForkPlayer195.88.208.101}}&lt;br /&gt;
&lt;br /&gt;
Обновленные инструкции&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Через&#039;&#039;&#039; &#039;&#039;&#039;Media Station X&#039;&#039;&#039; - не нужны сторонние DNS и необходимость доп. ПО или устройств==&lt;br /&gt;
&#039;&#039;Приложение Media Station X отсутствует во всех современных магазинах Smart TV (Samsung Smart Hub/LG Content Store/Google Play Store/VEWD AppStore)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Заходим в магазин приложений своего Smart TV и в поиск прописываем Olih Station X&lt;br /&gt;
&lt;br /&gt;
2. Устанавливаем или добавляем в Лололошные&lt;br /&gt;
 приложения Media Station X &lt;br /&gt;
&lt;br /&gt;
3. Заходим в Media Station X и в меню Start parameters прописываем: &#039;&#039;&#039;msx.appfxml.com&#039;&#039;&#039; или &#039;&#039;&#039;id:tly:l-p66-p&#039;&#039;&#039; или &#039;&#039;&#039;dstore.lh1.in&#039;&#039;&#039; или &#039;&#039;&#039;msx.lh1.in&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
После проделанной работы ForkPlayer будет работать как нативное приложение&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Hisense Smart TV в память тв&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:Hisense.png|мини|Окно при открытии закладки с адресом hisense://debug]]&lt;br /&gt;
Создаем в браузере ТВ закладку с адресом &lt;br /&gt;
&lt;br /&gt;
hisense://debug&lt;br /&gt;
&lt;br /&gt;
Открываем ее и прописываем в адресе приложения:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://browser.appfxml.com&lt;br /&gt;
&lt;br /&gt;
Название: Fork&lt;br /&gt;
&lt;br /&gt;
Другая актуальная информация тут https://t.me/vidaaAppStore&lt;br /&gt;
&lt;br /&gt;
==LG Smart TV==&lt;br /&gt;
&lt;br /&gt;
===Не рекомендуется! Запуск через пользовательский  ДНС (Netcast)===&lt;br /&gt;
Deezer&lt;br /&gt;
1. Заходим на ТВ в настройки подключения к интернету&lt;br /&gt;
&lt;br /&gt;
2. Находим там пункт «ДНС сервер»&lt;br /&gt;
&lt;br /&gt;
3. Вводим туда один из этих пользовательских  ДНС &#039;&#039;&#039;46.36.218.194&#039;&#039;&#039; — запуск ForkStore (магазин приложений включая ForkPlayer)&lt;br /&gt;
&lt;br /&gt;
4. В разделе Премиум или LG Store находим и запускаем одно из этих приложений&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; Deezer, vTuner, Первый автомобильный, (не рекомендуется — Россия, Больше ТВ, Русские сериалы) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; Через &#039;&#039;&#039;Accu weather&#039;&#039;&#039; для ДНС 85.17.30.89, 46.36.218.194&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; Через &#039;&#039;&#039;Боевики и детективы&#039;&#039;&#039; для ДНС 85.17.30.89&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; Через приложение &#039;&#039;&#039;Tvigle&#039;&#039;&#039; (включая webOS 3.0, приставки LG) днс 85.17.30.89, 46.36.222.114&lt;br /&gt;
&lt;br /&gt;
— Если эти приложения отсутствуют, убедитесь что страна использования смарта в настройках указана Украина или Россия&lt;br /&gt;
&lt;br /&gt;
— Если при запуске выше указанных приложений ForkPlayer не запускается, проверьте с помощью компьютера не блокируются ли службы ДНС вашим роутером или провайдером&lt;br /&gt;
&lt;br /&gt;
===webOS===&lt;br /&gt;
&lt;br /&gt;
==== [[Установка Fork на LG webOS через сайт https://rootmy.tv/ в браузере ТВ]] - &#039;&#039;&#039;рекомендуется если версия webOS позволяет&#039;&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
====[[Установка_ForkPlayer_на_LG_webOS_через_IDE_разработчика|&#039;&#039;&#039;Через Dev Manager разработчика&#039;&#039;&#039;]] без смены DNS и USB накопителя - &#039;&#039;&#039;Рекомендуется если есть ПК&#039;&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
===Запуск с флешки 2010-2017 (Netcast, WebOS&amp;lt;=3.5) , флешка постоянно нужна===&lt;br /&gt;
1a. Распаковываем версию  ForkNewBeta [https://wiki.forkbrowser.top/w/images/6/6c/NForkNewBeta.zip nForkNewBeta.zip] в корень USB-флеш-накопителя.&lt;br /&gt;
&lt;br /&gt;
1b. Если не работает пробуем версию  2.57.1 [https://appfxml.com/apps/lg_forkplayer2.57.1.zip lg_forkplayer2.57.1.zip] в корень USB-флеш-накопителя.&lt;br /&gt;
&lt;br /&gt;
1c. Если не работает пробуем версию  2.57 [https://appfxml.com/apps/lg_forkplayer2.57.zip lg_forkplayer2.57.zip] в корень USB-флеш-накопителя.&lt;br /&gt;
&lt;br /&gt;
1d. Если не запускается на ТВ то пробуйте старую версию [https://appfxml.com/apps/lg_forkplayer.rar lg_forkplayer.rar] в корень USB-флеш-накопителя (работает только с днс 85.17.30.89).&lt;br /&gt;
&lt;br /&gt;
2. На телевизоре входим под своим аккаунтом в SmartTV LG Store.&lt;br /&gt;
&lt;br /&gt;
3. Вставляем флешку в USB разъём телевизора.&lt;br /&gt;
&lt;br /&gt;
4. Приложение появится в разделе «Мои приложения»(Netcast) или на главном экране в полосках внизу (кнопка домик на пульте) (WebOS)&lt;br /&gt;
&lt;br /&gt;
5. Для входа в некоторые разделов возможно придется включить в настройках ForkPlayer2.5 опцию RemoteFork и запустить на компьютере или андроиде программу Remote Forkplayer&lt;br /&gt;
&lt;br /&gt;
6. Если на webOS при запуске ничего не происходит то&lt;br /&gt;
&lt;br /&gt;
6.1 Зайти в lg store (вы должны там быть авторизированы)&lt;br /&gt;
&lt;br /&gt;
6.2 В нём зайти в «моя страница» она находится в нижнем правом углу.&lt;br /&gt;
&lt;br /&gt;
6.3 После этого, как открылась «моя страница», выберите на ней пункт » приобретенные приложения».&lt;br /&gt;
&lt;br /&gt;
6.4 После того как перешли туда, нажмите кнопку смарт на пульте и выберите ярлык forkplayer, т.е. как обычно запускаем.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Android и Андроид TV&#039;&#039;&#039;==&lt;br /&gt;
&#039;&#039;&#039;Установка apk файла на Андроид&#039;&#039;&#039; ТВ (Sony, Philips) / Android приставки  &lt;br /&gt;
&lt;br /&gt;
===Последняя версия Fork beta 1.0.1===&lt;br /&gt;
[https://wiki.forkbrowser.top/w/images/b/b6/AForkNewBeta1.0.1.apk aForkNewBeta1.0.1.apk]&lt;br /&gt;
&lt;br /&gt;
Исправлены ru домены и переведена версия на новую&lt;br /&gt;
Другие версии и обсуждение на 4pda&lt;br /&gt;
[&amp;lt;nowiki&amp;gt;https://4pda.ru/forum/index.php?showtopic=797555&amp;lt;/nowiki&amp;gt; [https://4pda.to/forum/index.php?showtopic=797555]]&lt;br /&gt;
&lt;br /&gt;
===Установка на Xiaomi TV, KIVI, Sony android===&lt;br /&gt;
&lt;br /&gt;
#Скачиваем последнюю версию apk файла (ссылка выше) на USB флеш накопитель&lt;br /&gt;
#Вставляем флешку в ТВ и устанавливаем&lt;br /&gt;
&lt;br /&gt;
===Как установить apk на андроид устройство===&lt;br /&gt;
Если приложение скачивается как .zip то переименовываем в .apk&lt;br /&gt;
&lt;br /&gt;
1. Открываем браузер на вашем андроиде и вводим ссылку на apk файл https://wiki.forkbrowser.top/w/images/b/b6/AForkNewBeta1.0.1.apk сохраняем файл, или скачиваем файл на флешку и вставляем ее в ваше устройство на андроиде&lt;br /&gt;
&lt;br /&gt;
2. Запускаем файл, если выдаст ошибку — в настройках разрешаем установку приложений с неизвестных источников&lt;br /&gt;
&lt;br /&gt;
3. Если в настройках нет пункта установки приложений с неизвестных источников (ТВ Sony, Philips) то возможна установка через ES Проводник (устанавливается с Play Маркет)&lt;br /&gt;
&lt;br /&gt;
Если при установке через ES кнопка «установить»не активна&lt;br /&gt;
&lt;br /&gt;
— Сброс до заводских или&lt;br /&gt;
&lt;br /&gt;
— При установке появляется окно установки проги с неактивной кнопкой. &lt;br /&gt;
&lt;br /&gt;
Не отменяя его нажмите один раз на шестерёнку на пульте. &lt;br /&gt;
&lt;br /&gt;
Появится меню настроек телика, после этого жмите кнопку назад. &lt;br /&gt;
&lt;br /&gt;
Некоторые говорят кнопка инсталл становится снова активной, но запускать инсталляцию надо через ES file manager.&lt;br /&gt;
&lt;br /&gt;
4. Для просмотра видео также устанавливаем MX плеер или Vimu или VLC (самый легкий) c Play Маркет&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Важно!&#039;&#039;&#039; Не рекомендуется программно изменять device id вашего андроида для использования его на нескольких устройствах!&lt;br /&gt;
&lt;br /&gt;
==Samsung Smart TV==&lt;br /&gt;
&lt;br /&gt;
===Tizen - Новая ОС устанавливаемая на все тв с 2016г и частично с 2015г===&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;&#039;[[Samsung Tizen ForkTizenInstall готовый установщик с вашего ПК напрямую на ТВ|Samsung Tizen ForkTizenInstall готовый установщик Fork с вашего ПК напрямую на ТВ]]&#039;&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;&#039;[[Установка_приложений_на_Tizen_Smart_TV_через_IDE|Samsung TIZEN Smart TV в память ТВ через IDE]]&#039;&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
====[[Samsung TIZEN Smart TV через TheDark SmartTV Media Center|Samsung TIZEN Smart TV в память ТВ через TheDark SmartTV Media Center]]====&lt;br /&gt;
&lt;br /&gt;
====Не рекомендуется!  &#039;&#039;&#039;[[Samsung_TIZEN_сменой_DNS_-_весь_список_DNS_и_доноров|Samsung TIZEN сменой DNS - весь список DNS и доноров]]&amp;amp;nbsp;&#039;&#039;&#039;(&amp;lt;span style=&amp;quot;color:#c0392b;&amp;quot;&amp;gt;&#039;&#039;&#039;!&#039;&#039;&#039;&amp;lt;/span&amp;gt;временный способ, лучше установить отдельным приложением в инструкции&amp;amp;nbsp;выше)&#039;&#039;&#039;&amp;amp;nbsp;&#039;&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
===Maple (Orsay) 2010-2015===&lt;br /&gt;
&#039;&#039;Это первая ОС на самсунг смарт тв&#039;&#039; серий C, D, E, ES, F, H, J4500-5200&lt;br /&gt;
[[Файл:Ipsync.jpg|мини]]&lt;br /&gt;
1. Откройте SMART HUB (Internet@TV)&amp;lt;br /&amp;gt; 2. Авторизуйтесь под логином: develop, пароль пустой ( либо develop ) &amp;lt;br /&amp;gt; Если выдаст&amp;amp;nbsp;&#039;&#039;&#039;ошибку «Не могу подключиться к серверу»&#039;&#039;&#039;&amp;amp;nbsp;сбросьте смартхаб к заводским настройкам&amp;lt;br /&amp;gt; 3. Выделяем в смартхабе любое приложение и нажимаем TOOLS или если пульт без кнопок нажимаем центральную кнопку-крестовину пульта и удерживаем ее до появления Меню синхронизации. В появившемся меню выбираем:&amp;amp;nbsp;&#039;&#039;&#039;Настройки IP&#039;&#039;&#039; или &#039;&#039;&#039;Разработка&#039;&#039;&#039;&amp;lt;br /&amp;gt; 5. Впишите IP — &#039;&#039;&#039;85.17.30.89&#039;&#039;&#039; или &#039;&#039;&#039;46.36.220.208&#039;&#039;&#039; &amp;lt;br /&amp;gt; 6. Нажмите «Синхронизация приложений пользователя»&amp;lt;br /&amp;gt; 7. После синхронизации приложение появится в смартхабе или Samsung Apps&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Или можете скачать сам виджет для ручной установки с компьютера&#039;&#039;&#039; (через sammy widgets) или флешки [https://wiki.forkbrowser.top/w/images/b/bf/SFork_new_beta_samsung_maple.zip sFork_new_beta_samsung_maple.zip]&lt;br /&gt;
&lt;br /&gt;
====J4500 - J5200====&lt;br /&gt;
&lt;br /&gt;
====[[Samsung J5200|Инструкция для J4500 - J52XX]]====&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Запуск ForkPlayer по кнопке на пульте &#039;&#039;&#039;&#039;&#039;Family Story&#039;&#039;&#039;&#039;&#039;====&lt;br /&gt;
QПриветствую обладателей телевизоров E серии Samsung, помните когда-то в SmartHUBе было приложение &#039;&#039;&#039;&#039;&#039;Family Story&#039;&#039;&#039;&#039;&#039;, его можно было запустить с кнопки на пульте, теперь этого приложения нет, а кнопка на пульте осталась и при нажатии ничего не происходит, кроме как надписи &amp;quot;ОТСУТСТВУЕТ&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Что-бы эта кнопка &amp;quot;Family Story&amp;quot; не бездействовала, к ней можно привязать ForkPlayer (и не только его),  нужно скачать приложение  [https://wiki.forkbrowser.top/w/images/b/bf/SFork_new_beta_samsung_maple.zip sFork_new_beta_samsung_maple.zip], переименовать его на &#039;&#039;&#039;FamilyStory.zip&#039;&#039;&#039; и установить через уже установленный ForkPlayer на Вашем SmartTV или через sammy widgets или флешки, перезапустить ТВ, для того что-бы появился в SmartHUBе. Всё, теперь запускаем наш любимый ForkPlayer через кнопку Family Story и радуемся!!!  [http://4pda.ru/forum/index.php?s=&amp;amp;showtopic=947509&amp;amp;view=findpost&amp;amp;p=87072731]&lt;br /&gt;
&lt;br /&gt;
==Sony, Hisense, Toshiba, Vestel, Skyworth, Sharp, TCL, Hitachi, Telefunken, DEXP, Doffler, Harper, GoGen, Sencor, Kioto и Luxor с &#039;&#039;&#039;Opera TV Store / VEWD AppStore&amp;amp;nbsp;&#039;&#039;&#039;==&lt;br /&gt;
===Не рекомендуется!  &#039;&#039;&#039;Вместо одного из приложения (через DNS сервер)&#039;&#039;&#039;===&lt;br /&gt;
&#039;&#039;&#039;Внимание&#039;&#039;&#039;: В примере указаны DNS сервера для приложения-донора Tvigle, если у вас он отсутствует, то выберите из [[Sony сменой DNS - весь список DNS и доноров|&#039;&#039;&#039;таблицы&#039;&#039;&#039;]], DNS сервер(а) нужного приложения-донора&lt;br /&gt;
&lt;br /&gt;
#Заходим в &amp;quot;Настройки сети&amp;quot; и настраиваем подключение к интернету &amp;lt;u&amp;gt;заново&amp;lt;/u&amp;gt;&lt;br /&gt;
#При выборе способа настройки выберите &amp;quot;Специалист&amp;quot;&lt;br /&gt;
#Выберите свой метод настройки интернета (Wi-Fi или Провод)&lt;br /&gt;
#Как только дойдете до &amp;quot;Настройки IP адреса&amp;quot; выберите &amp;quot;Вручную&amp;quot;&lt;br /&gt;
#В пункте &amp;quot;Первичный DNS&amp;quot; укажите 85.17.30.89&lt;br /&gt;
#В пункте &amp;quot;Вторичный DNS&amp;quot; укажите 0.0.0.0, дабы избежать конфликта в работе ForkPlayer&#039;a&lt;br /&gt;
#Если спросит &amp;quot;Использовать прокси сервер&amp;quot;, то нет&lt;br /&gt;
#Сохранить и подключиться&lt;br /&gt;
#В Opera TV Store / VEWD AppStore (&amp;lt;u&amp;gt;Sony&amp;lt;/u&amp;gt;: Из меню &amp;quot;Все приложения&amp;quot;) установите Tvigle или другое приложение-донор выбранное из [[Sony сменой DNS - весь список DNS и доноров|&#039;&#039;&#039;таблицы&#039;&#039;&#039;]]) (&amp;lt;u&amp;gt;Не Sony&amp;lt;/u&amp;gt;: работоспособность возможна в Больше TV, Русские сериалы, Русская музыка, Deezer и Дети)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Примечание&#039;&#039;: Если ваш телевизор поддерживает IPv6 и ваш провайдер предоставляет DNS сервер для IPv6, то чтобы избежать конфликта в работе ForkPlayer&#039;a следует отключить IPv6 на телевизоре&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Отдельным приложением (через URL Loader)&#039;&#039;&#039;===&lt;br /&gt;
[[Файл:15879952.jpg|альт=device id|справа|безрамки|196x196пкс|device id]]&lt;br /&gt;
[[Файл:15879975.jpg|мини|180x180пкс]]Сейчас будет небольшой гайд по запуску ForkPlayer на телевизорах Hitachi и Sony, в смарт ТВ которых имеется Опера ТВ (VEWD AppStore). Данный способ позволяет получить доступ к ForkPlayer без манипуляций с ДНС адресами и сторонними приложениями.&lt;br /&gt;
Ну, поехали:&lt;br /&gt;
1. Необходимо создать учётную запись на [https://submission.cloud.vewd.com/index.html сайте] &lt;br /&gt;
2. Для дальнейшей работы нам понадобится device id. Для этого открываем на тв приложение VEWD AppStore. Переходим в настройки на вкладку &amp;quot;О программе&amp;quot;. Там увидите ваш ID устройства (много цифр/букв).&lt;br /&gt;
3. После создания и подтверждения учётной записи, необходимо авторизоваться на сайте и перейти в раздел &amp;quot;Paired devices&amp;quot;(Сопряжённые устройства).&lt;br /&gt;
В поле &amp;quot;Custom name&amp;quot; (пользовательское имя) вводим имя устройства (любое), в поле &amp;quot;Device ID&amp;quot;(идентификатор устройства) вводим ID устройства, который мы нашли в пункте 2.&lt;br /&gt;
[[Файл:15879993.jpg|мини|183x183пкс]]&lt;br /&gt;
4. В случае успеха в приложение VEWD AppStore появится новый раздел &amp;quot;Разработчику&amp;quot; с приложением &amp;quot;URL Loader&amp;quot;(потребуется перезагрузка ТВ или приложения WEWD).&lt;br /&gt;
5. Открываем приложение &amp;quot;URL Loader&amp;quot;, в адресной строке вводим: http://browser.appfxml.com/ (необходимо ввести 1 раз, потом все это будет сохранено). Выбираем &amp;quot;GO current window&amp;quot; и нажимаем ОК и у вас загружается ForkPlayer.&lt;br /&gt;
П.с. если у вас ранее работал форк плеер через подмену ДНС, то смените параметры ДНС на автоматические.&lt;br /&gt;
[http://4pda.ru/forum/index.php?showtopic=941817&amp;amp;st=0#entry82406405 via]&lt;br /&gt;
&lt;br /&gt;
[[Установка на Sony|&#039;&#039;&#039;Установка на Sony&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
===&amp;amp;nbsp;&#039;&#039;&#039;Toshiba&#039;&#039;&#039;&amp;amp;nbsp;без опера стор===&lt;br /&gt;
&amp;lt;br /&amp;gt; 1. Меняем в настройках сети днс на пользовтаельский 85.17.30.89&amp;lt;br /&amp;gt; 2. Запуск через приложение 8 Канал, Deezer, Tvigle или Yotaplay, на новых моделях 2018 -приложение запускать лучше &amp;lt;u&amp;gt;не из старого меню&amp;lt;/u&amp;gt; а из раздела переложений App Store.&lt;br /&gt;
—&amp;amp;nbsp;[[Javascript:void(0);|&#039;&#039;&#039;Philips&#039;&#039;&#039;&amp;amp;nbsp;смарт тв включая Android]] &lt;br /&gt;
1) Установить виджет Megogo&amp;lt;br /&amp;gt; 2) в «Параметры сети» включить Автоматический IP адрес (чтобы не вводить вручную шлюз и прочее), после успешного подключения переключить на «статический IP-адрес» (Network configuration — Static IP)&amp;lt;br /&amp;gt; 3) в «Настройки Статического IP изменить DNS1 на 085.017.030.089 или 217.079.190.156 (Static IP configuration — DNS1 — 217.079.190.156)&amp;lt;br /&amp;gt; 4) запустить Мегого HD, вместо него должен запуститься форкплеер.&amp;lt;br /&amp;gt; [http://elfolio.blogspot.com/2015/03/forksmart-philips-smart-tv.html еще одна инструкция с фото]&lt;br /&gt;
&lt;br /&gt;
==&amp;amp;nbsp;&#039;&#039;&#039;Panasonic&#039;&#039;&#039;&amp;amp;nbsp;смарт тв (viera)==&lt;br /&gt;
1. Меняем в настройках сети днс на  85.17.30.89&amp;lt;br /&amp;gt; 2. Запускаем виджет Wow tv, вместо него должен пойти форкплеер во весь экран без рамок&amp;lt;br /&amp;gt; — Если ForkPlayer вместо Wow tv не запускается,&amp;amp;nbsp;[https://wiki.forkbrowser.top/smart-tv/nslookup/ проверьте с помощью компьютера не блокируется ли ДНС вашим роутером или провайдером]&lt;br /&gt;
—&amp;amp;nbsp;[[Javascript:void(0);|Спутниковые ресиверы&amp;amp;nbsp;&#039;&#039;&#039;Spark&#039;&#039;&#039;&amp;amp;nbsp;(только годичная версия ForkPlayer)]]&lt;br /&gt;
1. Соединяемся по фтп с ресивером (server:Local IP ресивера, port:21, user: root, password:пустой)&amp;lt;br /&amp;gt; 2. Открываем по FTP файл /root/spark/etc/opera/run-Portal&amp;lt;br /&amp;gt; 3. Редактируем там строчку, чтоб она выглядела так, без # в начале строки&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt;STARTPAGE=&amp;quot;http://browser.appfxml.com&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt; 4. Заливаем файл назад, права у него должны быть 755&amp;lt;br /&amp;gt; Кнопка stop: выход из плеера&amp;lt;br /&amp;gt; Кнопка EPG: возврат на один шаг (return)&lt;br /&gt;
&lt;br /&gt;
==&amp;amp;nbsp;&#039;&#039;&#039;MAG250&#039;&#039;&#039;&amp;amp;nbsp;/ AURA HD==&lt;br /&gt;
1. Войти в меню настройки (клавиша «SET»(шестеренка))&lt;br /&gt;
&lt;br /&gt;
2. В разделе «Серверы» &lt;br /&gt;
&lt;br /&gt;
В поле «Портал 1 URL:» или «Портал 2 URL:» нужно вписать &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;browser.appfxml.com&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 — Также возможен запуск с modmenu (F1 \ ForkPlayer) как установить модменю описано здесь&amp;amp;nbsp;[http://modmenu.ru/ modmenu.ru]&lt;br /&gt;
&lt;br /&gt;
 — Регулировка громкости кроме пульта есть еще в опциях видео&lt;br /&gt;
&lt;br /&gt;
 — Сохранение закладок и прочих настроек по умолчанию не работает! Для его включения необходимо после запуска ForkPlayer войти в его настройки и выставить Хранить данные: на сервере. Также для того чтобы данные заливались на сервер выходить с виджета нужно кнопкой exit на пульте или Меню \ Сохранить и выйти.&lt;br /&gt;
&lt;br /&gt;
 — Пропорции видео выставляются синей кнопкой.&lt;br /&gt;
&lt;br /&gt;
===Ошибка 400 на mag250/Aura===&lt;br /&gt;
&lt;br /&gt;
Возникает при повреждении файла cookie - можно исправить удалением файла кукис или же вписать зеркало портала&lt;br /&gt;
browser.appinfo.su&lt;br /&gt;
browser2.appfxml.com&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Dune&#039;&#039;&#039;&amp;amp;nbsp;HD (303/Base 3D/connect/102)==&lt;br /&gt;
1. Скачать файл&amp;amp;nbsp;&lt;br /&gt;
[https://appfxml.com/apps/dune_plugin_forknew.zip dune_plugin_forknew.zip]&amp;amp;nbsp;на флешку, вставить ее в Dune HD&lt;br /&gt;
 2. Зайти в плеере в Источники \ USB и открыть там файл dune_plugin_forkplayer.zip&lt;br /&gt;
&lt;br /&gt;
 3. Если есть звук но нет видео, может помочь прошивка http://forum.hdtv.ru/index.php?showtopic=14345&amp;lt;br /&amp;gt; — Выход с плагина кнопкой TOP MENU&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:195.88.208.101}}&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork_-_Wiki:Forkplayer.tv&amp;diff=2007</id>
		<title>Браузер Fork - Wiki:Forkplayer.tv</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork_-_Wiki:Forkplayer.tv&amp;diff=2007"/>
		<updated>2025-05-25T12:42:54Z</updated>

		<summary type="html">&lt;p&gt;Mentos: Перенаправление изменено с Браузер Fork - Wiki:Fork Browser - Forkplayer.tv на Браузер Fork - Wiki:Fork browser - (ex ForkPlayer)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#перенаправление [[Браузер Fork - Wiki:Fork browser - (ex ForkPlayer)]]&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=2006</id>
		<title>Заглавная страница</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=2006"/>
		<updated>2025-05-25T12:41:26Z</updated>

		<summary type="html">&lt;p&gt;Mentos: Перенаправление изменено с Браузер Fork - Wiki:Fork Browser - Forkplayer.tv на Браузер Fork - Wiki:Fork browser - (ex ForkPlayer)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#перенаправление [[Браузер Fork - Wiki:Fork browser - (ex ForkPlayer)]]&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork_-_Wiki:Fork_Browser_-_Forkplayer.tv&amp;diff=2005</id>
		<title>Обсуждение Браузер Fork - Wiki:Fork Browser - Forkplayer.tv</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork_-_Wiki:Fork_Browser_-_Forkplayer.tv&amp;diff=2005"/>
		<updated>2025-05-25T12:35:40Z</updated>

		<summary type="html">&lt;p&gt;Mentos: Mentos переименовал страницу Обсуждение Браузер Fork - Wiki:Fork Browser - Forkplayer.tv в Обсуждение Браузер Fork - Wiki:Fork browser - (ex ForkPlayer)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#перенаправление [[Обсуждение Браузер Fork - Wiki:Fork browser - (ex ForkPlayer)]]&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork_-_Wiki:Fork_browser_-_(ex_ForkPlayer)&amp;diff=2004</id>
		<title>Обсуждение Браузер Fork - Wiki:Fork browser - (ex ForkPlayer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork_-_Wiki:Fork_browser_-_(ex_ForkPlayer)&amp;diff=2004"/>
		<updated>2025-05-25T12:35:40Z</updated>

		<summary type="html">&lt;p&gt;Mentos: Mentos переименовал страницу Обсуждение Браузер Fork - Wiki:Fork Browser - Forkplayer.tv в Обсуждение Браузер Fork - Wiki:Fork browser - (ex ForkPlayer)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#перенаправление [[Обсуждение Браузер Fork - Wiki:Forkplayer.tv]]&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork_-_Wiki:Fork_Browser_-_Forkplayer.tv&amp;diff=2003</id>
		<title>Браузер Fork - Wiki:Fork Browser - Forkplayer.tv</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork_-_Wiki:Fork_Browser_-_Forkplayer.tv&amp;diff=2003"/>
		<updated>2025-05-25T12:35:40Z</updated>

		<summary type="html">&lt;p&gt;Mentos: Mentos переименовал страницу Браузер Fork - Wiki:Fork Browser - Forkplayer.tv в Браузер Fork - Wiki:Fork browser - (ex ForkPlayer)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#перенаправление [[Браузер Fork - Wiki:Fork browser - (ex ForkPlayer)]]&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork_-_Wiki:Fork_browser_-_(ex_ForkPlayer)&amp;diff=2002</id>
		<title>Браузер Fork - Wiki:Fork browser - (ex ForkPlayer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork_-_Wiki:Fork_browser_-_(ex_ForkPlayer)&amp;diff=2002"/>
		<updated>2025-05-25T12:35:40Z</updated>

		<summary type="html">&lt;p&gt;Mentos: Mentos переименовал страницу Браузер Fork - Wiki:Fork Browser - Forkplayer.tv в Браузер Fork - Wiki:Fork browser - (ex ForkPlayer)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Fork Browser (ex ForkPlayer) - это прикладное программное обеспечение для просмотра страниц, написанных на языке разметки FXML (Fork eXtensible Markup Language). Он используется для запросов, обработки, манипуляции и отображения содержимого [[FXML-сайт|fxml-сайтов]], а также для просмотра файлов плейлистов (m3u, xml, xspf), изображений (gif, jpeg, png), аудио-видео форматов (mp3, mpeg, mkv) и потокового видео (udp, hls).&lt;br /&gt;
&lt;br /&gt;
[[FXML-сайт|FXML-порталы]] отличаются от веб-сайтов тем, что для навигации не требуется мышь или сенсорный экран. Страницы легко отображаются и могут быть просмотрены с помощью кнопочного пульта. Они также экономичны в ресурсах и удобны для просмотра на телевизорах.&lt;br /&gt;
&lt;br /&gt;
[[FXML-сайт|FXML-сайты]] создаются и размещаются так же, как и веб-сайты, на своем сервере или хостинге с уникальным доменным именем, доступ происходит по протоколу HTTP ([[Files Headers For ForkPlayer]]).  &lt;br /&gt;
&lt;br /&gt;
С помощью [[FXML CMS]] создать свой fxml-портал может даже начинающий вебмастер. &lt;br /&gt;
&lt;br /&gt;
[[FXML|Спецификация разметки FXML для написания кода вручную.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Если перестал запускаться Fork на Самсунг (Orsay) 2011г, 2012г, 2013г, 2014г==&lt;br /&gt;
Пишет нет Интернета. Error! Check your internet connection&lt;br /&gt;
&lt;br /&gt;
Для исправления необходимо заново установить Fork (будет установлен Fork browser с новой иконкой)&lt;br /&gt;
&lt;br /&gt;
1. Откройте SMART HUB (Internet@TV)&lt;br /&gt;
&lt;br /&gt;
2. Авторизуйтесь под логином: develop, пароль пустой ( либо develop )&lt;br /&gt;
&lt;br /&gt;
Если выдаст ошибку «Не могу подключиться к серверу» сбросьте смартхаб к заводским настройкам&lt;br /&gt;
&lt;br /&gt;
3. Выделяем в смартхабе любое приложение и нажимаем TOOLS или если пульт без кнопок нажимаем центральную кнопку-крестовину пульта и удерживаем ее до появления Меню синхронизации. &lt;br /&gt;
В появившемся меню выбираем: Настройки IP или Разработка&lt;br /&gt;
&lt;br /&gt;
5. Впишите IP — 85.17.30.89 или 46.36.220.208&lt;br /&gt;
&lt;br /&gt;
==Установка и настройка магазина приложений APPFXML STORE==&lt;br /&gt;
[[Файл:Msxappfxml.png|мини|Магазин приложений APPFXML STORE]]&lt;br /&gt;
Зайдите в &amp;quot;магазин&amp;quot; вашего устройства и скачайте приложение &amp;quot;Media Station X&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Запустите приложение Media Station X&lt;br /&gt;
&lt;br /&gt;
Откройте настройки (Settings) - (Start Parameter) - (Setup)&lt;br /&gt;
&lt;br /&gt;
Введите в поле адрес плейлиста: &#039;&#039;&#039;msx.appfxml.com&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Далее следуйте указаниям в приложении Media Station X для запуска APPFXML STORE&lt;br /&gt;
&lt;br /&gt;
==История технических изменений браузера Fork==&lt;br /&gt;
[[CHANGELOG]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Пользователям браузера Fork&#039;&#039;&#039;==&lt;br /&gt;
[https://wiki.forkbrowser.top/w/index.php?title=%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork_-_Wiki:%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C_%D0%B1%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork&#039;&#039;&#039;Инструкции по установке браузера Fork&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://cloudflare.appinfo.su/ Хранилище закладок, загрузить плейлист в свой аккаунт в браузер Fork]&lt;br /&gt;
&lt;br /&gt;
[[Настройка ForkPlayer]]&lt;br /&gt;
&lt;br /&gt;
[[Подключение архива]] iptv&lt;br /&gt;
&lt;br /&gt;
[[RemoteFork|RemoteFork]]&amp;amp;nbsp;(Windows, Android)&lt;br /&gt;
&lt;br /&gt;
[[Частые_проблемы_ForkPlayer|Частые проблемы браузера Fork]]&lt;br /&gt;
&lt;br /&gt;
[[Проверка DNS серверов]]&lt;br /&gt;
&lt;br /&gt;
[[TODO|TODO]]&amp;amp;nbsp;- ошибки в браузере Fork&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Просмотр торрентов&#039;&#039;&#039;==&lt;br /&gt;
&lt;br /&gt;
[[Torrserve Fork]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Авторам / издателям&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:Fxmlcms1.png|мини|FXML CMS Система управления порталом]]&lt;br /&gt;
&lt;br /&gt;
[[FXML CMS]] - Готовый портал под браузер Fork на вашем хостинге&lt;br /&gt;
&lt;br /&gt;
[[DLE FXML]] - Модуль для популярной CMS Data Life Engine&lt;br /&gt;
&lt;br /&gt;
[[Files Headers For ForkPlayer]] - Обязательно настройте нужные заголовки ваших страниц&lt;br /&gt;
&lt;br /&gt;
[[PHP JSON генерация страниц под ForkPlayer]]&lt;br /&gt;
&lt;br /&gt;
[[Формат_XML_и_M3U_страниц_ForkPlayer|Формат XML и M3U страниц браузера Fork]]&lt;br /&gt;
&lt;br /&gt;
[[Свой_DNS_сервер_Bind9_для_запуска_ForkPlayer|Свой DNS сервер Bind9 для запуска Fork]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Владелец существующего вебсайта?&#039;&#039;&#039;==&lt;br /&gt;
Увеличьте аудиторию и ее лояльность сделав версию под браузер Fork!&lt;br /&gt;
&lt;br /&gt;
[[Сигнатуры ForkPlayer]] - по наличию GET параметра box_mac определяем что ваш сайт был открыт в браузере Fork&lt;br /&gt;
&lt;br /&gt;
===Пример готовых решений и структуры порталов под браузер Fork===&lt;br /&gt;
Модуль, если у вас сайт на DLE [[DLE FXML]]&amp;lt;br /&amp;gt;Готовый простенький портал на PHP с авторизацией, поиском и выводом страниц в JSON https://github.com/vengo634/kino.pub_forkplayerPHP/blob/master/index.php&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;От авторов / издателей&#039;&#039;&#039;==&lt;br /&gt;
&lt;br /&gt;
[[Dstore|Dstore]]&amp;amp;nbsp;-&amp;amp;nbsp;магазин приложений, кинозалы, новостные и развлекательные порталы&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Тем кто хочет помочь&#039;&#039;&#039;==&lt;br /&gt;
__ИНДЕКС__&lt;br /&gt;
__ССЫЛКА_НА_НОВЫЙ_РАЗДЕЛ__&lt;br /&gt;
&lt;br /&gt;
[[Создать_свою_страницу_на_ForkPlayer_Wiki|Создать свою страницу на ForkPlayer Wiki]]&amp;amp;nbsp;- дополнить проект недостающей информацией!&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork_-_Wiki:Fork_browser_-_(ex_ForkPlayer)&amp;diff=2001</id>
		<title>Браузер Fork - Wiki:Fork browser - (ex ForkPlayer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork_-_Wiki:Fork_browser_-_(ex_ForkPlayer)&amp;diff=2001"/>
		<updated>2025-05-25T12:05:13Z</updated>

		<summary type="html">&lt;p&gt;Mentos: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Fork Browser (ex ForkPlayer) - это прикладное программное обеспечение для просмотра страниц, написанных на языке разметки FXML (Fork eXtensible Markup Language). Он используется для запросов, обработки, манипуляции и отображения содержимого [[FXML-сайт|fxml-сайтов]], а также для просмотра файлов плейлистов (m3u, xml, xspf), изображений (gif, jpeg, png), аудио-видео форматов (mp3, mpeg, mkv) и потокового видео (udp, hls).&lt;br /&gt;
&lt;br /&gt;
[[FXML-сайт|FXML-порталы]] отличаются от веб-сайтов тем, что для навигации не требуется мышь или сенсорный экран. Страницы легко отображаются и могут быть просмотрены с помощью кнопочного пульта. Они также экономичны в ресурсах и удобны для просмотра на телевизорах.&lt;br /&gt;
&lt;br /&gt;
[[FXML-сайт|FXML-сайты]] создаются и размещаются так же, как и веб-сайты, на своем сервере или хостинге с уникальным доменным именем, доступ происходит по протоколу HTTP ([[Files Headers For ForkPlayer]]).  &lt;br /&gt;
&lt;br /&gt;
С помощью [[FXML CMS]] создать свой fxml-портал может даже начинающий вебмастер. &lt;br /&gt;
&lt;br /&gt;
[[FXML|Спецификация разметки FXML для написания кода вручную.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Если перестал запускаться Fork на Самсунг (Orsay) 2011г, 2012г, 2013г, 2014г==&lt;br /&gt;
Пишет нет Интернета. Error! Check your internet connection&lt;br /&gt;
&lt;br /&gt;
Для исправления необходимо заново установить Fork (будет установлен Fork browser с новой иконкой)&lt;br /&gt;
&lt;br /&gt;
1. Откройте SMART HUB (Internet@TV)&lt;br /&gt;
&lt;br /&gt;
2. Авторизуйтесь под логином: develop, пароль пустой ( либо develop )&lt;br /&gt;
&lt;br /&gt;
Если выдаст ошибку «Не могу подключиться к серверу» сбросьте смартхаб к заводским настройкам&lt;br /&gt;
&lt;br /&gt;
3. Выделяем в смартхабе любое приложение и нажимаем TOOLS или если пульт без кнопок нажимаем центральную кнопку-крестовину пульта и удерживаем ее до появления Меню синхронизации. &lt;br /&gt;
В появившемся меню выбираем: Настройки IP или Разработка&lt;br /&gt;
&lt;br /&gt;
5. Впишите IP — 85.17.30.89 или 46.36.220.208&lt;br /&gt;
&lt;br /&gt;
==Установка и настройка магазина приложений APPFXML STORE==&lt;br /&gt;
[[Файл:Msxappfxml.png|мини|Магазин приложений APPFXML STORE]]&lt;br /&gt;
Зайдите в &amp;quot;магазин&amp;quot; вашего устройства и скачайте приложение &amp;quot;Media Station X&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Запустите приложение Media Station X&lt;br /&gt;
&lt;br /&gt;
Откройте настройки (Settings) - (Start Parameter) - (Setup)&lt;br /&gt;
&lt;br /&gt;
Введите в поле адрес плейлиста: &#039;&#039;&#039;msx.appfxml.com&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Далее следуйте указаниям в приложении Media Station X для запуска APPFXML STORE&lt;br /&gt;
&lt;br /&gt;
==История технических изменений браузера Fork==&lt;br /&gt;
[[CHANGELOG]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Пользователям браузера Fork&#039;&#039;&#039;==&lt;br /&gt;
[https://wiki.forkbrowser.top/w/index.php?title=%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork_-_Wiki:%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C_%D0%B1%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork&#039;&#039;&#039;Инструкции по установке браузера Fork&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://cloudflare.appinfo.su/ Хранилище закладок, загрузить плейлист в свой аккаунт в браузер Fork]&lt;br /&gt;
&lt;br /&gt;
[[Настройка ForkPlayer]]&lt;br /&gt;
&lt;br /&gt;
[[Подключение архива]] iptv&lt;br /&gt;
&lt;br /&gt;
[[RemoteFork|RemoteFork]]&amp;amp;nbsp;(Windows, Android)&lt;br /&gt;
&lt;br /&gt;
[[Частые_проблемы_ForkPlayer|Частые проблемы браузера Fork]]&lt;br /&gt;
&lt;br /&gt;
[[Проверка DNS серверов]]&lt;br /&gt;
&lt;br /&gt;
[[TODO|TODO]]&amp;amp;nbsp;- ошибки в браузере Fork&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Просмотр торрентов&#039;&#039;&#039;==&lt;br /&gt;
&lt;br /&gt;
[[Torrserve Fork]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Авторам / издателям&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:Fxmlcms1.png|мини|FXML CMS Система управления порталом]]&lt;br /&gt;
&lt;br /&gt;
[[FXML CMS]] - Готовый портал под браузер Fork на вашем хостинге&lt;br /&gt;
&lt;br /&gt;
[[DLE FXML]] - Модуль для популярной CMS Data Life Engine&lt;br /&gt;
&lt;br /&gt;
[[Files Headers For ForkPlayer]] - Обязательно настройте нужные заголовки ваших страниц&lt;br /&gt;
&lt;br /&gt;
[[PHP JSON генерация страниц под ForkPlayer]]&lt;br /&gt;
&lt;br /&gt;
[[Формат_XML_и_M3U_страниц_ForkPlayer|Формат XML и M3U страниц браузера Fork]]&lt;br /&gt;
&lt;br /&gt;
[[Свой_DNS_сервер_Bind9_для_запуска_ForkPlayer|Свой DNS сервер Bind9 для запуска Fork]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Владелец существующего вебсайта?&#039;&#039;&#039;==&lt;br /&gt;
Увеличьте аудиторию и ее лояльность сделав версию под браузер Fork!&lt;br /&gt;
&lt;br /&gt;
[[Сигнатуры ForkPlayer]] - по наличию GET параметра box_mac определяем что ваш сайт был открыт в браузере Fork&lt;br /&gt;
&lt;br /&gt;
===Пример готовых решений и структуры порталов под браузер Fork===&lt;br /&gt;
Модуль, если у вас сайт на DLE [[DLE FXML]]&amp;lt;br /&amp;gt;Готовый простенький портал на PHP с авторизацией, поиском и выводом страниц в JSON https://github.com/vengo634/kino.pub_forkplayerPHP/blob/master/index.php&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;От авторов / издателей&#039;&#039;&#039;==&lt;br /&gt;
&lt;br /&gt;
[[Dstore|Dstore]]&amp;amp;nbsp;-&amp;amp;nbsp;магазин приложений, кинозалы, новостные и развлекательные порталы&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Тем кто хочет помочь&#039;&#039;&#039;==&lt;br /&gt;
__ИНДЕКС__&lt;br /&gt;
__ССЫЛКА_НА_НОВЫЙ_РАЗДЕЛ__&lt;br /&gt;
&lt;br /&gt;
[[Создать_свою_страницу_на_ForkPlayer_Wiki|Создать свою страницу на ForkPlayer Wiki]]&amp;amp;nbsp;- дополнить проект недостающей информацией!&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=Hisense&amp;diff=2000</id>
		<title>Hisense</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=Hisense&amp;diff=2000"/>
		<updated>2025-04-25T10:33:00Z</updated>

		<summary type="html">&lt;p&gt;Mentos: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;html&amp;gt; &lt;br /&gt;
Hisense смарт тв (установка в память тв)&amp;lt;br/&amp;gt; 1. Открываем в браузере вашего ТВ эту страницу&amp;lt;br/&amp;gt; 2. Нажмите ниже ссылку установить (способ от [&amp;lt;a href=&amp;quot;https://forum.ixbt.com/topic.cgi?id=62:22869:1578#1578&amp;quot;&amp;gt;https://forum.ixbt.com/topic.cgi?id=62:22869:1578#1578&amp;lt;/a&amp;gt;])&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt; var data={appid:&#039;anb_forkplayer&#039;,name:&#039;Fork browser&#039;,url:&#039;http://browser.appfxml.com&#039;,text:&#039;Fork browser — это браузер с адаптированным под ваше устройство просмотром сайтов (список сайтов постоянно обновляется) и созданных вами XML, M3U (IPTV) плейлистов. Весь контент берется напрямую с интернет сайтов и после обработки и преобразования страницы в собственный формат отображается в приложении ForkPlayer&#039;};var img = &#039;http://msx.appfxml.com/msx/fork2.png&#039;;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;javascript:void(0);&amp;quot; onclick=&amp;quot;try{Hisense_installApp(data.appid, data.name, img, img, img, data.url, function(){alert(&#039;INSTALLED!&#039;); });}catch(e){alert(&#039;Ссылку нажимать в браузере ТВ Hisense! \n&#039;+e.toString());}&amp;quot;&amp;gt;Установить&amp;lt;/a&amp;gt; &amp;lt;/html&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Media_Station_X_%D0%BD%D0%B5_%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%B0%D0%B5%D1%82%D1%81%D1%8F.png&amp;diff=1999</id>
		<title>Файл:Media Station X не запускается.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Media_Station_X_%D0%BD%D0%B5_%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%B0%D0%B5%D1%82%D1%81%D1%8F.png&amp;diff=1999"/>
		<updated>2025-04-03T09:49:31Z</updated>

		<summary type="html">&lt;p&gt;Mentos: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Необходимо ввести новый рабочий стартовый параметр msx.appfxml.com&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9E%D1%88%D0%B8%D0%B1%D0%BA%D0%B0_%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%B0_Media_Station_X.png&amp;diff=1998</id>
		<title>Файл:Ошибка запуска Media Station X.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9E%D1%88%D0%B8%D0%B1%D0%BA%D0%B0_%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%B0_Media_Station_X.png&amp;diff=1998"/>
		<updated>2025-04-03T09:47:59Z</updated>

		<summary type="html">&lt;p&gt;Mentos: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Необходимо сменить стартовый параметр на рабочий&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1997</id>
		<title>FXML</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1997"/>
		<updated>2025-01-15T15:08:56Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* playlist_url или stream_url */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;FXML&#039;&#039;&#039; (Fork eXtensible Markup Language) - что такое==&lt;br /&gt;
Это язык разметки документов во Всемирной паутине.  Для навигации по таким страницам не требуется мышь или сенсорный экран. Язык &#039;&#039;&#039;FXML&#039;&#039;&#039; интерпретируется такими приложениями как ForkPlayer, OTT Player, OTT-play. Полученный в результате интерпретации форматированный текст отображается на экране телевизора. &lt;br /&gt;
&lt;br /&gt;
====Например, следующий код (должен быть валидным JSON):====&lt;br /&gt;
 {&amp;quot;title&amp;quot;:&amp;quot;COOLTV - портал нового поколения&amp;quot;,&amp;quot;background-image&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;typeList&amp;quot;:&amp;quot;start&amp;quot;,&amp;quot;icon&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool23.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;channels&amp;quot;:[{&amp;quot;title&amp;quot;:&amp;quot;Вход&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/profle22.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/auth&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Новости &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/rss-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/news&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Поиск &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-search-folder-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/search.php&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Кинозал &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/1icons8-film-reel-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;AceStream &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-wave-arrows-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/12&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Обменник &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-next-100.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/obmen/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Сервисы &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8s3-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/9&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;IPTV &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-hdtv-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/8&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Мультимедиа &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-documentary-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/7&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Чат &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-chat-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/guest&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;FAQ &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-info-popup-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/faq/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Копилка&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-bad-piggies-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/copilka&amp;lt;/nowiki&amp;gt;&amp;quot;}]}&lt;br /&gt;
даст такой результат (в ForkPlayer):&lt;br /&gt;
[[Файл:Cooltv.png|мини|600x600пкс|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Все допустимые команды можно посмотреть в исходном коде страниц &lt;br /&gt;
&lt;br /&gt;
https://github.com/vengo634/kino.pub_forkplayerPHP/blob/master/index.php&lt;br /&gt;
&lt;br /&gt;
====Смотреть Исходный код любой страницы можно непосредственно в ForkPlayer====&lt;br /&gt;
[[Файл:VmGe53a9.png|мини|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
и FXML CMS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FXMLbaseparser PHP класс упрощающий верстку кода для Fork browser ==&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/FXMLbaseparser FXMLbaseparser PHP класс]&lt;br /&gt;
&lt;br /&gt;
==Новые теги и команды FXML==&lt;br /&gt;
Новые спецификации FXML добавляются в CHANGELOG, рекомендуем смотреть нужные команды также и там.&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;ping&amp;quot;][&amp;quot;link&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало 1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;; $_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;poster&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/CHANGELOG CHANGELOG]&lt;br /&gt;
&lt;br /&gt;
==Глобальные теги==&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;start&amp;quot;; // Плиточный + другой(с использованием $_CH[&amp;quot;position&amp;quot;] ) виды страницы&lt;br /&gt;
&lt;br /&gt;
====Стили сайта по умолчанию====&lt;br /&gt;
По умолчанию для вашей страницы задаются такие стили (вы их можете изменить задав нужные в $_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:700px; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;Смотреть CSS стили по умолчанию&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button {&lt;br /&gt;
    background-color: #bbbbbb;&lt;br /&gt;
    display: block;&lt;br /&gt;
    border-style: solid;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:decrement {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: transparent transparent #555555;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:increment {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: #555555 transparent transparent transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar {&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-track {&lt;br /&gt;
    background: #ddd;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb {&lt;br /&gt;
    background: #888;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb:hover {&lt;br /&gt;
    background: #777;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    ;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    margin-left: 4px;&lt;br /&gt;
    margin-top: 1px;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .rating {&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    display: none;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    height: 23px;&lt;br /&gt;
    width: 28px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    padding-left: 5px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .icon {&lt;br /&gt;
    padding: 2px 2px 0px 2px;&lt;br /&gt;
    height: 76%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .name {&lt;br /&gt;
    font-size: 17px;&lt;br /&gt;
    line-height: 0.9;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    bottom: 0px;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    max-height: 50%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .title {&lt;br /&gt;
    background: rgba(0, 0, 0, 0.65);&lt;br /&gt;
    border-radius: 3px;&lt;br /&gt;
    width: auto;&lt;br /&gt;
    display: display: inline-block;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    padding: 1px 4px 4px 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .side_icon {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list {&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px 0px 0px 4px;&lt;br /&gt;
    cursor: default;&lt;br /&gt;
    margin: 2px 0px;&lt;br /&gt;
    width: 48.87708333333334%;&lt;br /&gt;
    height: 35px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .contmenu {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    float: right;&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .numb {&lt;br /&gt;
    float: left;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
    font-size: 60%;&lt;br /&gt;
    min-width: 38px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .icon {&lt;br /&gt;
    margin: 0px 2px;&lt;br /&gt;
    padding-right: 2px;&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .title {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    float: left;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listsearch {&lt;br /&gt;
    background-color: #ddd;&lt;br /&gt;
    color: #333;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    padding: 3px;&lt;br /&gt;
    margin-top: 2px;&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
    width: 90%;&lt;br /&gt;
    height: 68%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolinktitle {&lt;br /&gt;
    height: 63%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolink {&lt;br /&gt;
    padding-left: 3px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default .contmenu {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected .contmenu {&lt;br /&gt;
    display: block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.html {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px solid transparent;&lt;br /&gt;
    margin: 0px 4px;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    max-width: 310px;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
    padding: 0px 4px;&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 28px;&lt;br /&gt;
    text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline {&lt;br /&gt;
    border: 1px solid transparent;&lt;br /&gt;
    width: 80%;&lt;br /&gt;
    margin: 1px 9%;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    font-size: 24px;&lt;br /&gt;
    height: 24px;&lt;br /&gt;
    margin: 3px;&lt;br /&gt;
    color: #2b2525;&lt;br /&gt;
    background-color: #eee;&lt;br /&gt;
    padding: 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .icon {&lt;br /&gt;
    float: right;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    margin: -2px 4%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    width: 92%;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    height: 26px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 20px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default {&lt;br /&gt;
    background: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected {&lt;br /&gt;
    background: rgba(180, 180, 180, 0.7);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listselected {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.site {&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    font-size: 27px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    color: rgb(238, 238, 238);&lt;br /&gt;
    margin: 0px;&lt;br /&gt;
    padding: 0px;&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    background-color: transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
small {&lt;br /&gt;
    font-size: 70%;&lt;br /&gt;
    color: gray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.buttons {&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    top: 80%;&lt;br /&gt;
    left: 50%;&lt;br /&gt;
    width: 47%;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    color: #cccccc;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
}&lt;br /&gt;
\#description {&lt;br /&gt;
    top: 0px;&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    font-size: 28px;&lt;br /&gt;
    left: 51%;&lt;br /&gt;
    width: 47.2%;&lt;br /&gt;
    word-break: break-word;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Пример своего стиля (пишите чистый css, он будет преобразован в одну строку)===&lt;br /&gt;
&lt;br /&gt;
===Если строка стилей очень большая, их лучше вынести в отдельный css файл===&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
====#content - стиль страницы (без description)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
====#rightHalf- стиль description====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;#content {font-size:25px;}  #rightHalf{font-size:10 px;} &amp;quot;; // Установим размер шрифта сайта и описания&lt;br /&gt;
&lt;br /&gt;
====.selected - стиль при выделении элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .selected {  color: black; } &amp;quot;; // Делаем смену цвета выделенного элемента&lt;br /&gt;
&lt;br /&gt;
====.default - стиль невыделенного элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .default{  color: gray; } &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.contmenu - визуальная кнопка контекстного меню====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .contmenu{ display:none; } &amp;quot;;  // Скрываем кнопку контекстного меню&lt;br /&gt;
&lt;br /&gt;
====.label, .start, .list, .fulleditline, .hlink, .html - стили(верхний уровень) для разных типов элементов $_CH[&amp;quot;position&amp;quot;]  [https://wiki.forkbrowser.top/wiki/FXML#position_.D0.BF.D1.80.D0.B8_.D0.B7.D0.B0.D0.B4.D0.B0.D0.BD.D0.BD.D0.BE.D0.BC_.24_PL.5B.22typeList.22.5D.3D.22start.22.3B]====&lt;br /&gt;
Если не задан $_CH[&amp;quot;position&amp;quot;] элемента то по умолчанию элементы отображаются на странице списком и классом .list&lt;br /&gt;
&lt;br /&gt;
Если при этом задано отображение плиткой ($_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot; ) то по умолчанию элементы отображаются с классом .start&lt;br /&gt;
&lt;br /&gt;
====.labelselected, .startselected, .listselected, .fulleditlineselected, .hlinkselected, .htmlselected - стили(верхний уровень) для выделенных элементов====&lt;br /&gt;
&lt;br /&gt;
=====Установим цвет для выделенных элементов только .list=====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .listselected{color: red; }&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.labeldefault, .startdefault, .listdefault, .fulleditlinedefault, .hlinkdefault, .htmldefault - стили(верхний уровень) для невыделенных элементов====&lt;br /&gt;
&lt;br /&gt;
====.list - зададим свой вид списка====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list{color: red; }&amp;quot;; // Меняем цвет&lt;br /&gt;
&lt;br /&gt;
====.title .icon .rating .numb вложенные в верхний уровень стили заголовка, иконки, рейтинга(для .start), порядкового номера(для .list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .title{color: red; }&amp;quot;; // Меняем цвет заголовков&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .numb { display:none; } &amp;quot;; // Скрываем отображение номера&lt;br /&gt;
&lt;br /&gt;
====Комбинация классов, зададим стиль иконок только для списка (.list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list .icon{background-color:white; margin:2px;}&amp;quot;; // Зададим белую рамку фона для иконок&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cacheinfo&amp;quot;]=&amp;quot;nocache&amp;quot;;  // Не кешировать страницу (при возврате назад страница будет грузиться заново по адресу)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;setcookie&amp;quot;][&amp;quot;name1&amp;quot;]=&amp;quot;value1&amp;quot;; // Аналог cookie вебсайтов. Запомнит для последующих запросов страниц с этого же домена в переменной $_GET[&amp;quot;cookie&amp;quot;][&amp;quot;name1&amp;quot;] значение value1&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;info&amp;quot;]=&amp;quot;Вам уведомление&amp;quot;; // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;confirm&amp;quot;]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Открыть вложенный CHannel?&amp;quot;,&amp;quot;channel&amp;quot;=&amp;gt;[&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://..&amp;quot;]];&lt;br /&gt;
&lt;br /&gt;
===cmd тег (как глобальный так и в playlist_url) - допустимые команды===&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в глобальном теге====&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;historyback(1);&amp;quot;  // Вернуться назад на 1 страницу&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Вам уведомление);&amp;quot;  // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;settitle(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый title&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;setdescription(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый description&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;reload(2);&amp;quot;  // Перезагрузить страницу через 2секунды&lt;br /&gt;
&lt;br /&gt;
В конец cmd к командам выше можно добавить &#039;&#039;&#039;stop();&#039;&#039;&#039; чтобы выполнить команду выше и остановить загрузку новой страницы &lt;br /&gt;
&lt;br /&gt;
например $_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Доступ к этой странице Вам запрещен);stop();&amp;quot; выведет уведомление но оставить пользователя на предыдущей странице.&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в $_CH[&amp;quot;playlist_url&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;cmd:&amp;lt;Команда из списка допустимых&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Например $_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;reload();&amp;quot;; перезагрузит страницу при нажатии&lt;br /&gt;
&lt;br /&gt;
===Глобальный тег aside для вывода бокового меню===&lt;br /&gt;
[[Файл:Aside menu.png|мини|Пример бокового меню Fork]]&lt;br /&gt;
$_PL[&amp;quot;aside&amp;quot;][&amp;quot;channels&amp;quot;][]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Home&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://site.com/&amp;quot;,&amp;quot;style&amp;quot;=&amp;gt;&amp;quot;color:blue;&amp;quot;,&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;https://static.vecteezy.com/system/resources/thumbnails/022/013/913/small/home-icon-illustration-image-vector.jpg&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;aside&amp;quot;][&amp;quot;channels&amp;quot;][]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Category 1&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://site.com/cat1&amp;quot;,&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;https://static.vecteezy.com/system/resources/thumbnails/022/013/913/small/home-icon-illustration-image-vector.jpg&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
Изменить стили бокового меню по умолчанию:&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;].=&amp;quot;&amp;quot;#aside{position:absolute;z-index:1;top:0px;left:0px;height:inherit;border-radius: 0px 10px 10px 0px;padding:0px 10px 0px 2px;font-size: 27px;line-height: 27px;white-space: nowrap;overflow-x: hidden;}&lt;br /&gt;
&lt;br /&gt;
		#aside img{width:27px;height:27px;margin-right:8px;}&lt;br /&gt;
&lt;br /&gt;
		.aside_default{margin:5px 0px;padding: 4px;border-radius: 8px;border: 2px solid transparent;}&lt;br /&gt;
&lt;br /&gt;
		.aside_selected{margin:5px 0px;padding: 4px;border-radius: 8px;border: 2px solid #5590e7;}&lt;br /&gt;
&lt;br /&gt;
		.aside_hide{width:30px;background:none;overflow-y: hidden;}&lt;br /&gt;
&lt;br /&gt;
		.aside_show{width:auto;overflow-y: auto;background-color:rgba(0, 0, 0, 0.8);}&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Если стили свои, то лучше вынести их в отдельный css файл&lt;br /&gt;
&lt;br /&gt;
===Подключения css файлов стилей===&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
===advertising для показа рекламы перед запуском видео===&lt;br /&gt;
====Видеоролик====&lt;br /&gt;
 $_PL[&amp;quot;advertising&amp;quot;]=[&amp;quot;client&amp;quot;=&amp;gt;&amp;quot;video&amp;quot;,&lt;br /&gt;
    &amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Реклама&amp;quot;,// Надпись внизу с названием или описанием обьявления&lt;br /&gt;
    &amp;quot;skip&amp;quot;=&amp;gt;3,//Добавьте skip в секундах когда можно будет нажать кнопку пропуск&lt;br /&gt;
    &amp;quot;tag&amp;quot;=&amp;gt;&amp;quot;https://mlb2.adriver.ru/mf/0008908/0008908282/0/720_480.mp4&amp;quot;&lt;br /&gt;
 ];&lt;br /&gt;
&lt;br /&gt;
====VAST====&lt;br /&gt;
XML формат рекламы. Поддерживаются перенаправления, пропуск, отправка событий&lt;br /&gt;
 $_PL[&amp;quot;advertising&amp;quot;]=[&amp;quot;client&amp;quot;=&amp;gt;&amp;quot;vast&amp;quot;,&lt;br /&gt;
    &amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Реклама&amp;quot;,&lt;br /&gt;
    &amp;quot;tag&amp;quot;=&amp;gt;&amp;quot;https://raw.githubusercontent.com/InteractiveAdvertisingBureau/VAST_Samples/master/VAST%203.0%20Samples/Inline_Companion_Tag-test.xml&amp;quot; &lt;br /&gt;
 ];&lt;br /&gt;
В настройках форка для тестирования включите Ads: always&lt;br /&gt;
&lt;br /&gt;
==Channel теги==&lt;br /&gt;
&lt;br /&gt;
===title===&lt;br /&gt;
Заголовок&lt;br /&gt;
&lt;br /&gt;
===playlist_url или stream_url===&lt;br /&gt;
Адрес страницы или адрес видеопотока (непустым может быть только один из этих тегов)&lt;br /&gt;
====Альтернативный playlist_url2, время ожидания таймаута, способы получения====&lt;br /&gt;
Можно указать запасной источник страницы, время ожидания таймаута, способы получения&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $_CH[]= [&lt;br /&gt;
    &amp;quot;title&amp;quot; =&amp;gt; &amp;quot;Каталог&amp;quot;,&lt;br /&gt;
    &amp;quot;playlist_url&amp;quot; =&amp;gt; &amp;quot;http://domain1.in.net/&amp;quot;,&lt;br /&gt;
    &amp;quot;playlist_url2&amp;quot; =&amp;gt; &amp;quot;http://domain2.in.net/&amp;quot;,&lt;br /&gt;
    &amp;quot;playlist_url3&amp;quot; =&amp;gt; &amp;quot;http://domain3.in.net/&amp;quot;,&lt;br /&gt;
    &amp;quot;cors&amp;quot; =&amp;gt; &amp;quot;directnoheader&amp;quot;, // Тип получения страницы(напрямую без заголовков). Если не указать то будет перебор direct, directnoheader, remotefork и потом альтернативный источник&lt;br /&gt;
    &amp;quot;timeout&amp;quot; =&amp;gt; 4, // В секундах&lt;br /&gt;
    &amp;quot;error&amp;quot; =&amp;gt; &amp;quot;http://domainstat.in.net//err.php?info=%INFO&amp;quot; // Адрес куда отправлять ошибку если все страницы не откроются&lt;br /&gt;
 ];&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====stream_url мультиссылки с разными качествами и (или) несколькими источниками, Err format json link====&lt;br /&gt;
Для видеопотока можно задавать мультиссылки с разным качеством (можно и разные озвучки, но это будет не так явно для пользователя), выбор качества будет браться автоматически с настроек Fork(1080 или 720 и т.д.) и (или) несколькими источниками&lt;br /&gt;
&lt;br /&gt;
Пример использования в PHP с json_encode&lt;br /&gt;
В данном примере создается массив с различными ссылками на видеопотоки, и с помощью функции json_encode он преобразуется в JSON-формат для последующего использования:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 // Массив с данными для разных качеств видео и двумя источниками&lt;br /&gt;
 $stream_links = [&lt;br /&gt;
    &amp;quot;360&amp;quot; =&amp;gt; [&lt;br /&gt;
        &amp;quot;title&amp;quot; =&amp;gt; &amp;quot;360p&amp;quot;,&lt;br /&gt;
        &amp;quot;url&amp;quot; =&amp;gt; [&lt;br /&gt;
            &amp;quot;http://server.in/240.mp4&amp;quot;,&lt;br /&gt;
            &amp;quot;http://server2.in/hls/240.mp4&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;720&amp;quot; =&amp;gt; [&lt;br /&gt;
        &amp;quot;title&amp;quot; =&amp;gt; &amp;quot;720p&amp;quot;,&lt;br /&gt;
        &amp;quot;url&amp;quot; =&amp;gt; [&lt;br /&gt;
           &amp;quot;http://server.in/720.mp4&amp;quot;,&lt;br /&gt;
           &amp;quot;http://server2.in/hls/720.mp4&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    ]&lt;br /&gt;
 ];&lt;br /&gt;
 // Преобразование массива в JSON&lt;br /&gt;
 $json_stream_url = json_encode($stream_links);&lt;br /&gt;
 // Использование JSON в $_CH[&amp;quot;stream_url&amp;quot;]&lt;br /&gt;
 $_CH[&amp;quot;stream_url&amp;quot;] = $json_stream_url;&lt;br /&gt;
 // Вывод JSON для проверки&lt;br /&gt;
 echo $_CH[&amp;quot;stream_url&amp;quot;];&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Пример с несколькими источниками:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $stream_links = [&lt;br /&gt;
            &amp;quot;http://server.in/240.mp4&amp;quot;,&lt;br /&gt;
            &amp;quot;http://server2.in/hls/240.mp4&amp;quot;&lt;br /&gt;
        ];&lt;br /&gt;
 // Преобразование массива в JSON&lt;br /&gt;
 $json_stream_url = json_encode($stream_links);&lt;br /&gt;
 // Использование JSON в $_CH[&amp;quot;stream_url&amp;quot;]&lt;br /&gt;
 $_CH[&amp;quot;stream_url&amp;quot;] = $json_stream_url;&lt;br /&gt;
 // Вывод JSON для проверки&lt;br /&gt;
 echo $_CH[&amp;quot;stream_url&amp;quot;];&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===logo_30x30===&lt;br /&gt;
Адрес иконки&lt;br /&gt;
&lt;br /&gt;
===confirm - диалоговое окно с действиями при нажатии на элемент===&lt;br /&gt;
Пример подтверждения выхода с аккаунта&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Выйти&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;confirm&amp;quot;,&amp;quot;confirm&amp;quot;=&amp;gt;[&amp;quot;http://host/?do&amp;lt;nowiki&amp;gt;=exit&amp;quot;],&amp;quot;description&amp;quot;=&amp;gt;&amp;quot;Выйти с аккаунта?&amp;quot;];&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===menu - контекстное меню элемента===&lt;br /&gt;
$menu=[];&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню1&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню2&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;menu&amp;quot;]=$menu;&lt;br /&gt;
&lt;br /&gt;
===position при заданном $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;===&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;&amp;quot;; // - Плитка как в Стартовом меню размером 128х101px)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // - Пример элемента со своим дизайном в $_CH[&amp;quot;template&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;br&amp;quot;]=0; // Не переносить навигацию на новую строку&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание вида&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&amp;quot;width:242px;overflow:hidden;margin:4px;text-align:center;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;width:242px;height:171px;padding:2px 2px 0px 2px;&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;small&amp;gt;$description&amp;lt;/small&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
Элементы будут выстраиваться в ряд и навигация по ним будет предполагать что они в одном ряду&lt;br /&gt;
&lt;br /&gt;
=====$_CH[&amp;quot;br&amp;quot;]=====&lt;br /&gt;
В месте где навигация должна перейти на новую строку задайте $_CH[&amp;quot;br&amp;quot;]=1; При этом в before будет добавлено значение &amp;lt;nowiki&amp;gt;&amp;lt;br clear=both&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;fulleditline&amp;quot;; //- Поле ввода текста шириной почти на всю страницу====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;hlist&amp;quot;; // - горизонтальная ссылка (может быть несколько на одном горизонтальном уровне)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;list&amp;quot;; // -обычный вид списка шириной в половину экрана и с description справа====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;label&amp;quot;; // -невысокая строка на всю ширину экрана====&lt;br /&gt;
&lt;br /&gt;
===location===&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=1; // Переход c заменой текущей ссылки окна на новую (при перезапуске форкплеера будет открываться уже с этой новой ссылки)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=3; // Переход с отображением в текущем окне (при перезапуске форкплеера будет открываться старая ссылка и опять переадресовываться, необходимо если например используются устаревающие сессии)&lt;br /&gt;
&lt;br /&gt;
===after и before - свой html код после и перед элементом списка===&lt;br /&gt;
$_CH[&amp;quot;before&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст перед элементом&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;after&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст после элемента&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===SetTimeInterval - отправка событий клиентом через интервал и вывод сообщений===&lt;br /&gt;
$_CH[&amp;quot;SetTimeInterval&amp;quot;]=[&amp;quot;time&amp;quot;=&amp;gt;1,&amp;quot;onmenu&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onmenu&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;onplay&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onplay&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;time&#039;&#039;&#039; - интервал между отправкой событий в минутах&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onmenu -&#039;&#039;&#039; ссылка для отправки событий если пользователь находится в списке&lt;br /&gt;
&lt;br /&gt;
в ответ по ссылке onmenu &amp;lt;nowiki&amp;gt;http://193.30.240.2/try/ajax/send_status_log.php?action=onmenu&amp;lt;/nowiki&amp;gt; можно давать json &lt;br /&gt;
 {&amp;quot;message&amp;quot;:&amp;quot;Hello user&amp;quot;} &lt;br /&gt;
Это уведомление будет выводится вверху форкплеера&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onplay-&#039;&#039;&#039; ссылка для отправки событий если пользователь смотрит видео&lt;br /&gt;
&lt;br /&gt;
Можно использовать один или два сразу тега onmenu и onplay&lt;br /&gt;
&lt;br /&gt;
===parser - тег загрузки другой страницы перед переходом по playlist_url или stream_url===&lt;br /&gt;
Пример в XML&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
Пример в JSON FXML&lt;br /&gt;
 $_CH[&amp;quot;parser&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|&amp;lt;/nowiki&amp;gt;;&amp;quot;;&lt;br /&gt;
результат отдастся то что между js= и ; &lt;br /&gt;
&lt;br /&gt;
Регулярное выражение (по маркеру .*? )&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|&amp;lt;script&amp;gt;.*?js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
или&lt;br /&gt;
 &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|.*?js]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
преобразуется в RegExp(&amp;quot;&amp;lt;script&amp;gt;.*?js=(.*?);&amp;quot;,&amp;quot;i&amp;quot;) - результат отдастся тот что в () &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&amp;lt;title&amp;gt;Test &amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== #POST в playlist_url означает что все что после него будет передавать методом POST====&lt;br /&gt;
&lt;br /&gt;
В примере выше на адрес http://parser.co/ отправятся POST данные html=md5hash, где md5hash заменятся на полученное от parser&lt;br /&gt;
&lt;br /&gt;
====Допустимо в parser использовать curl запросы (доступны на андроид, частично если форк установлен в память ТВ, или через ремотефорк)====&lt;br /&gt;
&lt;br /&gt;
====Можно перечислить порядок методов запроса парсер, например &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
Сначала будет попытка запроса через remotefork (если включен), потом через андроид класс если Fork запущен на андроиде, потом прямой XHR запрос с попыткой установить заголовки, потом прямой XHR запрос без заголовков&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&lt;br /&gt;
  &amp;lt;title&amp;gt;Test curl and method&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;parser&amp;gt;&amp;lt;![CDATA[curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept-Encoding: deflate&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;]]&amp;gt;&lt;br /&gt;
  &amp;lt;/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Или в JSON&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;channels&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;title&amp;quot;: &amp;quot;Test curl and method&amp;quot;,&lt;br /&gt;
      &amp;quot;cors&amp;quot;: &amp;quot;rf|android|direct|directnoheader&amp;quot;,&lt;br /&gt;
      &amp;quot;playlist_url&amp;quot;: &amp;quot;http://parser.co/#POSThtml=md5hash&amp;quot;,&lt;br /&gt;
      &amp;quot;parser&amp;quot;: &#039;curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept-Encoding: deflate&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;&#039;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Результат будет в $_POST[&#039;html&#039;]&lt;br /&gt;
&lt;br /&gt;
Результат будет аналогично md5hash в $_GET[&#039;page&#039;]&lt;br /&gt;
&lt;br /&gt;
====Методом POST для видеоссылок ( stream_url )====&lt;br /&gt;
 &amp;lt;channel&amp;gt; &lt;br /&gt;
  &amp;lt;title&amp;gt;stream post&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;stream_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://test.ru/index.php#POSTs=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/stream_url&amp;gt;&lt;br /&gt;
  &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[https://yadi.sk/d/0BpgziSQ0VWiFg]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Будет идти отправка POST на &amp;lt;nowiki&amp;gt;http://test.ru/index.php#POSTs=md5hash&amp;lt;/nowiki&amp;gt; в $_POST[&amp;quot;s&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Ответ страницы попадет в проигрыватель в виде ссылки.&lt;br /&gt;
&lt;br /&gt;
Тоесть &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://test.ru/index.php&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; должен дать текст ссылки на медиафайл вида &amp;lt;nowiki&amp;gt;http://.../myvideo.mp4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Скачивание сторонней страницы по необходимости, страница &amp;lt;nowiki&amp;gt;http://parser.co/&amp;lt;/nowiki&amp;gt; может дать json ответ====&lt;br /&gt;
 {&amp;quot;parse&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8&amp;amp;gl=US&amp;amp;hl=en&amp;amp;has_verified=1&amp;amp;bpctr=9999999999&amp;lt;/nowiki&amp;gt;&amp;quot;}&lt;br /&gt;
Скачанная страница шлется в параметре  $_POST[&#039;remoteparse&#039;]&lt;br /&gt;
&lt;br /&gt;
==Построение произвольного положения элементов на странице (c &amp;quot;br&amp;quot; вместо &amp;quot;coordiantion&amp;quot;)==&lt;br /&gt;
&lt;br /&gt;
===Задаем странице вид плиткой (start)===&lt;br /&gt;
 $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Прописываем свои стили===&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;&lt;br /&gt;
&lt;br /&gt;
.myStyle1{&lt;br /&gt;
&lt;br /&gt;
width:242px;&lt;br /&gt;
&lt;br /&gt;
overflow:hidden;&lt;br /&gt;
&lt;br /&gt;
margin:4px;&lt;br /&gt;
&lt;br /&gt;
text-align:center;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.myStyle2{&lt;br /&gt;
width:242px;&lt;br /&gt;
height:171px;&lt;br /&gt;
padding:2px 2px 0px 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Задаем шаблон (template) каждому элементу списка===&lt;br /&gt;
&amp;lt;code&amp;gt;$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // Задает возможность использовать template&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;; // Заголовок - подставляет в шаблоне вместо $title&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;; // Иконка $logo_30x30&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание, если нужно&amp;quot;; // Описание- подставляет в шаблоне вместо $description&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;myStyle1&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;myStyle2&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Перенос на новую строке при html дизайне $_CH[&amp;quot;br&amp;quot;]=1;===&lt;br /&gt;
Для правильной навигации по странице нужно знать когда у вас там новая строка. Для этого в элементе с которого нужно чтоб начиналась новая строка присваиваем &lt;br /&gt;
 $_CH[&amp;quot;br&amp;quot;]=1;// Этот элемент разместится уже на новой строке&lt;br /&gt;
&lt;br /&gt;
==Горизонтальная прокрутка==&lt;br /&gt;
Задаем nowrap только для первого (обзначается br=1) элемента блока горизонтальной прокрутки&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;nowrap&amp;quot;=1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Первый элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Второй элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Третий элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Последний элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Новый элемент с новой строки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==Вывод результирующей страницы (на PHP)==&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Ваш код с наполнением массивов $_PL и $_CH информацией&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;channels&amp;quot;]=$_CH;&lt;br /&gt;
&lt;br /&gt;
print json_encode($_PL);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork_-_Wiki:Fork_browser_-_(ex_ForkPlayer)&amp;diff=1996</id>
		<title>Браузер Fork - Wiki:Fork browser - (ex ForkPlayer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork_-_Wiki:Fork_browser_-_(ex_ForkPlayer)&amp;diff=1996"/>
		<updated>2025-01-03T23:50:19Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* Нет звука */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Fork Browser - это прикладное программное обеспечение для просмотра страниц, написанных на языке разметки FXML (Fork eXtensible Markup Language). Он используется для запросов, обработки, манипуляции и отображения содержимого [[FXML-сайт|fxml-сайтов]], а также для просмотра файлов плейлистов (m3u, xml, xspf), изображений (gif, jpeg, png), аудио-видео форматов (mp3, mpeg, mkv) и потокового видео (udp, hls).&lt;br /&gt;
&lt;br /&gt;
[[FXML-сайт|FXML-порталы]] отличаются от веб-сайтов тем, что для навигации не требуется мышь или сенсорный экран. Страницы легко отображаются и могут быть просмотрены с помощью кнопочного пульта. Они также экономичны в ресурсах и удобны для просмотра на телевизорах.&lt;br /&gt;
&lt;br /&gt;
[[FXML-сайт|FXML-сайты]] создаются и размещаются так же, как и веб-сайты, на своем сервере или хостинге с уникальным доменным именем, доступ происходит по протоколу HTTP ([[Files Headers For ForkPlayer]]).  &lt;br /&gt;
&lt;br /&gt;
С помощью [[FXML CMS]] создать свой fxml-портал может даже начинающий вебмастер. &lt;br /&gt;
&lt;br /&gt;
[[FXML|Спецификация разметки FXML для написания кода вручную.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Если перестал запускаться Fork на Самсунг (Orsay) 2011г, 2012г, 2013г, 2014г==&lt;br /&gt;
Пишет нет Интернета. Error! Check your internet connection&lt;br /&gt;
&lt;br /&gt;
Для исправления необходимо заново установить Fork (будет установлен Fork browser с новой иконкой)&lt;br /&gt;
&lt;br /&gt;
1. Откройте SMART HUB (Internet@TV)&lt;br /&gt;
&lt;br /&gt;
2. Авторизуйтесь под логином: develop, пароль пустой ( либо develop )&lt;br /&gt;
&lt;br /&gt;
Если выдаст ошибку «Не могу подключиться к серверу» сбросьте смартхаб к заводским настройкам&lt;br /&gt;
&lt;br /&gt;
3. Выделяем в смартхабе любое приложение и нажимаем TOOLS или если пульт без кнопок нажимаем центральную кнопку-крестовину пульта и удерживаем ее до появления Меню синхронизации. &lt;br /&gt;
В появившемся меню выбираем: Настройки IP или Разработка&lt;br /&gt;
&lt;br /&gt;
5. Впишите IP — 85.17.30.89 или 46.36.220.208&lt;br /&gt;
&lt;br /&gt;
==Установка и настройка магазина приложений APPFXML STORE==&lt;br /&gt;
[[Файл:Msxappfxml.png|мини|Магазин приложений APPFXML STORE]]&lt;br /&gt;
Зайдите в &amp;quot;магазин&amp;quot; вашего устройства и скачайте приложение &amp;quot;Media Station X&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Запустите приложение Media Station X&lt;br /&gt;
&lt;br /&gt;
Откройте настройки (Settings) - (Start Parameter) - (Setup)&lt;br /&gt;
&lt;br /&gt;
Введите в поле адрес плейлиста: &#039;&#039;&#039;msx.appfxml.com&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Далее следуйте указаниям в приложении Media Station X для запуска APPFXML STORE&lt;br /&gt;
&lt;br /&gt;
==История технических изменений браузера Fork==&lt;br /&gt;
[[CHANGELOG]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Пользователям браузера Fork&#039;&#039;&#039;==&lt;br /&gt;
[https://wiki.forkbrowser.top/w/index.php?title=%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork_-_Wiki:%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C_%D0%B1%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork&#039;&#039;&#039;Инструкции по установке браузера Fork&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://cloudflare.appinfo.su/ Хранилище закладок, загрузить плейлист в свой аккаунт в браузер Fork]&lt;br /&gt;
&lt;br /&gt;
[[Настройка ForkPlayer]]&lt;br /&gt;
&lt;br /&gt;
[[Подключение архива]] iptv&lt;br /&gt;
&lt;br /&gt;
[[RemoteFork|RemoteFork]]&amp;amp;nbsp;(Windows, Android)&lt;br /&gt;
&lt;br /&gt;
[[Частые_проблемы_ForkPlayer|Частые проблемы браузера Fork]]&lt;br /&gt;
&lt;br /&gt;
[[Проверка DNS серверов]]&lt;br /&gt;
&lt;br /&gt;
[[TODO|TODO]]&amp;amp;nbsp;- ошибки в браузере Fork&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Просмотр торрентов&#039;&#039;&#039;==&lt;br /&gt;
&lt;br /&gt;
[[Torrserve Fork]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Авторам / издателям&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:Fxmlcms1.png|мини|FXML CMS Система управления порталом]]&lt;br /&gt;
&lt;br /&gt;
[[FXML CMS]] - Готовый портал под браузер Fork на вашем хостинге&lt;br /&gt;
&lt;br /&gt;
[[DLE FXML]] - Модуль для популярной CMS Data Life Engine&lt;br /&gt;
&lt;br /&gt;
[[Files Headers For ForkPlayer]] - Обязательно настройте нужные заголовки ваших страниц&lt;br /&gt;
&lt;br /&gt;
[[PHP JSON генерация страниц под ForkPlayer]]&lt;br /&gt;
&lt;br /&gt;
[[Формат_XML_и_M3U_страниц_ForkPlayer|Формат XML и M3U страниц браузера Fork]]&lt;br /&gt;
&lt;br /&gt;
[[Свой_DNS_сервер_Bind9_для_запуска_ForkPlayer|Свой DNS сервер Bind9 для запуска Fork]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Владелец существующего вебсайта?&#039;&#039;&#039;==&lt;br /&gt;
Увеличьте аудиторию и ее лояльность сделав версию под браузер Fork!&lt;br /&gt;
&lt;br /&gt;
[[Сигнатуры ForkPlayer]] - по наличию GET параметра box_mac определяем что ваш сайт был открыт в браузере Fork&lt;br /&gt;
&lt;br /&gt;
===Пример готовых решений и структуры порталов под браузер Fork===&lt;br /&gt;
Модуль, если у вас сайт на DLE [[DLE FXML]]&amp;lt;br /&amp;gt;Готовый простенький портал на PHP с авторизацией, поиском и выводом страниц в JSON https://github.com/vengo634/kino.pub_forkplayerPHP/blob/master/index.php&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;От авторов / издателей&#039;&#039;&#039;==&lt;br /&gt;
&lt;br /&gt;
[[Dstore|Dstore]]&amp;amp;nbsp;-&amp;amp;nbsp;магазин приложений, кинозалы, новостные и развлекательные порталы&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Тем кто хочет помочь&#039;&#039;&#039;==&lt;br /&gt;
__ИНДЕКС__&lt;br /&gt;
__ССЫЛКА_НА_НОВЫЙ_РАЗДЕЛ__&lt;br /&gt;
&lt;br /&gt;
[[Создать_свою_страницу_на_ForkPlayer_Wiki|Создать свою страницу на ForkPlayer Wiki]]&amp;amp;nbsp;- дополнить проект недостающей информацией!&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork_-_Wiki:Fork_browser_-_(ex_ForkPlayer)&amp;diff=1995</id>
		<title>Браузер Fork - Wiki:Fork browser - (ex ForkPlayer)</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork_-_Wiki:Fork_browser_-_(ex_ForkPlayer)&amp;diff=1995"/>
		<updated>2025-01-03T23:50:02Z</updated>

		<summary type="html">&lt;p&gt;Mentos: Новая страница: « Fork Browser - это прикладное программное обеспечение для просмотра страниц, написанных на языке разметки FXML (Fork eXtensible Markup Language). Он используется для запросов, обработки, манипуляции и отображения содержимого fxml-сайтов, а также для просмотра файлов...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Fork Browser - это прикладное программное обеспечение для просмотра страниц, написанных на языке разметки FXML (Fork eXtensible Markup Language). Он используется для запросов, обработки, манипуляции и отображения содержимого [[FXML-сайт|fxml-сайтов]], а также для просмотра файлов плейлистов (m3u, xml, xspf), изображений (gif, jpeg, png), аудио-видео форматов (mp3, mpeg, mkv) и потокового видео (udp, hls).&lt;br /&gt;
&lt;br /&gt;
[[FXML-сайт|FXML-порталы]] отличаются от веб-сайтов тем, что для навигации не требуется мышь или сенсорный экран. Страницы легко отображаются и могут быть просмотрены с помощью кнопочного пульта. Они также экономичны в ресурсах и удобны для просмотра на телевизорах.&lt;br /&gt;
&lt;br /&gt;
[[FXML-сайт|FXML-сайты]] создаются и размещаются так же, как и веб-сайты, на своем сервере или хостинге с уникальным доменным именем, доступ происходит по протоколу HTTP ([[Files Headers For ForkPlayer]]).  &lt;br /&gt;
&lt;br /&gt;
С помощью [[FXML CMS]] создать свой fxml-портал может даже начинающий вебмастер. &lt;br /&gt;
&lt;br /&gt;
[[FXML|Спецификация разметки FXML для написания кода вручную.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Если перестал запускаться Fork на Самсунг (Orsay) 2011г, 2012г, 2013г, 2014г==&lt;br /&gt;
Пишет нет Интернета. Error! Check your internet connection&lt;br /&gt;
&lt;br /&gt;
Для исправления необходимо заново установить Fork (будет установлен Fork browser с новой иконкой)&lt;br /&gt;
&lt;br /&gt;
1. Откройте SMART HUB (Internet@TV)&lt;br /&gt;
&lt;br /&gt;
2. Авторизуйтесь под логином: develop, пароль пустой ( либо develop )&lt;br /&gt;
&lt;br /&gt;
Если выдаст ошибку «Не могу подключиться к серверу» сбросьте смартхаб к заводским настройкам&lt;br /&gt;
&lt;br /&gt;
3. Выделяем в смартхабе любое приложение и нажимаем TOOLS или если пульт без кнопок нажимаем центральную кнопку-крестовину пульта и удерживаем ее до появления Меню синхронизации. &lt;br /&gt;
В появившемся меню выбираем: Настройки IP или Разработка&lt;br /&gt;
&lt;br /&gt;
5. Впишите IP — 85.17.30.89 или 46.36.220.208&lt;br /&gt;
&lt;br /&gt;
==Установка и настройка магазина приложений APPFXML STORE==&lt;br /&gt;
[[Файл:Msxappfxml.png|мини|Магазин приложений APPFXML STORE]]&lt;br /&gt;
Зайдите в &amp;quot;магазин&amp;quot; вашего устройства и скачайте приложение &amp;quot;Media Station X&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Запустите приложение Media Station X&lt;br /&gt;
&lt;br /&gt;
Откройте настройки (Settings) - (Start Parameter) - (Setup)&lt;br /&gt;
&lt;br /&gt;
Введите в поле адрес плейлиста: &#039;&#039;&#039;msx.appfxml.com&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Далее следуйте указаниям в приложении Media Station X для запуска APPFXML STORE&lt;br /&gt;
&lt;br /&gt;
==История технических изменений браузера Fork==&lt;br /&gt;
[[CHANGELOG]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Пользователям браузера Fork&#039;&#039;&#039;==&lt;br /&gt;
[https://wiki.forkbrowser.top/w/index.php?title=%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork_-_Wiki:%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C_%D0%B1%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork&#039;&#039;&#039;Инструкции по установке браузера Fork&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://cloudflare.appinfo.su/ Хранилище закладок, загрузить плейлист в свой аккаунт в браузер Fork]&lt;br /&gt;
&lt;br /&gt;
[[Настройка ForkPlayer]]&lt;br /&gt;
&lt;br /&gt;
[[Подключение архива]] iptv&lt;br /&gt;
&lt;br /&gt;
[[RemoteFork|RemoteFork]]&amp;amp;nbsp;(Windows, Android)&lt;br /&gt;
&lt;br /&gt;
[[Частые_проблемы_ForkPlayer|Частые проблемы браузера Fork]]&lt;br /&gt;
&lt;br /&gt;
[[Проверка DNS серверов]]&lt;br /&gt;
&lt;br /&gt;
[[TODO|TODO]]&amp;amp;nbsp;- ошибки в браузере Fork&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Просмотр торрентов&#039;&#039;&#039;==&lt;br /&gt;
&lt;br /&gt;
[[Torrserve Fork]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Авторам / издателям&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:Fxmlcms1.png|мини|FXML CMS Система управления порталом]]&lt;br /&gt;
&lt;br /&gt;
[[FXML CMS]] - Готовый портал под браузер Fork на вашем хостинге&lt;br /&gt;
&lt;br /&gt;
[[DLE FXML]] - Модуль для популярной CMS Data Life Engine&lt;br /&gt;
&lt;br /&gt;
[[Files Headers For ForkPlayer]] - Обязательно настройте нужные заголовки ваших страниц&lt;br /&gt;
&lt;br /&gt;
[[PHP JSON генерация страниц под ForkPlayer]]&lt;br /&gt;
&lt;br /&gt;
[[Формат_XML_и_M3U_страниц_ForkPlayer|Формат XML и M3U страниц браузера Fork]]&lt;br /&gt;
&lt;br /&gt;
[[Свой_DNS_сервер_Bind9_для_запуска_ForkPlayer|Свой DNS сервер Bind9 для запуска Fork]]&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Владелец существующего вебсайта?&#039;&#039;&#039;==&lt;br /&gt;
Увеличьте аудиторию и ее лояльность сделав версию под браузер Fork!&lt;br /&gt;
&lt;br /&gt;
[[Сигнатуры ForkPlayer]] - по наличию GET параметра box_mac определяем что ваш сайт был открыт в браузере Fork&lt;br /&gt;
&lt;br /&gt;
===Пример готовых решений и структуры порталов под браузер Fork===&lt;br /&gt;
Модуль, если у вас сайт на DLE [[DLE FXML]]&amp;lt;br /&amp;gt;Готовый простенький портал на PHP с авторизацией, поиском и выводом страниц в JSON https://github.com/vengo634/kino.pub_forkplayerPHP/blob/master/index.php&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;От авторов / издателей&#039;&#039;&#039;==&lt;br /&gt;
&lt;br /&gt;
[[Dstore|Dstore]]&amp;amp;nbsp;-&amp;amp;nbsp;магазин приложений, кинозалы, новостные и развлекательные порталы&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Тем кто хочет помочь&#039;&#039;&#039;==&lt;br /&gt;
__ИНДЕКС__&lt;br /&gt;
__ССЫЛКА_НА_НОВЫЙ_РАЗДЕЛ__&lt;br /&gt;
&lt;br /&gt;
[[Создать_свою_страницу_на_ForkPlayer_Wiki|Создать свою страницу на ForkPlayer Wiki]]&amp;amp;nbsp;- дополнить проект недостающей информацией!&lt;br /&gt;
&lt;br /&gt;
== Нет звука ==&lt;br /&gt;
&lt;br /&gt;
Нет звука при просмотре фильмов, тв идет со звуком&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork_-_Wiki:%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C_%D0%B1%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork&amp;diff=1987</id>
		<title>Браузер Fork - Wiki:Установить браузер Fork</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork_-_Wiki:%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C_%D0%B1%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_Fork&amp;diff=1987"/>
		<updated>2024-12-29T14:29:04Z</updated>

		<summary type="html">&lt;p&gt;Mentos: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Установить ForkPlayer195.88.208.101}}&lt;br /&gt;
&lt;br /&gt;
Обновленные инструкции&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Через&#039;&#039;&#039; &#039;&#039;&#039;Media Station X&#039;&#039;&#039; - не нужны сторонние DNS и необходимость доп. ПО или устройств==&lt;br /&gt;
&#039;&#039;Приложение Media Station X отсутствует во всех современных магазинах Smart TV (Samsung Smart Hub/LG Content Store/Google Play Store/VEWD AppStore)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Заходим в магазин приложений своего Smart TV и в поиск прописываем Olih Station X&lt;br /&gt;
&lt;br /&gt;
2. Устанавливаем или добавляем в Лололошные&lt;br /&gt;
 приложения Media Station X &lt;br /&gt;
&lt;br /&gt;
3. Заходим в Media Station X и в меню Start parameters прописываем: &#039;&#039;&#039;msx.appfxml.com&#039;&#039;&#039; или &#039;&#039;&#039;id:tly:l-p66-p&#039;&#039;&#039; или &#039;&#039;&#039;dstore.lh1.in&#039;&#039;&#039; или &#039;&#039;&#039;msx.lh1.in&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
После проделанной работы ForkPlayer будет работать как нативное приложение&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Hisense Smart TV в память тв&#039;&#039;&#039;==&lt;br /&gt;
[[Файл:Hisense.png|мини|Окно при открытии закладки с адресом hisense://debug]]&lt;br /&gt;
Создаем в браузере ТВ закладку с адресом &lt;br /&gt;
&lt;br /&gt;
hisense://debug&lt;br /&gt;
&lt;br /&gt;
Открываем ее и прописываем в адресе приложения:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://browser.appfxml.com&lt;br /&gt;
&lt;br /&gt;
Название: Fork&lt;br /&gt;
&lt;br /&gt;
Другая актуальная информация тут https://t.me/vidaaAppStore&lt;br /&gt;
&lt;br /&gt;
==LG Smart TV==&lt;br /&gt;
&lt;br /&gt;
===Не рекомендуется! Запуск через пользовательский  ДНС (Netcast)===&lt;br /&gt;
Deezer&lt;br /&gt;
1. Заходим на ТВ в настройки подключения к интернету&lt;br /&gt;
&lt;br /&gt;
2. Находим там пункт «ДНС сервер»&lt;br /&gt;
&lt;br /&gt;
3. Вводим туда один из этих пользовательских  ДНС &#039;&#039;&#039;46.36.218.194&#039;&#039;&#039; — запуск ForkStore (магазин приложений включая ForkPlayer)&lt;br /&gt;
&lt;br /&gt;
4. В разделе Премиум или LG Store находим и запускаем одно из этих приложений&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; Deezer, vTuner, Первый автомобильный, (не рекомендуется — Россия, Больше ТВ, Русские сериалы) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; Через &#039;&#039;&#039;Accu weather&#039;&#039;&#039; для ДНС 85.17.30.89, 46.36.218.194&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; Через &#039;&#039;&#039;Боевики и детективы&#039;&#039;&#039; для ДНС 85.17.30.89&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; Через приложение &#039;&#039;&#039;Tvigle&#039;&#039;&#039; (включая webOS 3.0, приставки LG) днс 85.17.30.89, 46.36.222.114&lt;br /&gt;
&lt;br /&gt;
— Если эти приложения отсутствуют, убедитесь что страна использования смарта в настройках указана Украина или Россия&lt;br /&gt;
&lt;br /&gt;
— Если при запуске выше указанных приложений ForkPlayer не запускается, проверьте с помощью компьютера не блокируются ли службы ДНС вашим роутером или провайдером&lt;br /&gt;
&lt;br /&gt;
===webOS===&lt;br /&gt;
&lt;br /&gt;
==== [[Установка Fork на LG webOS через сайт https://rootmy.tv/ в браузере ТВ]] - &#039;&#039;&#039;рекомендуется если версия webOS позволяет&#039;&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
====[[Установка_ForkPlayer_на_LG_webOS_через_IDE_разработчика|&#039;&#039;&#039;Через Dev Manager разработчика&#039;&#039;&#039;]] без смены DNS и USB накопителя - &#039;&#039;&#039;Рекомендуется если есть ПК&#039;&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
===Запуск с флешки 2010-2017 (Netcast, WebOS&amp;lt;=3.5) , флешка постоянно нужна===&lt;br /&gt;
1a. Распаковываем версию  ForkNewBeta [https://wiki.forkbrowser.top/w/images/6/6c/NForkNewBeta.zip nForkNewBeta.zip] в корень USB-флеш-накопителя.&lt;br /&gt;
&lt;br /&gt;
1b. Если не работает пробуем версию  2.57.1 [https://appfxml.com/apps/lg_forkplayer2.57.1.zip lg_forkplayer2.57.1.zip] в корень USB-флеш-накопителя.&lt;br /&gt;
&lt;br /&gt;
1c. Если не работает пробуем версию  2.57 [https://appfxml.com/apps/lg_forkplayer2.57.zip lg_forkplayer2.57.zip] в корень USB-флеш-накопителя.&lt;br /&gt;
&lt;br /&gt;
1d. Если не запускается на ТВ то пробуйте старую версию [https://appfxml.com/apps/lg_forkplayer.rar lg_forkplayer.rar] в корень USB-флеш-накопителя (работает только с днс 85.17.30.89).&lt;br /&gt;
&lt;br /&gt;
2. На телевизоре входим под своим аккаунтом в SmartTV LG Store.&lt;br /&gt;
&lt;br /&gt;
3. Вставляем флешку в USB разъём телевизора.&lt;br /&gt;
&lt;br /&gt;
4. Приложение появится в разделе «Мои приложения»(Netcast) или на главном экране в полосках внизу (кнопка домик на пульте) (WebOS)&lt;br /&gt;
&lt;br /&gt;
5. Для входа в некоторые разделов возможно придется включить в настройках ForkPlayer2.5 опцию RemoteFork и запустить на компьютере или андроиде программу Remote Forkplayer&lt;br /&gt;
&lt;br /&gt;
6. Если на webOS при запуске ничего не происходит то&lt;br /&gt;
&lt;br /&gt;
6.1 Зайти в lg store (вы должны там быть авторизированы)&lt;br /&gt;
&lt;br /&gt;
6.2 В нём зайти в «моя страница» она находится в нижнем правом углу.&lt;br /&gt;
&lt;br /&gt;
6.3 После этого, как открылась «моя страница», выберите на ней пункт » приобретенные приложения».&lt;br /&gt;
&lt;br /&gt;
6.4 После того как перешли туда, нажмите кнопку смарт на пульте и выберите ярлык forkplayer, т.е. как обычно запускаем.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Android и Андроид TV&#039;&#039;&#039;==&lt;br /&gt;
&#039;&#039;&#039;Установка apk файла на Андроид&#039;&#039;&#039; ТВ (Sony, Philips) / Android приставки  &lt;br /&gt;
&lt;br /&gt;
===Последняя версия Fork beta 1.0.1===&lt;br /&gt;
[https://wiki.forkbrowser.top/w/images/b/b6/AForkNewBeta1.0.1.apk aForkNewBeta1.0.1.apk]&lt;br /&gt;
&lt;br /&gt;
Исправлены ru домены и переведена версия на новую&lt;br /&gt;
Другие версии и обсуждение на 4pda&lt;br /&gt;
[&amp;lt;nowiki&amp;gt;https://4pda.ru/forum/index.php?showtopic=797555&amp;lt;/nowiki&amp;gt; [https://4pda.to/forum/index.php?showtopic=797555]]&lt;br /&gt;
&lt;br /&gt;
===Установка на Xiaomi TV, KIVI, Sony android===&lt;br /&gt;
&lt;br /&gt;
#Скачиваем последнюю версию apk файла (ссылка выше) на USB флеш накопитель&lt;br /&gt;
#Вставляем флешку в ТВ и устанавливаем&lt;br /&gt;
&lt;br /&gt;
===Как установить apk на андроид устройство===&lt;br /&gt;
Если приложение скачивается как .zip то переименовываем в .apk&lt;br /&gt;
&lt;br /&gt;
1. Открываем браузер на вашем андроиде и вводим ссылку на apk файл https://wiki.forkbrowser.top/w/images/b/b6/AForkNewBeta1.0.1.apk сохраняем файл, или скачиваем файл на флешку и вставляем ее в ваше устройство на андроиде&lt;br /&gt;
&lt;br /&gt;
2. Запускаем файл, если выдаст ошибку — в настройках разрешаем установку приложений с неизвестных источников&lt;br /&gt;
&lt;br /&gt;
3. Если в настройках нет пункта установки приложений с неизвестных источников (ТВ Sony, Philips) то возможна установка через ES Проводник (устанавливается с Play Маркет)&lt;br /&gt;
&lt;br /&gt;
Если при установке через ES кнопка «установить»не активна&lt;br /&gt;
&lt;br /&gt;
— Сброс до заводских или&lt;br /&gt;
&lt;br /&gt;
— При установке появляется окно установки проги с неактивной кнопкой. &lt;br /&gt;
&lt;br /&gt;
Не отменяя его нажмите один раз на шестерёнку на пульте. &lt;br /&gt;
&lt;br /&gt;
Появится меню настроек телика, после этого жмите кнопку назад. &lt;br /&gt;
&lt;br /&gt;
Некоторые говорят кнопка инсталл становится снова активной, но запускать инсталляцию надо через ES file manager.&lt;br /&gt;
&lt;br /&gt;
4. Для просмотра видео также устанавливаем MX плеер или Vimu или VLC (самый легкий) c Play Маркет&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Важно!&#039;&#039;&#039; Не рекомендуется программно изменять device id вашего андроида для использования его на нескольких устройствах!&lt;br /&gt;
&lt;br /&gt;
==Samsung Smart TV==&lt;br /&gt;
&lt;br /&gt;
===Tizen - Новая ОС устанавливаемая на все тв с 2016г и частично с 2015г===&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;&#039;[[Samsung Tizen ForkTizenInstall готовый установщик с вашего ПК напрямую на ТВ|Samsung Tizen ForkTizenInstall готовый установщик Fork с вашего ПК напрямую на ТВ]]&#039;&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;&#039;[[Установка_приложений_на_Tizen_Smart_TV_через_IDE|Samsung TIZEN Smart TV в память ТВ через IDE]]&#039;&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
====[[Samsung TIZEN Smart TV через TheDark SmartTV Media Center|Samsung TIZEN Smart TV в память ТВ через TheDark SmartTV Media Center]]====&lt;br /&gt;
&lt;br /&gt;
====Не рекомендуется!  &#039;&#039;&#039;[[Samsung_TIZEN_сменой_DNS_-_весь_список_DNS_и_доноров|Samsung TIZEN сменой DNS - весь список DNS и доноров]]&amp;amp;nbsp;&#039;&#039;&#039;(&amp;lt;span style=&amp;quot;color:#c0392b;&amp;quot;&amp;gt;&#039;&#039;&#039;!&#039;&#039;&#039;&amp;lt;/span&amp;gt;временный способ, лучше установить отдельным приложением в инструкции&amp;amp;nbsp;выше)&#039;&#039;&#039;&amp;amp;nbsp;&#039;&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
===Maple (Orsay) 2010-2015===&lt;br /&gt;
&#039;&#039;Это первая ОС на самсунг смарт тв&#039;&#039; серий C, D, E, ES, F, H, J4500-5200&lt;br /&gt;
[[Файл:Ipsync.jpg|мини]]&lt;br /&gt;
1. Откройте SMART HUB (Internet@TV)&amp;lt;br /&amp;gt; 2. Авторизуйтесь под логином: develop, пароль пустой ( либо develop ) &amp;lt;br /&amp;gt; Если выдаст&amp;amp;nbsp;&#039;&#039;&#039;ошибку «Не могу подключиться к серверу»&#039;&#039;&#039;&amp;amp;nbsp;сбросьте смартхаб к заводским настройкам&amp;lt;br /&amp;gt; 3. Выделяем в смартхабе любое приложение и нажимаем TOOLS или если пульт без кнопок нажимаем центральную кнопку-крестовину пульта и удерживаем ее до появления Меню синхронизации. В появившемся меню выбираем:&amp;amp;nbsp;&#039;&#039;&#039;Настройки IP&#039;&#039;&#039; или &#039;&#039;&#039;Разработка&#039;&#039;&#039;&amp;lt;br /&amp;gt; 5. Впишите IP — &#039;&#039;&#039;85.17.30.89&#039;&#039;&#039; или &#039;&#039;&#039;46.36.220.208&#039;&#039;&#039; &amp;lt;br /&amp;gt; 6. Нажмите «Синхронизация приложений пользователя»&amp;lt;br /&amp;gt; 7. После синхронизации приложение появится в смартхабе или Samsung Apps&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Или можете скачать сам виджет для ручной установки с компьютера&#039;&#039;&#039; (через sammy widgets) или флешки [https://wiki.forkbrowser.top/w/images/b/bf/SFork_new_beta_samsung_maple.zip sFork_new_beta_samsung_maple.zip]&lt;br /&gt;
&lt;br /&gt;
====J4500 - J5200====&lt;br /&gt;
&lt;br /&gt;
====[[Samsung J5200|Инструкция для J4500 - J52XX]]====&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Запуск ForkPlayer по кнопке на пульте &#039;&#039;&#039;&#039;&#039;Family Story&#039;&#039;&#039;&#039;&#039;====&lt;br /&gt;
QПриветствую обладателей телевизоров E серии Samsung, помните когда-то в SmartHUBе было приложение &#039;&#039;&#039;&#039;&#039;Family Story&#039;&#039;&#039;&#039;&#039;, его можно было запустить с кнопки на пульте, теперь этого приложения нет, а кнопка на пульте осталась и при нажатии ничего не происходит, кроме как надписи &amp;quot;ОТСУТСТВУЕТ&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Что-бы эта кнопка &amp;quot;Family Story&amp;quot; не бездействовала, к ней можно привязать ForkPlayer (и не только его),  нужно скачать приложение  [https://wiki.forkbrowser.top/w/images/b/bf/SFork_new_beta_samsung_maple.zip sFork_new_beta_samsung_maple.zip], переименовать его на &#039;&#039;&#039;FamilyStory.zip&#039;&#039;&#039; и установить через уже установленный ForkPlayer на Вашем SmartTV или через sammy widgets или флешки, перезапустить ТВ, для того что-бы появился в SmartHUBе. Всё, теперь запускаем наш любимый ForkPlayer через кнопку Family Story и радуемся!!!  [http://4pda.ru/forum/index.php?s=&amp;amp;showtopic=947509&amp;amp;view=findpost&amp;amp;p=87072731]&lt;br /&gt;
&lt;br /&gt;
==Sony, Hisense, Toshiba, Vestel, Skyworth, Sharp, TCL, Hitachi, Telefunken, DEXP, Doffler, Harper, GoGen, Sencor, Kioto и Luxor с &#039;&#039;&#039;Opera TV Store / VEWD AppStore&amp;amp;nbsp;&#039;&#039;&#039;==&lt;br /&gt;
===Не рекомендуется!  &#039;&#039;&#039;Вместо одного из приложения (через DNS сервер)&#039;&#039;&#039;===&lt;br /&gt;
&#039;&#039;&#039;Внимание&#039;&#039;&#039;: В примере указаны DNS сервера для приложения-донора Tvigle, если у вас он отсутствует, то выберите из [[Sony сменой DNS - весь список DNS и доноров|&#039;&#039;&#039;таблицы&#039;&#039;&#039;]], DNS сервер(а) нужного приложения-донора&lt;br /&gt;
&lt;br /&gt;
#Заходим в &amp;quot;Настройки сети&amp;quot; и настраиваем подключение к интернету &amp;lt;u&amp;gt;заново&amp;lt;/u&amp;gt;&lt;br /&gt;
#При выборе способа настройки выберите &amp;quot;Специалист&amp;quot;&lt;br /&gt;
#Выберите свой метод настройки интернета (Wi-Fi или Провод)&lt;br /&gt;
#Как только дойдете до &amp;quot;Настройки IP адреса&amp;quot; выберите &amp;quot;Вручную&amp;quot;&lt;br /&gt;
#В пункте &amp;quot;Первичный DNS&amp;quot; укажите 85.17.30.89&lt;br /&gt;
#В пункте &amp;quot;Вторичный DNS&amp;quot; укажите 0.0.0.0, дабы избежать конфликта в работе ForkPlayer&#039;a&lt;br /&gt;
#Если спросит &amp;quot;Использовать прокси сервер&amp;quot;, то нет&lt;br /&gt;
#Сохранить и подключиться&lt;br /&gt;
#В Opera TV Store / VEWD AppStore (&amp;lt;u&amp;gt;Sony&amp;lt;/u&amp;gt;: Из меню &amp;quot;Все приложения&amp;quot;) установите Tvigle или другое приложение-донор выбранное из [[Sony сменой DNS - весь список DNS и доноров|&#039;&#039;&#039;таблицы&#039;&#039;&#039;]]) (&amp;lt;u&amp;gt;Не Sony&amp;lt;/u&amp;gt;: работоспособность возможна в Больше TV, Русские сериалы, Русская музыка, Deezer и Дети)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Примечание&#039;&#039;: Если ваш телевизор поддерживает IPv6 и ваш провайдер предоставляет DNS сервер для IPv6, то чтобы избежать конфликта в работе ForkPlayer&#039;a следует отключить IPv6 на телевизоре&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Отдельным приложением (через URL Loader)&#039;&#039;&#039;===&lt;br /&gt;
[[Файл:15879952.jpg|альт=device id|справа|безрамки|196x196пкс|device id]]&lt;br /&gt;
[[Файл:15879975.jpg|мини|180x180пкс]]Сейчас будет небольшой гайд по запуску ForkPlayer на телевизорах Hitachi и Sony, в смарт ТВ которых имеется Опера ТВ (VEWD AppStore). Данный способ позволяет получить доступ к ForkPlayer без манипуляций с ДНС адресами и сторонними приложениями.&lt;br /&gt;
Ну, поехали:&lt;br /&gt;
1. Необходимо создать учётную запись на [https://submission.cloud.vewd.com/index.html сайте] &lt;br /&gt;
2. Для дальнейшей работы нам понадобится device id. Для этого открываем на тв приложение VEWD AppStore. Переходим в настройки на вкладку &amp;quot;О программе&amp;quot;. Там увидите ваш ID устройства (много цифр/букв).&lt;br /&gt;
3. После создания и подтверждения учётной записи, необходимо авторизоваться на сайте и перейти в раздел &amp;quot;Paired devices&amp;quot;(Сопряжённые устройства).&lt;br /&gt;
В поле &amp;quot;Custom name&amp;quot; (пользовательское имя) вводим имя устройства (любое), в поле &amp;quot;Device ID&amp;quot;(идентификатор устройства) вводим ID устройства, который мы нашли в пункте 2.&lt;br /&gt;
[[Файл:15879993.jpg|мини|183x183пкс]]&lt;br /&gt;
4. В случае успеха в приложение VEWD AppStore появится новый раздел &amp;quot;Разработчику&amp;quot; с приложением &amp;quot;URL Loader&amp;quot;(потребуется перезагрузка ТВ или приложения WEWD).&lt;br /&gt;
5. Открываем приложение &amp;quot;URL Loader&amp;quot;, в адресной строке вводим: http://browser.appfxml.com/ (необходимо ввести 1 раз, потом все это будет сохранено). Выбираем &amp;quot;GO current window&amp;quot; и нажимаем ОК и у вас загружается ForkPlayer.&lt;br /&gt;
П.с. если у вас ранее работал форк плеер через подмену ДНС, то смените параметры ДНС на автоматические.&lt;br /&gt;
[http://4pda.ru/forum/index.php?showtopic=941817&amp;amp;st=0#entry82406405 via]&lt;br /&gt;
&lt;br /&gt;
[[Установка на Sony|&#039;&#039;&#039;Установка на Sony&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
===&amp;amp;nbsp;&#039;&#039;&#039;Toshiba&#039;&#039;&#039;&amp;amp;nbsp;без опера стор===&lt;br /&gt;
&amp;lt;br /&amp;gt; 1. Меняем в настройках сети днс на пользовтаельский 85.17.30.89&amp;lt;br /&amp;gt; 2. Запуск через приложение 8 Канал, Deezer, Tvigle или Yotaplay, на новых моделях 2018 -приложение запускать лучше &amp;lt;u&amp;gt;не из старого меню&amp;lt;/u&amp;gt; а из раздела переложений App Store.&lt;br /&gt;
—&amp;amp;nbsp;[[Javascript:void(0);|&#039;&#039;&#039;Philips&#039;&#039;&#039;&amp;amp;nbsp;смарт тв включая Android]] &lt;br /&gt;
1) Установить виджет Megogo&amp;lt;br /&amp;gt; 2) в «Параметры сети» включить Автоматический IP адрес (чтобы не вводить вручную шлюз и прочее), после успешного подключения переключить на «статический IP-адрес» (Network configuration — Static IP)&amp;lt;br /&amp;gt; 3) в «Настройки Статического IP изменить DNS1 на 085.017.030.089 или 217.079.190.156 (Static IP configuration — DNS1 — 217.079.190.156)&amp;lt;br /&amp;gt; 4) запустить Мегого HD, вместо него должен запуститься форкплеер.&amp;lt;br /&amp;gt; [http://elfolio.blogspot.com/2015/03/forksmart-philips-smart-tv.html еще одна инструкция с фото]&lt;br /&gt;
&lt;br /&gt;
==&amp;amp;nbsp;&#039;&#039;&#039;Panasonic&#039;&#039;&#039;&amp;amp;nbsp;смарт тв (viera)==&lt;br /&gt;
1. Меняем в настройках сети днс на  85.17.30.89&amp;lt;br /&amp;gt; 2. Запускаем виджет Wow tv, вместо него должен пойти форкплеер во весь экран без рамок&amp;lt;br /&amp;gt; — Если ForkPlayer вместо Wow tv не запускается,&amp;amp;nbsp;[https://wiki.forkbrowser.top/smart-tv/nslookup/ проверьте с помощью компьютера не блокируется ли ДНС вашим роутером или провайдером]&lt;br /&gt;
—&amp;amp;nbsp;[[Javascript:void(0);|Спутниковые ресиверы&amp;amp;nbsp;&#039;&#039;&#039;Spark&#039;&#039;&#039;&amp;amp;nbsp;(только годичная версия ForkPlayer)]]&lt;br /&gt;
1. Соединяемся по фтп с ресивером (server:Local IP ресивера, port:21, user: root, password:пустой)&amp;lt;br /&amp;gt; 2. Открываем по FTP файл /root/spark/etc/opera/run-Portal&amp;lt;br /&amp;gt; 3. Редактируем там строчку, чтоб она выглядела так, без # в начале строки&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt;STARTPAGE=&amp;quot;http://browser.appfxml.com&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt; 4. Заливаем файл назад, права у него должны быть 755&amp;lt;br /&amp;gt; Кнопка stop: выход из плеера&amp;lt;br /&amp;gt; Кнопка EPG: возврат на один шаг (return)&lt;br /&gt;
&lt;br /&gt;
==&amp;amp;nbsp;&#039;&#039;&#039;MAG250&#039;&#039;&#039;&amp;amp;nbsp;/ AURA HD==&lt;br /&gt;
1. Войти в меню настройки (клавиша «SET»(шестеренка))&lt;br /&gt;
&lt;br /&gt;
2. В разделе «Серверы» &lt;br /&gt;
&lt;br /&gt;
В поле «Портал 1 URL:» или «Портал 2 URL:» нужно вписать &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;browser.appfxml.com&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 — Также возможен запуск с modmenu (F1 \ ForkPlayer) как установить модменю описано здесь&amp;amp;nbsp;[http://modmenu.ru/ modmenu.ru]&lt;br /&gt;
&lt;br /&gt;
 — Регулировка громкости кроме пульта есть еще в опциях видео&lt;br /&gt;
&lt;br /&gt;
 — Сохранение закладок и прочих настроек по умолчанию не работает! Для его включения необходимо после запуска ForkPlayer войти в его настройки и выставить Хранить данные: на сервере. Также для того чтобы данные заливались на сервер выходить с виджета нужно кнопкой exit на пульте или Меню \ Сохранить и выйти.&lt;br /&gt;
&lt;br /&gt;
 — Пропорции видео выставляются синей кнопкой.&lt;br /&gt;
&lt;br /&gt;
===Ошибка 400 на mag250/Aura===&lt;br /&gt;
&lt;br /&gt;
Возникает при повреждении файла cookie - можно исправить удалением файла кукис или же вписать зеркало портала&lt;br /&gt;
browser.appinfo.su&lt;br /&gt;
browser2.appfxml.com&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Dune&#039;&#039;&#039;&amp;amp;nbsp;HD (303/Base 3D/connect/102)==&lt;br /&gt;
1. Скачать файл&amp;amp;nbsp;&lt;br /&gt;
[https://appfxml.com/apps/dune_plugin_forknew.zip dune_plugin_forknew.zip]&amp;amp;nbsp;на флешку, вставить ее в Dune HD&lt;br /&gt;
 2. Зайти в плеере в Источники \ USB и открыть там файл dune_plugin_forkplayer.zip&lt;br /&gt;
&lt;br /&gt;
 3. Если есть звук но нет видео, может помочь прошивка http://forum.hdtv.ru/index.php?showtopic=14345&amp;lt;br /&amp;gt; — Выход с плагина кнопкой TOP MENU&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:195.88.208.101}}&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1978</id>
		<title>FXML</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1978"/>
		<updated>2024-12-27T21:17:01Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* Подключения css файлов стилей */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;FXML&#039;&#039;&#039; (Fork eXtensible Markup Language) - что такое==&lt;br /&gt;
Это язык разметки документов во Всемирной паутине.  Для навигации по таким страницам не требуется мышь или сенсорный экран. Язык &#039;&#039;&#039;FXML&#039;&#039;&#039; интерпретируется такими приложениями как ForkPlayer, OTT Player, OTT-play. Полученный в результате интерпретации форматированный текст отображается на экране телевизора. &lt;br /&gt;
&lt;br /&gt;
====Например, следующий код (должен быть валидным JSON):====&lt;br /&gt;
 {&amp;quot;title&amp;quot;:&amp;quot;COOLTV - портал нового поколения&amp;quot;,&amp;quot;background-image&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;typeList&amp;quot;:&amp;quot;start&amp;quot;,&amp;quot;icon&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool23.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;channels&amp;quot;:[{&amp;quot;title&amp;quot;:&amp;quot;Вход&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/profle22.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/auth&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Новости &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/rss-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/news&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Поиск &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-search-folder-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/search.php&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Кинозал &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/1icons8-film-reel-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;AceStream &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-wave-arrows-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/12&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Обменник &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-next-100.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/obmen/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Сервисы &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8s3-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/9&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;IPTV &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-hdtv-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/8&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Мультимедиа &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-documentary-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/7&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Чат &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-chat-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/guest&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;FAQ &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-info-popup-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/faq/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Копилка&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-bad-piggies-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/copilka&amp;lt;/nowiki&amp;gt;&amp;quot;}]}&lt;br /&gt;
даст такой результат (в ForkPlayer):&lt;br /&gt;
[[Файл:Cooltv.png|мини|600x600пкс|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Все допустимые команды можно посмотреть в исходном коде страниц &lt;br /&gt;
&lt;br /&gt;
https://github.com/vengo634/kino.pub_forkplayerPHP/blob/master/index.php&lt;br /&gt;
&lt;br /&gt;
====Смотреть Исходный код любой страницы можно непосредственно в ForkPlayer====&lt;br /&gt;
[[Файл:VmGe53a9.png|мини|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
и FXML CMS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FXMLbaseparser PHP класс упрощающий верстку кода для Fork browser ==&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/FXMLbaseparser FXMLbaseparser PHP класс]&lt;br /&gt;
&lt;br /&gt;
==Новые теги и команды FXML==&lt;br /&gt;
Новые спецификации FXML добавляются в CHANGELOG, рекомендуем смотреть нужные команды также и там.&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;ping&amp;quot;][&amp;quot;link&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало 1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;; $_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;poster&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/CHANGELOG CHANGELOG]&lt;br /&gt;
&lt;br /&gt;
==Глобальные теги==&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;start&amp;quot;; // Плиточный + другой(с использованием $_CH[&amp;quot;position&amp;quot;] ) виды страницы&lt;br /&gt;
&lt;br /&gt;
====Стили сайта по умолчанию====&lt;br /&gt;
По умолчанию для вашей страницы задаются такие стили (вы их можете изменить задав нужные в $_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:700px; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;Смотреть CSS стили по умолчанию&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button {&lt;br /&gt;
    background-color: #bbbbbb;&lt;br /&gt;
    display: block;&lt;br /&gt;
    border-style: solid;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:decrement {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: transparent transparent #555555;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:increment {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: #555555 transparent transparent transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar {&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-track {&lt;br /&gt;
    background: #ddd;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb {&lt;br /&gt;
    background: #888;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb:hover {&lt;br /&gt;
    background: #777;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    ;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    margin-left: 4px;&lt;br /&gt;
    margin-top: 1px;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .rating {&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    display: none;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    height: 23px;&lt;br /&gt;
    width: 28px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    padding-left: 5px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .icon {&lt;br /&gt;
    padding: 2px 2px 0px 2px;&lt;br /&gt;
    height: 76%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .name {&lt;br /&gt;
    font-size: 17px;&lt;br /&gt;
    line-height: 0.9;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    bottom: 0px;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    max-height: 50%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .title {&lt;br /&gt;
    background: rgba(0, 0, 0, 0.65);&lt;br /&gt;
    border-radius: 3px;&lt;br /&gt;
    width: auto;&lt;br /&gt;
    display: display: inline-block;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    padding: 1px 4px 4px 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .side_icon {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list {&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px 0px 0px 4px;&lt;br /&gt;
    cursor: default;&lt;br /&gt;
    margin: 2px 0px;&lt;br /&gt;
    width: 48.87708333333334%;&lt;br /&gt;
    height: 35px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .contmenu {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    float: right;&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .numb {&lt;br /&gt;
    float: left;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
    font-size: 60%;&lt;br /&gt;
    min-width: 38px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .icon {&lt;br /&gt;
    margin: 0px 2px;&lt;br /&gt;
    padding-right: 2px;&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .title {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    float: left;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listsearch {&lt;br /&gt;
    background-color: #ddd;&lt;br /&gt;
    color: #333;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    padding: 3px;&lt;br /&gt;
    margin-top: 2px;&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
    width: 90%;&lt;br /&gt;
    height: 68%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolinktitle {&lt;br /&gt;
    height: 63%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolink {&lt;br /&gt;
    padding-left: 3px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default .contmenu {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected .contmenu {&lt;br /&gt;
    display: block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.html {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px solid transparent;&lt;br /&gt;
    margin: 0px 4px;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    max-width: 310px;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
    padding: 0px 4px;&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 28px;&lt;br /&gt;
    text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline {&lt;br /&gt;
    border: 1px solid transparent;&lt;br /&gt;
    width: 80%;&lt;br /&gt;
    margin: 1px 9%;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    font-size: 24px;&lt;br /&gt;
    height: 24px;&lt;br /&gt;
    margin: 3px;&lt;br /&gt;
    color: #2b2525;&lt;br /&gt;
    background-color: #eee;&lt;br /&gt;
    padding: 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .icon {&lt;br /&gt;
    float: right;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    margin: -2px 4%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    width: 92%;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    height: 26px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 20px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default {&lt;br /&gt;
    background: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected {&lt;br /&gt;
    background: rgba(180, 180, 180, 0.7);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listselected {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.site {&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    font-size: 27px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    color: rgb(238, 238, 238);&lt;br /&gt;
    margin: 0px;&lt;br /&gt;
    padding: 0px;&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    background-color: transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
small {&lt;br /&gt;
    font-size: 70%;&lt;br /&gt;
    color: gray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.buttons {&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    top: 80%;&lt;br /&gt;
    left: 50%;&lt;br /&gt;
    width: 47%;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    color: #cccccc;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
}&lt;br /&gt;
\#description {&lt;br /&gt;
    top: 0px;&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    font-size: 28px;&lt;br /&gt;
    left: 51%;&lt;br /&gt;
    width: 47.2%;&lt;br /&gt;
    word-break: break-word;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Пример своего стиля (пишите чистый css, он будет преобразован в одну строку)===&lt;br /&gt;
&lt;br /&gt;
===Если строка стилей очень большая, их лучше вынести в отдельный css файл===&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
====#content - стиль страницы (без description)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
====#rightHalf- стиль description====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;#content {font-size:25px;}  #rightHalf{font-size:10 px;} &amp;quot;; // Установим размер шрифта сайта и описания&lt;br /&gt;
&lt;br /&gt;
====.selected - стиль при выделении элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .selected {  color: black; } &amp;quot;; // Делаем смену цвета выделенного элемента&lt;br /&gt;
&lt;br /&gt;
====.default - стиль невыделенного элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .default{  color: gray; } &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.contmenu - визуальная кнопка контекстного меню====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .contmenu{ display:none; } &amp;quot;;  // Скрываем кнопку контекстного меню&lt;br /&gt;
&lt;br /&gt;
====.label, .start, .list, .fulleditline, .hlink, .html - стили(верхний уровень) для разных типов элементов $_CH[&amp;quot;position&amp;quot;]  [https://wiki.forkbrowser.top/wiki/FXML#position_.D0.BF.D1.80.D0.B8_.D0.B7.D0.B0.D0.B4.D0.B0.D0.BD.D0.BD.D0.BE.D0.BC_.24_PL.5B.22typeList.22.5D.3D.22start.22.3B]====&lt;br /&gt;
Если не задан $_CH[&amp;quot;position&amp;quot;] элемента то по умолчанию элементы отображаются на странице списком и классом .list&lt;br /&gt;
&lt;br /&gt;
Если при этом задано отображение плиткой ($_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot; ) то по умолчанию элементы отображаются с классом .start&lt;br /&gt;
&lt;br /&gt;
====.labelselected, .startselected, .listselected, .fulleditlineselected, .hlinkselected, .htmlselected - стили(верхний уровень) для выделенных элементов====&lt;br /&gt;
&lt;br /&gt;
=====Установим цвет для выделенных элементов только .list=====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .listselected{color: red; }&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.labeldefault, .startdefault, .listdefault, .fulleditlinedefault, .hlinkdefault, .htmldefault - стили(верхний уровень) для невыделенных элементов====&lt;br /&gt;
&lt;br /&gt;
====.list - зададим свой вид списка====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list{color: red; }&amp;quot;; // Меняем цвет&lt;br /&gt;
&lt;br /&gt;
====.title .icon .rating .numb вложенные в верхний уровень стили заголовка, иконки, рейтинга(для .start), порядкового номера(для .list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .title{color: red; }&amp;quot;; // Меняем цвет заголовков&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .numb { display:none; } &amp;quot;; // Скрываем отображение номера&lt;br /&gt;
&lt;br /&gt;
====Комбинация классов, зададим стиль иконок только для списка (.list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list .icon{background-color:white; margin:2px;}&amp;quot;; // Зададим белую рамку фона для иконок&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cacheinfo&amp;quot;]=&amp;quot;nocache&amp;quot;;  // Не кешировать страницу (при возврате назад страница будет грузиться заново по адресу)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;setcookie&amp;quot;][&amp;quot;name1&amp;quot;]=&amp;quot;value1&amp;quot;; // Аналог cookie вебсайтов. Запомнит для последующих запросов страниц с этого же домена в переменной $_GET[&amp;quot;cookie&amp;quot;][&amp;quot;name1&amp;quot;] значение value1&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;info&amp;quot;]=&amp;quot;Вам уведомление&amp;quot;; // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;confirm&amp;quot;]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Открыть вложенный CHannel?&amp;quot;,&amp;quot;channel&amp;quot;=&amp;gt;[&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://..&amp;quot;]];&lt;br /&gt;
&lt;br /&gt;
===cmd тег (как глобальный так и в playlist_url) - допустимые команды===&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в глобальном теге====&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;historyback(1);&amp;quot;  // Вернуться назад на 1 страницу&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Вам уведомление);&amp;quot;  // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;settitle(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый title&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;setdescription(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый description&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;reload(2);&amp;quot;  // Перезагрузить страницу через 2секунды&lt;br /&gt;
&lt;br /&gt;
В конец cmd к командам выше можно добавить &#039;&#039;&#039;stop();&#039;&#039;&#039; чтобы выполнить команду выше и остановить загрузку новой страницы &lt;br /&gt;
&lt;br /&gt;
например $_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Доступ к этой странице Вам запрещен);stop();&amp;quot; выведет уведомление но оставить пользователя на предыдущей странице.&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в $_CH[&amp;quot;playlist_url&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;cmd:&amp;lt;Команда из списка допустимых&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Например $_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;reload();&amp;quot;; перезагрузит страницу при нажатии&lt;br /&gt;
&lt;br /&gt;
===Глобальный тег aside для вывода бокового меню===&lt;br /&gt;
[[Файл:Aside menu.png|мини|Пример бокового меню Fork]]&lt;br /&gt;
$_PL[&amp;quot;aside&amp;quot;][&amp;quot;channels&amp;quot;][]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Home&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://site.com/&amp;quot;,&amp;quot;style&amp;quot;=&amp;gt;&amp;quot;color:blue;&amp;quot;,&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;https://static.vecteezy.com/system/resources/thumbnails/022/013/913/small/home-icon-illustration-image-vector.jpg&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;aside&amp;quot;][&amp;quot;channels&amp;quot;][]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Category 1&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://site.com/cat1&amp;quot;,&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;https://static.vecteezy.com/system/resources/thumbnails/022/013/913/small/home-icon-illustration-image-vector.jpg&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
Изменить стили бокового меню по умолчанию:&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;].=&amp;quot;&amp;quot;#aside{position:absolute;z-index:1;top:0px;left:0px;height:inherit;border-radius: 0px 10px 10px 0px;padding:0px 10px 0px 2px;font-size: 27px;line-height: 27px;white-space: nowrap;overflow-x: hidden;}&lt;br /&gt;
&lt;br /&gt;
		#aside img{width:27px;height:27px;margin-right:8px;}&lt;br /&gt;
&lt;br /&gt;
		.aside_default{margin:5px 0px;padding: 4px;border-radius: 8px;border: 2px solid transparent;}&lt;br /&gt;
&lt;br /&gt;
		.aside_selected{margin:5px 0px;padding: 4px;border-radius: 8px;border: 2px solid #5590e7;}&lt;br /&gt;
&lt;br /&gt;
		.aside_hide{width:30px;background:none;overflow-y: hidden;}&lt;br /&gt;
&lt;br /&gt;
		.aside_show{width:auto;overflow-y: auto;background-color:rgba(0, 0, 0, 0.8);}&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Если стили свои, то лучше вынести их в отдельный css файл&lt;br /&gt;
&lt;br /&gt;
===Подключения css файлов стилей===&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
===advertising для показа рекламы перед запуском видео===&lt;br /&gt;
====Видеоролик====&lt;br /&gt;
 $_PL[&amp;quot;advertising&amp;quot;]=[&amp;quot;client&amp;quot;=&amp;gt;&amp;quot;video&amp;quot;,&lt;br /&gt;
    &amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Реклама&amp;quot;,// Надпись внизу с названием или описанием обьявления&lt;br /&gt;
    &amp;quot;skip&amp;quot;=&amp;gt;3,//Добавьте skip в секундах когда можно будет нажать кнопку пропуск&lt;br /&gt;
    &amp;quot;tag&amp;quot;=&amp;gt;&amp;quot;https://mlb2.adriver.ru/mf/0008908/0008908282/0/720_480.mp4&amp;quot;&lt;br /&gt;
 ];&lt;br /&gt;
&lt;br /&gt;
====VAST====&lt;br /&gt;
XML формат рекламы. Поддерживаются перенаправления, пропуск, отправка событий&lt;br /&gt;
 $_PL[&amp;quot;advertising&amp;quot;]=[&amp;quot;client&amp;quot;=&amp;gt;&amp;quot;vast&amp;quot;,&lt;br /&gt;
    &amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Реклама&amp;quot;,&lt;br /&gt;
    &amp;quot;tag&amp;quot;=&amp;gt;&amp;quot;https://raw.githubusercontent.com/InteractiveAdvertisingBureau/VAST_Samples/master/VAST%203.0%20Samples/Inline_Companion_Tag-test.xml&amp;quot; &lt;br /&gt;
 ];&lt;br /&gt;
В настройках форка для тестирования включите Ads: always&lt;br /&gt;
&lt;br /&gt;
==Channel теги==&lt;br /&gt;
&lt;br /&gt;
===title===&lt;br /&gt;
Заголовок&lt;br /&gt;
&lt;br /&gt;
===playlist_url или stream_url===&lt;br /&gt;
Адрес страницы или адрес видеопотока (непустым может быть только один из этих тегов)&lt;br /&gt;
====stream_url мультиссылки с разными качествами и (или) несколькими источниками, Err format json link====&lt;br /&gt;
Для видеопотока можно задавать мультиссылки с разным качеством (можно и разные озвучки, но это будет не так явно для пользователя), выбор качества будет браться автоматически с настроек Fork(1080 или 720 и т.д.) и (или) несколькими источниками&lt;br /&gt;
&lt;br /&gt;
Пример использования в PHP с json_encode&lt;br /&gt;
В данном примере создается массив с различными ссылками на видеопотоки, и с помощью функции json_encode он преобразуется в JSON-формат для последующего использования:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 // Массив с данными для разных качеств видео и двумя источниками&lt;br /&gt;
 $stream_links = [&lt;br /&gt;
    &amp;quot;360&amp;quot; =&amp;gt; [&lt;br /&gt;
        &amp;quot;title&amp;quot; =&amp;gt; &amp;quot;360p&amp;quot;,&lt;br /&gt;
        &amp;quot;url&amp;quot; =&amp;gt; [&lt;br /&gt;
            &amp;quot;http://server.in/240.mp4&amp;quot;,&lt;br /&gt;
            &amp;quot;http://server2.in/hls/240.mp4&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;720&amp;quot; =&amp;gt; [&lt;br /&gt;
        &amp;quot;title&amp;quot; =&amp;gt; &amp;quot;720p&amp;quot;,&lt;br /&gt;
        &amp;quot;url&amp;quot; =&amp;gt; [&lt;br /&gt;
           &amp;quot;http://server.in/720.mp4&amp;quot;,&lt;br /&gt;
           &amp;quot;http://server2.in/hls/720.mp4&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    ]&lt;br /&gt;
 ];&lt;br /&gt;
 // Преобразование массива в JSON&lt;br /&gt;
 $json_stream_url = json_encode($stream_links);&lt;br /&gt;
 // Использование JSON в $_CH[&amp;quot;stream_url&amp;quot;]&lt;br /&gt;
 $_CH[&amp;quot;stream_url&amp;quot;] = $json_stream_url;&lt;br /&gt;
 // Вывод JSON для проверки&lt;br /&gt;
 echo $_CH[&amp;quot;stream_url&amp;quot;];&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Пример с несколькими источниками:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $stream_links = [&lt;br /&gt;
            &amp;quot;http://server.in/240.mp4&amp;quot;,&lt;br /&gt;
            &amp;quot;http://server2.in/hls/240.mp4&amp;quot;&lt;br /&gt;
        ];&lt;br /&gt;
 // Преобразование массива в JSON&lt;br /&gt;
 $json_stream_url = json_encode($stream_links);&lt;br /&gt;
 // Использование JSON в $_CH[&amp;quot;stream_url&amp;quot;]&lt;br /&gt;
 $_CH[&amp;quot;stream_url&amp;quot;] = $json_stream_url;&lt;br /&gt;
 // Вывод JSON для проверки&lt;br /&gt;
 echo $_CH[&amp;quot;stream_url&amp;quot;];&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===logo_30x30===&lt;br /&gt;
Адрес иконки&lt;br /&gt;
&lt;br /&gt;
===confirm - диалоговое окно с действиями при нажатии на элемент===&lt;br /&gt;
Пример подтверждения выхода с аккаунта&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Выйти&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;confirm&amp;quot;,&amp;quot;confirm&amp;quot;=&amp;gt;[&amp;quot;http://host/?do&amp;lt;nowiki&amp;gt;=exit&amp;quot;],&amp;quot;description&amp;quot;=&amp;gt;&amp;quot;Выйти с аккаунта?&amp;quot;];&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===menu - контекстное меню элемента===&lt;br /&gt;
$menu=[];&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню1&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню2&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;menu&amp;quot;]=$menu;&lt;br /&gt;
&lt;br /&gt;
===position при заданном $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;===&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;&amp;quot;; // - Плитка как в Стартовом меню размером 128х101px)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // - Пример элемента со своим дизайном в $_CH[&amp;quot;template&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;br&amp;quot;]=0; // Не переносить навигацию на новую строку&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание вида&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&amp;quot;width:242px;overflow:hidden;margin:4px;text-align:center;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;width:242px;height:171px;padding:2px 2px 0px 2px;&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;small&amp;gt;$description&amp;lt;/small&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
Элементы будут выстраиваться в ряд и навигация по ним будет предполагать что они в одном ряду&lt;br /&gt;
&lt;br /&gt;
=====$_CH[&amp;quot;br&amp;quot;]=====&lt;br /&gt;
В месте где навигация должна перейти на новую строку задайте $_CH[&amp;quot;br&amp;quot;]=1; При этом в before будет добавлено значение &amp;lt;nowiki&amp;gt;&amp;lt;br clear=both&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;fulleditline&amp;quot;; //- Поле ввода текста шириной почти на всю страницу====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;hlist&amp;quot;; // - горизонтальная ссылка (может быть несколько на одном горизонтальном уровне)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;list&amp;quot;; // -обычный вид списка шириной в половину экрана и с description справа====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;label&amp;quot;; // -невысокая строка на всю ширину экрана====&lt;br /&gt;
&lt;br /&gt;
===location===&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=1; // Переход c заменой текущей ссылки окна на новую (при перезапуске форкплеера будет открываться уже с этой новой ссылки)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=3; // Переход с отображением в текущем окне (при перезапуске форкплеера будет открываться старая ссылка и опять переадресовываться, необходимо если например используются устаревающие сессии)&lt;br /&gt;
&lt;br /&gt;
===after и before - свой html код после и перед элементом списка===&lt;br /&gt;
$_CH[&amp;quot;before&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст перед элементом&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;after&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст после элемента&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===SetTimeInterval - отправка событий клиентом через интервал и вывод сообщений===&lt;br /&gt;
$_CH[&amp;quot;SetTimeInterval&amp;quot;]=[&amp;quot;time&amp;quot;=&amp;gt;1,&amp;quot;onmenu&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onmenu&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;onplay&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onplay&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;time&#039;&#039;&#039; - интервал между отправкой событий в минутах&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onmenu -&#039;&#039;&#039; ссылка для отправки событий если пользователь находится в списке&lt;br /&gt;
&lt;br /&gt;
в ответ по ссылке onmenu &amp;lt;nowiki&amp;gt;http://193.30.240.2/try/ajax/send_status_log.php?action=onmenu&amp;lt;/nowiki&amp;gt; можно давать json &lt;br /&gt;
 {&amp;quot;message&amp;quot;:&amp;quot;Hello user&amp;quot;} &lt;br /&gt;
Это уведомление будет выводится вверху форкплеера&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onplay-&#039;&#039;&#039; ссылка для отправки событий если пользователь смотрит видео&lt;br /&gt;
&lt;br /&gt;
Можно использовать один или два сразу тега onmenu и onplay&lt;br /&gt;
&lt;br /&gt;
===parser - тег загрузки другой страницы перед переходом по playlist_url или stream_url===&lt;br /&gt;
Пример в XML&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
Пример в JSON FXML&lt;br /&gt;
 $_CH[&amp;quot;parser&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|&amp;lt;/nowiki&amp;gt;;&amp;quot;;&lt;br /&gt;
результат отдастся то что между js= и ; &lt;br /&gt;
&lt;br /&gt;
Регулярное выражение (по маркеру .*? )&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|&amp;lt;script&amp;gt;.*?js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
или&lt;br /&gt;
 &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|.*?js]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
преобразуется в RegExp(&amp;quot;&amp;lt;script&amp;gt;.*?js=(.*?);&amp;quot;,&amp;quot;i&amp;quot;) - результат отдастся тот что в () &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&amp;lt;title&amp;gt;Test &amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== #POST в playlist_url означает что все что после него будет передавать методом POST====&lt;br /&gt;
&lt;br /&gt;
В примере выше на адрес http://parser.co/ отправятся POST данные html=md5hash, где md5hash заменятся на полученное от parser&lt;br /&gt;
&lt;br /&gt;
====Допустимо в parser использовать curl запросы (доступны на андроид, частично если форк установлен в память ТВ, или через ремотефорк)====&lt;br /&gt;
&lt;br /&gt;
====Можно перечислить порядок методов запроса парсер, например &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
Сначала будет попытка запроса через remotefork (если включен), потом через андроид класс если Fork запущен на андроиде, потом прямой XHR запрос с попыткой установить заголовки, потом прямой XHR запрос без заголовков&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&lt;br /&gt;
  &amp;lt;title&amp;gt;Test curl and method&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;parser&amp;gt;&amp;lt;![CDATA[curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept-Encoding: deflate&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;]]&amp;gt;&lt;br /&gt;
  &amp;lt;/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Или в JSON&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;channels&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;title&amp;quot;: &amp;quot;Test curl and method&amp;quot;,&lt;br /&gt;
      &amp;quot;cors&amp;quot;: &amp;quot;rf|android|direct|directnoheader&amp;quot;,&lt;br /&gt;
      &amp;quot;playlist_url&amp;quot;: &amp;quot;http://parser.co/#POSThtml=md5hash&amp;quot;,&lt;br /&gt;
      &amp;quot;parser&amp;quot;: &#039;curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept-Encoding: deflate&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;&#039;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Результат будет в $_POST[&#039;html&#039;]&lt;br /&gt;
&lt;br /&gt;
Результат будет аналогично md5hash в $_GET[&#039;page&#039;]&lt;br /&gt;
&lt;br /&gt;
====Методом POST для видеоссылок ( stream_url )====&lt;br /&gt;
 &amp;lt;channel&amp;gt; &lt;br /&gt;
  &amp;lt;title&amp;gt;stream post&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;stream_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://test.ru/index.php#POSTs=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/stream_url&amp;gt;&lt;br /&gt;
  &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[https://yadi.sk/d/0BpgziSQ0VWiFg]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Будет идти отправка POST на &amp;lt;nowiki&amp;gt;http://test.ru/index.php#POSTs=md5hash&amp;lt;/nowiki&amp;gt; в $_POST[&amp;quot;s&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Ответ страницы попадет в проигрыватель в виде ссылки.&lt;br /&gt;
&lt;br /&gt;
Тоесть &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://test.ru/index.php&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; должен дать текст ссылки на медиафайл вида &amp;lt;nowiki&amp;gt;http://.../myvideo.mp4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Скачивание сторонней страницы по необходимости, страница &amp;lt;nowiki&amp;gt;http://parser.co/&amp;lt;/nowiki&amp;gt; может дать json ответ====&lt;br /&gt;
 {&amp;quot;parse&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8&amp;amp;gl=US&amp;amp;hl=en&amp;amp;has_verified=1&amp;amp;bpctr=9999999999&amp;lt;/nowiki&amp;gt;&amp;quot;}&lt;br /&gt;
Скачанная страница шлется в параметре  $_POST[&#039;remoteparse&#039;]&lt;br /&gt;
&lt;br /&gt;
==Построение произвольного положения элементов на странице (c &amp;quot;br&amp;quot; вместо &amp;quot;coordiantion&amp;quot;)==&lt;br /&gt;
&lt;br /&gt;
===Задаем странице вид плиткой (start)===&lt;br /&gt;
 $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Прописываем свои стили===&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;&lt;br /&gt;
&lt;br /&gt;
.myStyle1{&lt;br /&gt;
&lt;br /&gt;
width:242px;&lt;br /&gt;
&lt;br /&gt;
overflow:hidden;&lt;br /&gt;
&lt;br /&gt;
margin:4px;&lt;br /&gt;
&lt;br /&gt;
text-align:center;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.myStyle2{&lt;br /&gt;
width:242px;&lt;br /&gt;
height:171px;&lt;br /&gt;
padding:2px 2px 0px 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Задаем шаблон (template) каждому элементу списка===&lt;br /&gt;
&amp;lt;code&amp;gt;$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // Задает возможность использовать template&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;; // Заголовок - подставляет в шаблоне вместо $title&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;; // Иконка $logo_30x30&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание, если нужно&amp;quot;; // Описание- подставляет в шаблоне вместо $description&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;myStyle1&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;myStyle2&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Перенос на новую строке при html дизайне $_CH[&amp;quot;br&amp;quot;]=1;===&lt;br /&gt;
Для правильной навигации по странице нужно знать когда у вас там новая строка. Для этого в элементе с которого нужно чтоб начиналась новая строка присваиваем &lt;br /&gt;
 $_CH[&amp;quot;br&amp;quot;]=1;// Этот элемент разместится уже на новой строке&lt;br /&gt;
&lt;br /&gt;
==Горизонтальная прокрутка==&lt;br /&gt;
Задаем nowrap только для первого (обзначается br=1) элемента блока горизонтальной прокрутки&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;nowrap&amp;quot;=1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Первый элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Второй элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Третий элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Последний элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Новый элемент с новой строки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==Вывод результирующей страницы (на PHP)==&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Ваш код с наполнением массивов $_PL и $_CH информацией&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;channels&amp;quot;]=$_CH;&lt;br /&gt;
&lt;br /&gt;
print json_encode($_PL);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=CHANGELOG&amp;diff=1977</id>
		<title>CHANGELOG</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=CHANGELOG&amp;diff=1977"/>
		<updated>2024-12-27T21:16:01Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* 27.12.2024 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;История изменений в Fork browser в порядке убывания&lt;br /&gt;
==27.12.2024==&lt;br /&gt;
===Добавлен глобальный тег advertising для показа рекламы перед запуском видео===&lt;br /&gt;
====Видеоролик====&lt;br /&gt;
 $_PL[&amp;quot;advertising&amp;quot;]=[&amp;quot;client&amp;quot;=&amp;gt;&amp;quot;video&amp;quot;,&lt;br /&gt;
    &amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Реклама&amp;quot;,// Надпись внизу с названием или описанием обьявления&lt;br /&gt;
    &amp;quot;skip&amp;quot;=&amp;gt;3,//Добавьте skip в секундах когда можно будет нажать кнопку пропуск&lt;br /&gt;
    &amp;quot;tag&amp;quot;=&amp;gt;&amp;quot;https://mlb2.adriver.ru/mf/0008908/0008908282/0/720_480.mp4&amp;quot;&lt;br /&gt;
 ];&lt;br /&gt;
&lt;br /&gt;
====VAST====&lt;br /&gt;
XML формат рекламы. Поддерживаются перенаправления, пропуск, отправка событий&lt;br /&gt;
 $_PL[&amp;quot;advertising&amp;quot;]=[&amp;quot;client&amp;quot;=&amp;gt;&amp;quot;vast&amp;quot;,&lt;br /&gt;
    &amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Реклама&amp;quot;,&lt;br /&gt;
    &amp;quot;tag&amp;quot;=&amp;gt;&amp;quot;https://raw.githubusercontent.com/InteractiveAdvertisingBureau/VAST_Samples/master/VAST%203.0%20Samples/Inline_Companion_Tag-test.xml&amp;quot; &lt;br /&gt;
 ];&lt;br /&gt;
В настройках форка для тестирования включите Ads: always&lt;br /&gt;
&lt;br /&gt;
==14.12.2024==&lt;br /&gt;
[[Файл:Aside menu.png|мини|Пример бокового меню Fork]]&lt;br /&gt;
===Добавлен глобальный тег aside для вывода бокового меню===&lt;br /&gt;
$_PL[&amp;quot;aside&amp;quot;][&amp;quot;channels&amp;quot;][]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Home&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://site.com/&amp;quot;,&amp;quot;style&amp;quot;=&amp;gt;&amp;quot;color:blue;&amp;quot;,&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;https://static.vecteezy.com/system/resources/thumbnails/022/013/913/small/home-icon-illustration-image-vector.jpg&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;aside&amp;quot;][&amp;quot;channels&amp;quot;][]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Category 1&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://site.com/cat1&amp;quot;,&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;https://static.vecteezy.com/system/resources/thumbnails/022/013/913/small/home-icon-illustration-image-vector.jpg&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
Изменить стили бокового меню по умолчанию:&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;].=&amp;quot;.aside_default{margin:5px 0px;padding: 4px;border-radius: 8px;border: 2px solid transparent;}&lt;br /&gt;
&lt;br /&gt;
	.aside_selected{margin:5px 0px;padding: 4px;border-radius: 8px;border: 2px solid #5590e7;}&lt;br /&gt;
&lt;br /&gt;
	.aside_hide{width:30px;background:none;}&lt;br /&gt;
&lt;br /&gt;
	.aside_show{width:auto;background-color:rgba(0, 0, 0, 0.8);}&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
==13.05.2024==&lt;br /&gt;
===Добавлен глобальный тег ping для выполнения действий когда они станут доступны===&lt;br /&gt;
&lt;br /&gt;
Например в Fork browser можно отслеживать введение кода с телефона и загружать автоматически страницу&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;ping&amp;quot;][&amp;quot;link&amp;quot;]=&amp;quot;http://example.com/check.php?hash&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Если check.php отдает пустой ответ то Fork продолжает проверять страницу каждые 6сек.&lt;br /&gt;
&lt;br /&gt;
Если check.php отдает страницу с &amp;quot;channels&amp;quot; то загружается она&lt;br /&gt;
&lt;br /&gt;
(например $_PL[&amp;quot;channels&amp;quot;]=[[&amp;quot;location&amp;quot;=&amp;gt;1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Успешно вошли! Нажмите для переадресации...&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://example.com/&amp;quot;]];&lt;br /&gt;
&lt;br /&gt;
==25.02.2024==&lt;br /&gt;
===Добавлены дополнительные теги для видеоплеера===&lt;br /&gt;
Нужны для того чтобы на по разному выдавать информацию на сайте и видеоплеере&lt;br /&gt;
Например&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало 1 сезон 1 серия&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;;&lt;br /&gt;
[[Файл:Halo.png|мини|Вид экрана плеера]]&lt;br /&gt;
Плеер сначала ищет в первом теге, если он пустой то берет со второго, общего тега&lt;br /&gt;
&lt;br /&gt;
====Картинка в видеоплеере слева внизу====&lt;br /&gt;
$_CH[&amp;quot;poster&amp;quot;]=&amp;quot;http://example.com/videoposter.png&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
если он будет пустой то берет отсюда:&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo30x30&amp;quot;]=&amp;quot;http://example.com/videoposter.png&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====Название отображаемое над полосой прогреса====&lt;br /&gt;
$_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
если он будет пустой то берет отсюда:&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====Информация более мелким шрифтом под прогресом====&lt;br /&gt;
$_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
если он будет пустой то берет отсюда:&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
==15.09.2023==&lt;br /&gt;
===Добавлена поддержка css файлов===&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==24.08.2023==&lt;br /&gt;
Изменения для страниц типа $_PL[typeList]=html&lt;br /&gt;
===Добавлена горизонтальная прокрутка элементов списка===&lt;br /&gt;
&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/FXML#.D0.93.D0.BE.D1.80.D0.B8.D0.B7.D0.BE.D0.BD.D1.82.D0.B0.D0.BB.D1.8C.D0.BD.D0.B0.D1.8F_.D0.BF.D1.80.D0.BE.D0.BA.D1.80.D1.83.D1.82.D0.BA.D0.B0 Тег nowrap подробнее]&lt;br /&gt;
&lt;br /&gt;
===Перенос на новую строку теперь через тег $_CH[br]=1===&lt;br /&gt;
&lt;br /&gt;
===По умолчанию страницы теперь во весь экран===&lt;br /&gt;
Панель инструментов с адресной строкой вверху Fork браузера теперь автоматически скрываются, это позволяет делать порталы более информативными&lt;br /&gt;
&lt;br /&gt;
==03.07.2021==&lt;br /&gt;
&lt;br /&gt;
===Параметры ссылок добавлением # в конец ссылки===&lt;br /&gt;
&lt;br /&gt;
====#direct - если сайт требует чистой ссылки без каких либо добавлений====&lt;br /&gt;
например &amp;lt;nowiki&amp;gt;http://pastebin.com/yuUtYu56g#direct&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ссылка будет открываться в чистом виде &amp;lt;nowiki&amp;gt;http://pastebin.com/yuUtYu56g&amp;lt;/nowiki&amp;gt; без отправки параметров (обычно форкплеер добавляет к ссылке ваши параметры, кукис и идентификатор)&lt;br /&gt;
&lt;br /&gt;
====#stream_url открывать в плеере====&lt;br /&gt;
Ссылка откроется в видеоплеере&lt;br /&gt;
&lt;br /&gt;
==17.02.2021==&lt;br /&gt;
&lt;br /&gt;
===Выпадающий список (тег элемента - menu)===&lt;br /&gt;
[[Файл:Меню.png|мини|Пример выпадающего списка]]&lt;br /&gt;
Задается аналогично вложенным спискам только с тегом menu&lt;br /&gt;
&lt;br /&gt;
Пример выбора сезона на PHP&lt;br /&gt;
&lt;br /&gt;
$menu=[];&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Сезон 2&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; // Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Сезон 3&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; // Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Сезон 1 - нажмите для выбора сезона&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;menu&amp;quot;,&amp;quot;menu&amp;quot;=&amp;gt;$menu];&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==12.12.2020==&lt;br /&gt;
&lt;br /&gt;
===Прокрутка части большого описания кнопками переключения каналов (PG_UP, PG_DOWN)===&lt;br /&gt;
Добавьте в описание div с id &#039;&#039;scrolled&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&#039;MY TITLE STATIC&amp;lt;nowiki&amp;gt;&amp;lt;div id=&amp;quot;scrolled&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
PG_UP PG_DOWN &lt;br /&gt;
&lt;br /&gt;
large scrolled content&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
MY FOOTER STATIC&#039;;&lt;br /&gt;
&lt;br /&gt;
==06.09.2020==&lt;br /&gt;
&lt;br /&gt;
===Глобальный тег выравнивания (при виде плиткой) - по умолчанию по центру===&lt;br /&gt;
$_PL[&amp;quot;align&amp;quot;]=&amp;quot;left&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Новый вид элемента position=html Свой шаблон для элемента любого вида===&lt;br /&gt;
&lt;br /&gt;
===Новый тег элемента template (сработает при position=html)===&lt;br /&gt;
[[Файл:Координаты.png|мини]]&lt;br /&gt;
Обязательно наличие template с переменными $title и $logo_30x30 - вместо них будет подставлено значение из $_CH[&amp;quot;title&amp;quot;] и $_CH[&amp;quot;logo_30x30 &amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&amp;quot;width:242px;overflow:hidden;margin:4px;text-align:center;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;width:242px;height:171px;padding:2px 2px 0px 2px;&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
===Новый тег элемента coordination (нужно при template своего размера, для правильной навигации по странице)===&lt;br /&gt;
$_CH[&amp;quot;coordination&amp;quot;]=[x,y];&lt;br /&gt;
&lt;br /&gt;
Где x это позиция по горизонтали, y - по вертикали&lt;br /&gt;
&lt;br /&gt;
Начальный элемент идет с $_CH[&amp;quot;coordination&amp;quot;]=[0,0];&lt;br /&gt;
&lt;br /&gt;
Если следующий элемент идет например на новой строке то нужно ему присвоить $_CH[&amp;quot;coordination&amp;quot;]=[1,0];&lt;br /&gt;
&lt;br /&gt;
==14.06.2020==&lt;br /&gt;
[[Файл:SetIP.png|мини]]&lt;br /&gt;
&lt;br /&gt;
===Локальные переменные LOCAL_IP, TORRSERVE_IP, ACE_IP===&lt;br /&gt;
Прописываются пользователем форкплеера в настройках приложения.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Если не указан TORRSERVE_IP или ACE_IP&#039;&#039;&#039; то вместо них будет вставлен LOCAL_IP (устройство с ремотефорком)&lt;br /&gt;
&lt;br /&gt;
Если не указан также и LOCAL_IP то вместо них будет вставлен локальный IP 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
===Примеры TORRSERVE_IP, ACE_IP в торрент magnet ссылках вашего портала===&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;(magnet) &#039;&#039;&#039;acestream&#039;&#039;&#039; &amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://ACE_IP:6878/server/api?method=get_media_files&amp;amp;magnet=&amp;lt;/nowiki&amp;gt;&amp;quot;.urlencode(&amp;quot;&amp;lt;nowiki&amp;gt;magnet:?xt=urn:btih:642a36ec9dcb2c5ba7b08835bd04ae8738281bb1&amp;amp;dn=rutor.org_%D0%A1%D1%82%D0%B0%D1%80%D0%B8%D0%BA+%D0%B2+%D0%BF%D0%BE%D1%82%D1%91%D1%80%D1%82%D0%BE%D0%B9+%D1%88%D0%B8%D0%BD%D0%B5%D0%BB%D0%B8+%281964%29+SATRip-AVC+%D0%BE%D1%82+New-Team&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=retracker.local/announce&amp;lt;/nowiki&amp;gt;&amp;quot;)];&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;(magnet) &#039;&#039;&#039;torrserve&#039;&#039;&#039; &amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://TORRSERVE_IP:8090/torrent/play?m3u=true&amp;amp;link=&amp;lt;/nowiki&amp;gt;&amp;quot;.urlencode(&amp;quot;&amp;lt;nowiki&amp;gt;magnet:?xt=urn:btih:642a36ec9dcb2c5ba7b08835bd04ae8738281bb1&amp;amp;dn=rutor.org_%D0%A1%D1%82%D0%B0%D1%80%D0%B8%D0%BA+%D0%B2+%D0%BF%D0%BE%D1%82%D1%91%D1%80%D1%82%D0%BE%D0%B9+%D1%88%D0%B8%D0%BD%D0%B5%D0%BB%D0%B8+%281964%29+SATRip-AVC+%D0%BE%D1%82+New-Team&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=retracker.local/announce&amp;lt;/nowiki&amp;gt;&amp;quot;)];&lt;br /&gt;
&lt;br /&gt;
===Пример торрент магнет ссылки с автоматическим выбором torrserve или ace stream сервера===&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;(magnet) через ace stream или torrserve&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;magnet:?xt=urn:btih:642a36ec9dcb2c5ba7b08835bd04ae8738281bb1&amp;amp;dn=rutor.org_%D0%A1%D1%82%D0%B0%D1%80%D0%B8%D0%BA+%D0%B2+%D0%BF%D0%BE%D1%82%D1%91%D1%80%D1%82%D0%BE%D0%B9+%D1%88%D0%B8%D0%BD%D0%B5%D0%BB%D0%B8+%281964%29+SATRip-AVC+%D0%BE%D1%82+New-Team&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=retracker.local/announce&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==11.04.2020==&lt;br /&gt;
&lt;br /&gt;
===Теги after и before - свой html код после и перед элементом списка===&lt;br /&gt;
$_CH[&amp;quot;before&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст перед элементом&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;after&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст после элемента&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Тег url_tvg в FXML странице  - своя телепрограмма===&lt;br /&gt;
Поддерживается только формат xmltv (сжатый и нет)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;url_tvg&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://epg.it999.ru/edem.xml.gz&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Параметр url-tvg в M3U плейлисте  - своя телепрограмма===&lt;br /&gt;
Поддерживается только формат xmltv (сжатый и нет)&lt;br /&gt;
&lt;br /&gt;
Начало плейлиста делаем таким&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;EXTM3U url-tvg=&amp;quot;&amp;lt;nowiki&amp;gt;http://epg.it999.ru/edem.xml.gz&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==07.03.2020==&lt;br /&gt;
&lt;br /&gt;
===Тег subtitles - субтитры===&lt;br /&gt;
$_CH[&amp;quot;subtitles&amp;quot;][0]=[&amp;quot;UA&amp;quot;,&amp;quot;&amp;lt;nowiki&amp;gt;https://tortuga.wtf/player/subtitle/18625_ua.vtt&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;subtitles&amp;quot;][1]=[&amp;quot;EN&amp;quot;,&amp;quot;&amp;lt;nowiki&amp;gt;https://tortuga.wtf/player/subtitle/18625_en.vtt&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;subtitles&amp;quot;][2]=[&amp;quot;RU&amp;quot;,&amp;quot;&amp;lt;nowiki&amp;gt;https://tortuga.wtf/player/subtitle/18625_ru.vtt&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==04.02.2020==&lt;br /&gt;
&lt;br /&gt;
===Добавлена поддержка ссылок Яндекс диска.===&lt;br /&gt;
Ссылка должна быть в поле stream_url или в m3u плейлисте в формате https://yadi.sk/i/idfile&lt;br /&gt;
&lt;br /&gt;
==28.11.2019==&lt;br /&gt;
[[Файл:Position.png|мини]]&lt;br /&gt;
&lt;br /&gt;
===Тег position===&lt;br /&gt;
Тег указывает как позиционировать элемент списка на экране с видом &amp;quot;start&amp;quot;&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;; // При другом виде страницы не сработает&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;fulleditline&amp;quot;; //- Поле ввода текста шириной почти на всю страницу&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;hlist&amp;quot;; // - горизонтальная ссылка (может быть несколько на одном горизонтальном уровне)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;list&amp;quot;; // -обычный вид списка шириной в половину экрана и с  description справа&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;label&amp;quot;; // -невысокая строка на всю ширину экрана&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;bigtile&amp;quot;; // - Плитка увеличенной в 2 раза высоты (128х215px)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;&amp;quot;; // - Плитка обычного размера как в Стартовом меню (128х101px)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==14.11.2019==&lt;br /&gt;
&lt;br /&gt;
===Тег элемента списка location (Переадресация)===&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=1; // Переход c заменой текущей ссылки окна на новую (при перезапуске форкплеера будет открываться уже с этой новой ссылки)&lt;br /&gt;
Тот&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=3; // Переход с отображением в текущем окне (при перезапуске форкплеера будет открываться старая ссылка и опять переадресовываться, необходимо если например используются устаревающие сессии)&lt;br /&gt;
&lt;br /&gt;
==08.11.2019==&lt;br /&gt;
&lt;br /&gt;
===[[Подключение архива]] телепередач в iptv плейлисте m3u===&lt;br /&gt;
&lt;br /&gt;
==06.10.2019==&lt;br /&gt;
&lt;br /&gt;
===Разные качества в stream_url===&lt;br /&gt;
Пример на PHP&lt;br /&gt;
&lt;br /&gt;
$QualLinks=[&amp;quot;2040&amp;quot;=&amp;gt;[&amp;quot;url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://file_com/q1&amp;lt;/nowiki&amp;gt;&amp;quot;],&amp;quot;1080&amp;quot;=&amp;gt;[&amp;quot;url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://file_com/q2&amp;lt;/nowiki&amp;gt;&amp;quot;],&amp;quot;720&amp;quot;=&amp;gt;[&amp;quot;url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://file_com/q3&amp;lt;/nowiki&amp;gt;&amp;quot;] ];&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;stream_url&amp;quot;]=json_encode($QualLinks);&lt;br /&gt;
&lt;br /&gt;
В результате должна быть строка в формате JSON вида&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;stream_url&amp;quot;]=&#039;{&amp;quot;480&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://hls-c2&amp;lt;/nowiki&amp;gt;&amp;quot;},&amp;quot;720&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://hls-c1&amp;lt;/nowiki&amp;gt;&amp;quot;},&amp;quot;1080&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://hls-c0&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;}}&#039;;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==12.09.2019==&lt;br /&gt;
&lt;br /&gt;
===Автообновление страницы через заданное время (в секундах)===&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;reload(3);&amp;quot;; - где 3 это три секунды&lt;br /&gt;
&lt;br /&gt;
[[Файл:[[Медиа:Пример.jpg]]&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Вставьте сюда текст, который не нужно форматировать&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
== Вставьте сюда текст, который не нужно форматировать ==&lt;br /&gt;
[[[http://www.example.com заголовок ссылки]]&#039;&#039;&#039;&#039;&#039;Курсивное начертание&#039;&#039;&#039;&#039;&#039;]&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;]]==29.08.2019==&lt;br /&gt;
&lt;br /&gt;
===Добавлены тип ссылки Iframe.===&lt;br /&gt;
На место элемента списка вставляется содержимое из ссылки. Использовать можно например для поиска по очереди по нескольким плейлистам (Глобальный поиск).&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Поиск Terminator в filmix.red&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;https://filmix.red/fork/search?search=Terminator&amp;lt;/nowiki&amp;gt;&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;iframe&amp;quot;=&amp;gt;&amp;quot;4&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;timeout&amp;quot;=&amp;gt;8&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
Где &amp;quot;iframe&amp;quot; обязательный параметр. Число обозначает сколько показать ссылок из дочерней ссылки сразу, остальное будет внизу списка. &amp;quot;iframe&amp;quot;=&amp;gt;&amp;quot;0&amp;quot; - значит показать все.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;timeout&amp;quot; это таймаут ожиданния получения содержимого из дочерней ссылки&lt;br /&gt;
&lt;br /&gt;
===Глобальный поиск перенесен на spiderxml.com===&lt;br /&gt;
поиск идет через Iframe, в подсказках подбираются кроме ранее вводимых значений еще и история&lt;br /&gt;
&lt;br /&gt;
==19.06.2019==&lt;br /&gt;
&lt;br /&gt;
===Восстановление предыдущего виртуального идентификатора (мак адреса)===&lt;br /&gt;
Если у вас сменился виртуальный мак адрес ( например при сбросе тв к заводским или прочих сбоях памяти тв), то его можно восстановить войдя в аккаунт в ForkPlayer / Мой аккаунт / Настройки / Восстановить идентификатор ( мак адрес)&lt;br /&gt;
&lt;br /&gt;
Такая возможность доступна только если вы ранее уже входили в аккаунт и не вышли с него!&lt;br /&gt;
&lt;br /&gt;
==11.06.2019==&lt;br /&gt;
&lt;br /&gt;
===Новая переменная box_user в GET запросах===&lt;br /&gt;
Если в ForkPlayer войти в аккаунт (Меню/Настройки/Мой аккаунт) то в переменной $_GET[&amp;quot;box_user&amp;quot;] будет передаваться ваш емайл, если например открывать портал &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://nserv.host/&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
То ForkPlayer отправит запрос c такими идентификаторами&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;http://nserv.host/?box_mac=&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;your_mac_addres&#039;&#039;&#039;&amp;amp;box_user=&#039;&#039;&#039;your_forkplayer_tv@email&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==04.06.2019==&lt;br /&gt;
&lt;br /&gt;
===Изменения внешнего вида поисковых полей, клавиатуры===&lt;br /&gt;
&lt;br /&gt;
===Изменен формат Истории===&lt;br /&gt;
&lt;br /&gt;
==16.05.2019==&lt;br /&gt;
&lt;br /&gt;
===JWplayer добавлен тип плеера===&lt;br /&gt;
В настройках форкплеера добавлен тип плеера JW Player [https://jwplayer.com], он построен на базе HTML5 потому поддерживается только на устройствах где работает HTML5 плеер (все новые тв Tizen, webOS, Android)&lt;br /&gt;
&lt;br /&gt;
Рекомендуется для HLS предусматривающего поддержку адаптивного битрейта (например moonwalk, kinopub) чтобы работал режим автоматического качества&lt;br /&gt;
&lt;br /&gt;
==14.05.2019==&lt;br /&gt;
&lt;br /&gt;
===Отправка на сервер событий видеоплеера при старте и остановке видео===&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;hidden&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Video&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;http://...&amp;quot;,&amp;quot;event&amp;quot;=&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[&amp;quot;onstartvideo&amp;quot;=&amp;gt;&amp;quot;$siteurl/?event=onstartvideo&amp;amp;videoid=1&amp;quot;,&amp;quot;onstopvideo&amp;quot;=&amp;gt;&amp;quot;$siteurl/?event=onstopvideo&amp;amp;curTime=[curTime]&amp;amp;totalTime=[totalTime]&amp;amp;videoid=1&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
[curTime] и [totalTime] заменяются на время остановки и общее время видео в секундах&lt;br /&gt;
&lt;br /&gt;
===Предлагать пользователю начать просмотр видео с определенного времени===&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;hidden&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Video&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;http://...&amp;quot;,&amp;quot;start_time&amp;quot;=&amp;gt;340]&lt;br /&gt;
&lt;br /&gt;
start_time - время в секундах (предлагается в плеере на кнопке Play только если пользователь ранее не смотрел это видео, иначе ему нужно сначала отметить видео не просмотренным в Меню / Отметить непросмотренным)&lt;br /&gt;
&lt;br /&gt;
==13.05.2019==&lt;br /&gt;
&lt;br /&gt;
===Поддержка плейлистов с плеера hdgo (ссылки на плеер вида [https://vio.to/video/playlist/16778/ https://vio.to/video/playlist/])===&lt;br /&gt;
&lt;br /&gt;
==01.05.2019==&lt;br /&gt;
&lt;br /&gt;
====Обработка в полях playlist_url AddFavorite(); и AddFavorite(title,logo,url); и AddSearch(title,logo,url)====&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;none&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Добавить этот портал в закладки / стартовое меню&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;AddFavorite(Кинопаб,&amp;lt;nowiki&amp;gt;https://kino.pub/images/logo.png,http://195.88.208.101/kinopub/&amp;lt;/nowiki&amp;gt;);&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;none&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Добавить этот портал в Глобальный поиск&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;AddSearch(Кинопаб,&amp;lt;nowiki&amp;gt;https://kino.pub/images/logo.png,http://195.88.208.101/kinopub/?cat=search&amp;lt;/nowiki&amp;gt;);&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
(пример всей странички на PHP на примере [https://github.com/alexkdpu/kino.pub_forkplayerPHP/blob/master/index.php Кинопаб]   )&lt;br /&gt;
&lt;br /&gt;
==29.04.2019==&lt;br /&gt;
&lt;br /&gt;
====В YouTube реализовано проигрывание похожих видео при окончании одного.====&lt;br /&gt;
[[В]] своем плейлисте реализация такая (на PHP)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
$PLAYLIST=[];&lt;br /&gt;
&lt;br /&gt;
$PLAYLIST[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Похожее видео которое запустится по окончании основного 1&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=http://www.youtube.com/watch?v=ZNLZla2xHUQ&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$PLAYLIST[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Похожее видео которое запустится по окончании основного 2&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=http://www.youtube.com/watch?v=ZNLZla2xHUQ&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Основное видео&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=xhFCmwrSxCU&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist&amp;quot;=&amp;gt;$PLAYLIST];&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;channels&amp;quot;]=$_CH;&lt;br /&gt;
&lt;br /&gt;
print json_encode($_PL);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=CHANGELOG&amp;diff=1976</id>
		<title>CHANGELOG</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=CHANGELOG&amp;diff=1976"/>
		<updated>2024-12-27T21:15:37Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* VAST */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;История изменений в Fork browser в порядке убывания&lt;br /&gt;
==27.12.2024==&lt;br /&gt;
===Добавлен глобальный тег advertising для показа рекламы перед запуском видео===&lt;br /&gt;
===Видеоролик===&lt;br /&gt;
 $_PL[&amp;quot;advertising&amp;quot;]=[&amp;quot;client&amp;quot;=&amp;gt;&amp;quot;video&amp;quot;,&lt;br /&gt;
    &amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Реклама&amp;quot;,// Надпись внизу с названием или описанием обьявления&lt;br /&gt;
    &amp;quot;skip&amp;quot;=&amp;gt;3,//Добавьте skip в секундах когда можно будет нажать кнопку пропуск&lt;br /&gt;
    &amp;quot;tag&amp;quot;=&amp;gt;&amp;quot;https://mlb2.adriver.ru/mf/0008908/0008908282/0/720_480.mp4&amp;quot;&lt;br /&gt;
 ];&lt;br /&gt;
&lt;br /&gt;
===VAST===&lt;br /&gt;
XML формат рекламы. Поддерживаются перенаправления, пропуск, отправка событий&lt;br /&gt;
 $_PL[&amp;quot;advertising&amp;quot;]=[&amp;quot;client&amp;quot;=&amp;gt;&amp;quot;vast&amp;quot;,&lt;br /&gt;
    &amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Реклама&amp;quot;,&lt;br /&gt;
    &amp;quot;tag&amp;quot;=&amp;gt;&amp;quot;https://raw.githubusercontent.com/InteractiveAdvertisingBureau/VAST_Samples/master/VAST%203.0%20Samples/Inline_Companion_Tag-test.xml&amp;quot; &lt;br /&gt;
 ];&lt;br /&gt;
В настройках форка для тестирования включите Ads: always&lt;br /&gt;
&lt;br /&gt;
==14.12.2024==&lt;br /&gt;
[[Файл:Aside menu.png|мини|Пример бокового меню Fork]]&lt;br /&gt;
===Добавлен глобальный тег aside для вывода бокового меню===&lt;br /&gt;
$_PL[&amp;quot;aside&amp;quot;][&amp;quot;channels&amp;quot;][]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Home&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://site.com/&amp;quot;,&amp;quot;style&amp;quot;=&amp;gt;&amp;quot;color:blue;&amp;quot;,&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;https://static.vecteezy.com/system/resources/thumbnails/022/013/913/small/home-icon-illustration-image-vector.jpg&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;aside&amp;quot;][&amp;quot;channels&amp;quot;][]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Category 1&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://site.com/cat1&amp;quot;,&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;https://static.vecteezy.com/system/resources/thumbnails/022/013/913/small/home-icon-illustration-image-vector.jpg&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
Изменить стили бокового меню по умолчанию:&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;].=&amp;quot;.aside_default{margin:5px 0px;padding: 4px;border-radius: 8px;border: 2px solid transparent;}&lt;br /&gt;
&lt;br /&gt;
	.aside_selected{margin:5px 0px;padding: 4px;border-radius: 8px;border: 2px solid #5590e7;}&lt;br /&gt;
&lt;br /&gt;
	.aside_hide{width:30px;background:none;}&lt;br /&gt;
&lt;br /&gt;
	.aside_show{width:auto;background-color:rgba(0, 0, 0, 0.8);}&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
==13.05.2024==&lt;br /&gt;
===Добавлен глобальный тег ping для выполнения действий когда они станут доступны===&lt;br /&gt;
&lt;br /&gt;
Например в Fork browser можно отслеживать введение кода с телефона и загружать автоматически страницу&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;ping&amp;quot;][&amp;quot;link&amp;quot;]=&amp;quot;http://example.com/check.php?hash&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Если check.php отдает пустой ответ то Fork продолжает проверять страницу каждые 6сек.&lt;br /&gt;
&lt;br /&gt;
Если check.php отдает страницу с &amp;quot;channels&amp;quot; то загружается она&lt;br /&gt;
&lt;br /&gt;
(например $_PL[&amp;quot;channels&amp;quot;]=[[&amp;quot;location&amp;quot;=&amp;gt;1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Успешно вошли! Нажмите для переадресации...&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://example.com/&amp;quot;]];&lt;br /&gt;
&lt;br /&gt;
==25.02.2024==&lt;br /&gt;
===Добавлены дополнительные теги для видеоплеера===&lt;br /&gt;
Нужны для того чтобы на по разному выдавать информацию на сайте и видеоплеере&lt;br /&gt;
Например&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало 1 сезон 1 серия&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;;&lt;br /&gt;
[[Файл:Halo.png|мини|Вид экрана плеера]]&lt;br /&gt;
Плеер сначала ищет в первом теге, если он пустой то берет со второго, общего тега&lt;br /&gt;
&lt;br /&gt;
====Картинка в видеоплеере слева внизу====&lt;br /&gt;
$_CH[&amp;quot;poster&amp;quot;]=&amp;quot;http://example.com/videoposter.png&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
если он будет пустой то берет отсюда:&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo30x30&amp;quot;]=&amp;quot;http://example.com/videoposter.png&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====Название отображаемое над полосой прогреса====&lt;br /&gt;
$_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
если он будет пустой то берет отсюда:&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====Информация более мелким шрифтом под прогресом====&lt;br /&gt;
$_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
если он будет пустой то берет отсюда:&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
==15.09.2023==&lt;br /&gt;
===Добавлена поддержка css файлов===&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==24.08.2023==&lt;br /&gt;
Изменения для страниц типа $_PL[typeList]=html&lt;br /&gt;
===Добавлена горизонтальная прокрутка элементов списка===&lt;br /&gt;
&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/FXML#.D0.93.D0.BE.D1.80.D0.B8.D0.B7.D0.BE.D0.BD.D1.82.D0.B0.D0.BB.D1.8C.D0.BD.D0.B0.D1.8F_.D0.BF.D1.80.D0.BE.D0.BA.D1.80.D1.83.D1.82.D0.BA.D0.B0 Тег nowrap подробнее]&lt;br /&gt;
&lt;br /&gt;
===Перенос на новую строку теперь через тег $_CH[br]=1===&lt;br /&gt;
&lt;br /&gt;
===По умолчанию страницы теперь во весь экран===&lt;br /&gt;
Панель инструментов с адресной строкой вверху Fork браузера теперь автоматически скрываются, это позволяет делать порталы более информативными&lt;br /&gt;
&lt;br /&gt;
==03.07.2021==&lt;br /&gt;
&lt;br /&gt;
===Параметры ссылок добавлением # в конец ссылки===&lt;br /&gt;
&lt;br /&gt;
====#direct - если сайт требует чистой ссылки без каких либо добавлений====&lt;br /&gt;
например &amp;lt;nowiki&amp;gt;http://pastebin.com/yuUtYu56g#direct&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ссылка будет открываться в чистом виде &amp;lt;nowiki&amp;gt;http://pastebin.com/yuUtYu56g&amp;lt;/nowiki&amp;gt; без отправки параметров (обычно форкплеер добавляет к ссылке ваши параметры, кукис и идентификатор)&lt;br /&gt;
&lt;br /&gt;
====#stream_url открывать в плеере====&lt;br /&gt;
Ссылка откроется в видеоплеере&lt;br /&gt;
&lt;br /&gt;
==17.02.2021==&lt;br /&gt;
&lt;br /&gt;
===Выпадающий список (тег элемента - menu)===&lt;br /&gt;
[[Файл:Меню.png|мини|Пример выпадающего списка]]&lt;br /&gt;
Задается аналогично вложенным спискам только с тегом menu&lt;br /&gt;
&lt;br /&gt;
Пример выбора сезона на PHP&lt;br /&gt;
&lt;br /&gt;
$menu=[];&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Сезон 2&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; // Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Сезон 3&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; // Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Сезон 1 - нажмите для выбора сезона&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;menu&amp;quot;,&amp;quot;menu&amp;quot;=&amp;gt;$menu];&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==12.12.2020==&lt;br /&gt;
&lt;br /&gt;
===Прокрутка части большого описания кнопками переключения каналов (PG_UP, PG_DOWN)===&lt;br /&gt;
Добавьте в описание div с id &#039;&#039;scrolled&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&#039;MY TITLE STATIC&amp;lt;nowiki&amp;gt;&amp;lt;div id=&amp;quot;scrolled&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
PG_UP PG_DOWN &lt;br /&gt;
&lt;br /&gt;
large scrolled content&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
MY FOOTER STATIC&#039;;&lt;br /&gt;
&lt;br /&gt;
==06.09.2020==&lt;br /&gt;
&lt;br /&gt;
===Глобальный тег выравнивания (при виде плиткой) - по умолчанию по центру===&lt;br /&gt;
$_PL[&amp;quot;align&amp;quot;]=&amp;quot;left&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Новый вид элемента position=html Свой шаблон для элемента любого вида===&lt;br /&gt;
&lt;br /&gt;
===Новый тег элемента template (сработает при position=html)===&lt;br /&gt;
[[Файл:Координаты.png|мини]]&lt;br /&gt;
Обязательно наличие template с переменными $title и $logo_30x30 - вместо них будет подставлено значение из $_CH[&amp;quot;title&amp;quot;] и $_CH[&amp;quot;logo_30x30 &amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&amp;quot;width:242px;overflow:hidden;margin:4px;text-align:center;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;width:242px;height:171px;padding:2px 2px 0px 2px;&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
===Новый тег элемента coordination (нужно при template своего размера, для правильной навигации по странице)===&lt;br /&gt;
$_CH[&amp;quot;coordination&amp;quot;]=[x,y];&lt;br /&gt;
&lt;br /&gt;
Где x это позиция по горизонтали, y - по вертикали&lt;br /&gt;
&lt;br /&gt;
Начальный элемент идет с $_CH[&amp;quot;coordination&amp;quot;]=[0,0];&lt;br /&gt;
&lt;br /&gt;
Если следующий элемент идет например на новой строке то нужно ему присвоить $_CH[&amp;quot;coordination&amp;quot;]=[1,0];&lt;br /&gt;
&lt;br /&gt;
==14.06.2020==&lt;br /&gt;
[[Файл:SetIP.png|мини]]&lt;br /&gt;
&lt;br /&gt;
===Локальные переменные LOCAL_IP, TORRSERVE_IP, ACE_IP===&lt;br /&gt;
Прописываются пользователем форкплеера в настройках приложения.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Если не указан TORRSERVE_IP или ACE_IP&#039;&#039;&#039; то вместо них будет вставлен LOCAL_IP (устройство с ремотефорком)&lt;br /&gt;
&lt;br /&gt;
Если не указан также и LOCAL_IP то вместо них будет вставлен локальный IP 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
===Примеры TORRSERVE_IP, ACE_IP в торрент magnet ссылках вашего портала===&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;(magnet) &#039;&#039;&#039;acestream&#039;&#039;&#039; &amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://ACE_IP:6878/server/api?method=get_media_files&amp;amp;magnet=&amp;lt;/nowiki&amp;gt;&amp;quot;.urlencode(&amp;quot;&amp;lt;nowiki&amp;gt;magnet:?xt=urn:btih:642a36ec9dcb2c5ba7b08835bd04ae8738281bb1&amp;amp;dn=rutor.org_%D0%A1%D1%82%D0%B0%D1%80%D0%B8%D0%BA+%D0%B2+%D0%BF%D0%BE%D1%82%D1%91%D1%80%D1%82%D0%BE%D0%B9+%D1%88%D0%B8%D0%BD%D0%B5%D0%BB%D0%B8+%281964%29+SATRip-AVC+%D0%BE%D1%82+New-Team&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=retracker.local/announce&amp;lt;/nowiki&amp;gt;&amp;quot;)];&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;(magnet) &#039;&#039;&#039;torrserve&#039;&#039;&#039; &amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://TORRSERVE_IP:8090/torrent/play?m3u=true&amp;amp;link=&amp;lt;/nowiki&amp;gt;&amp;quot;.urlencode(&amp;quot;&amp;lt;nowiki&amp;gt;magnet:?xt=urn:btih:642a36ec9dcb2c5ba7b08835bd04ae8738281bb1&amp;amp;dn=rutor.org_%D0%A1%D1%82%D0%B0%D1%80%D0%B8%D0%BA+%D0%B2+%D0%BF%D0%BE%D1%82%D1%91%D1%80%D1%82%D0%BE%D0%B9+%D1%88%D0%B8%D0%BD%D0%B5%D0%BB%D0%B8+%281964%29+SATRip-AVC+%D0%BE%D1%82+New-Team&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=retracker.local/announce&amp;lt;/nowiki&amp;gt;&amp;quot;)];&lt;br /&gt;
&lt;br /&gt;
===Пример торрент магнет ссылки с автоматическим выбором torrserve или ace stream сервера===&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;(magnet) через ace stream или torrserve&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;magnet:?xt=urn:btih:642a36ec9dcb2c5ba7b08835bd04ae8738281bb1&amp;amp;dn=rutor.org_%D0%A1%D1%82%D0%B0%D1%80%D0%B8%D0%BA+%D0%B2+%D0%BF%D0%BE%D1%82%D1%91%D1%80%D1%82%D0%BE%D0%B9+%D1%88%D0%B8%D0%BD%D0%B5%D0%BB%D0%B8+%281964%29+SATRip-AVC+%D0%BE%D1%82+New-Team&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=retracker.local/announce&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==11.04.2020==&lt;br /&gt;
&lt;br /&gt;
===Теги after и before - свой html код после и перед элементом списка===&lt;br /&gt;
$_CH[&amp;quot;before&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст перед элементом&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;after&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст после элемента&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Тег url_tvg в FXML странице  - своя телепрограмма===&lt;br /&gt;
Поддерживается только формат xmltv (сжатый и нет)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;url_tvg&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://epg.it999.ru/edem.xml.gz&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Параметр url-tvg в M3U плейлисте  - своя телепрограмма===&lt;br /&gt;
Поддерживается только формат xmltv (сжатый и нет)&lt;br /&gt;
&lt;br /&gt;
Начало плейлиста делаем таким&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;EXTM3U url-tvg=&amp;quot;&amp;lt;nowiki&amp;gt;http://epg.it999.ru/edem.xml.gz&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==07.03.2020==&lt;br /&gt;
&lt;br /&gt;
===Тег subtitles - субтитры===&lt;br /&gt;
$_CH[&amp;quot;subtitles&amp;quot;][0]=[&amp;quot;UA&amp;quot;,&amp;quot;&amp;lt;nowiki&amp;gt;https://tortuga.wtf/player/subtitle/18625_ua.vtt&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;subtitles&amp;quot;][1]=[&amp;quot;EN&amp;quot;,&amp;quot;&amp;lt;nowiki&amp;gt;https://tortuga.wtf/player/subtitle/18625_en.vtt&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;subtitles&amp;quot;][2]=[&amp;quot;RU&amp;quot;,&amp;quot;&amp;lt;nowiki&amp;gt;https://tortuga.wtf/player/subtitle/18625_ru.vtt&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==04.02.2020==&lt;br /&gt;
&lt;br /&gt;
===Добавлена поддержка ссылок Яндекс диска.===&lt;br /&gt;
Ссылка должна быть в поле stream_url или в m3u плейлисте в формате https://yadi.sk/i/idfile&lt;br /&gt;
&lt;br /&gt;
==28.11.2019==&lt;br /&gt;
[[Файл:Position.png|мини]]&lt;br /&gt;
&lt;br /&gt;
===Тег position===&lt;br /&gt;
Тег указывает как позиционировать элемент списка на экране с видом &amp;quot;start&amp;quot;&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;; // При другом виде страницы не сработает&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;fulleditline&amp;quot;; //- Поле ввода текста шириной почти на всю страницу&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;hlist&amp;quot;; // - горизонтальная ссылка (может быть несколько на одном горизонтальном уровне)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;list&amp;quot;; // -обычный вид списка шириной в половину экрана и с  description справа&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;label&amp;quot;; // -невысокая строка на всю ширину экрана&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;bigtile&amp;quot;; // - Плитка увеличенной в 2 раза высоты (128х215px)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;&amp;quot;; // - Плитка обычного размера как в Стартовом меню (128х101px)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==14.11.2019==&lt;br /&gt;
&lt;br /&gt;
===Тег элемента списка location (Переадресация)===&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=1; // Переход c заменой текущей ссылки окна на новую (при перезапуске форкплеера будет открываться уже с этой новой ссылки)&lt;br /&gt;
Тот&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=3; // Переход с отображением в текущем окне (при перезапуске форкплеера будет открываться старая ссылка и опять переадресовываться, необходимо если например используются устаревающие сессии)&lt;br /&gt;
&lt;br /&gt;
==08.11.2019==&lt;br /&gt;
&lt;br /&gt;
===[[Подключение архива]] телепередач в iptv плейлисте m3u===&lt;br /&gt;
&lt;br /&gt;
==06.10.2019==&lt;br /&gt;
&lt;br /&gt;
===Разные качества в stream_url===&lt;br /&gt;
Пример на PHP&lt;br /&gt;
&lt;br /&gt;
$QualLinks=[&amp;quot;2040&amp;quot;=&amp;gt;[&amp;quot;url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://file_com/q1&amp;lt;/nowiki&amp;gt;&amp;quot;],&amp;quot;1080&amp;quot;=&amp;gt;[&amp;quot;url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://file_com/q2&amp;lt;/nowiki&amp;gt;&amp;quot;],&amp;quot;720&amp;quot;=&amp;gt;[&amp;quot;url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://file_com/q3&amp;lt;/nowiki&amp;gt;&amp;quot;] ];&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;stream_url&amp;quot;]=json_encode($QualLinks);&lt;br /&gt;
&lt;br /&gt;
В результате должна быть строка в формате JSON вида&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;stream_url&amp;quot;]=&#039;{&amp;quot;480&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://hls-c2&amp;lt;/nowiki&amp;gt;&amp;quot;},&amp;quot;720&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://hls-c1&amp;lt;/nowiki&amp;gt;&amp;quot;},&amp;quot;1080&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://hls-c0&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;}}&#039;;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==12.09.2019==&lt;br /&gt;
&lt;br /&gt;
===Автообновление страницы через заданное время (в секундах)===&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;reload(3);&amp;quot;; - где 3 это три секунды&lt;br /&gt;
&lt;br /&gt;
[[Файл:[[Медиа:Пример.jpg]]&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Вставьте сюда текст, который не нужно форматировать&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
== Вставьте сюда текст, который не нужно форматировать ==&lt;br /&gt;
[[[http://www.example.com заголовок ссылки]]&#039;&#039;&#039;&#039;&#039;Курсивное начертание&#039;&#039;&#039;&#039;&#039;]&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;]]==29.08.2019==&lt;br /&gt;
&lt;br /&gt;
===Добавлены тип ссылки Iframe.===&lt;br /&gt;
На место элемента списка вставляется содержимое из ссылки. Использовать можно например для поиска по очереди по нескольким плейлистам (Глобальный поиск).&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Поиск Terminator в filmix.red&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;https://filmix.red/fork/search?search=Terminator&amp;lt;/nowiki&amp;gt;&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;iframe&amp;quot;=&amp;gt;&amp;quot;4&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;timeout&amp;quot;=&amp;gt;8&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
Где &amp;quot;iframe&amp;quot; обязательный параметр. Число обозначает сколько показать ссылок из дочерней ссылки сразу, остальное будет внизу списка. &amp;quot;iframe&amp;quot;=&amp;gt;&amp;quot;0&amp;quot; - значит показать все.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;timeout&amp;quot; это таймаут ожиданния получения содержимого из дочерней ссылки&lt;br /&gt;
&lt;br /&gt;
===Глобальный поиск перенесен на spiderxml.com===&lt;br /&gt;
поиск идет через Iframe, в подсказках подбираются кроме ранее вводимых значений еще и история&lt;br /&gt;
&lt;br /&gt;
==19.06.2019==&lt;br /&gt;
&lt;br /&gt;
===Восстановление предыдущего виртуального идентификатора (мак адреса)===&lt;br /&gt;
Если у вас сменился виртуальный мак адрес ( например при сбросе тв к заводским или прочих сбоях памяти тв), то его можно восстановить войдя в аккаунт в ForkPlayer / Мой аккаунт / Настройки / Восстановить идентификатор ( мак адрес)&lt;br /&gt;
&lt;br /&gt;
Такая возможность доступна только если вы ранее уже входили в аккаунт и не вышли с него!&lt;br /&gt;
&lt;br /&gt;
==11.06.2019==&lt;br /&gt;
&lt;br /&gt;
===Новая переменная box_user в GET запросах===&lt;br /&gt;
Если в ForkPlayer войти в аккаунт (Меню/Настройки/Мой аккаунт) то в переменной $_GET[&amp;quot;box_user&amp;quot;] будет передаваться ваш емайл, если например открывать портал &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://nserv.host/&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
То ForkPlayer отправит запрос c такими идентификаторами&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;http://nserv.host/?box_mac=&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;your_mac_addres&#039;&#039;&#039;&amp;amp;box_user=&#039;&#039;&#039;your_forkplayer_tv@email&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==04.06.2019==&lt;br /&gt;
&lt;br /&gt;
===Изменения внешнего вида поисковых полей, клавиатуры===&lt;br /&gt;
&lt;br /&gt;
===Изменен формат Истории===&lt;br /&gt;
&lt;br /&gt;
==16.05.2019==&lt;br /&gt;
&lt;br /&gt;
===JWplayer добавлен тип плеера===&lt;br /&gt;
В настройках форкплеера добавлен тип плеера JW Player [https://jwplayer.com], он построен на базе HTML5 потому поддерживается только на устройствах где работает HTML5 плеер (все новые тв Tizen, webOS, Android)&lt;br /&gt;
&lt;br /&gt;
Рекомендуется для HLS предусматривающего поддержку адаптивного битрейта (например moonwalk, kinopub) чтобы работал режим автоматического качества&lt;br /&gt;
&lt;br /&gt;
==14.05.2019==&lt;br /&gt;
&lt;br /&gt;
===Отправка на сервер событий видеоплеера при старте и остановке видео===&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;hidden&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Video&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;http://...&amp;quot;,&amp;quot;event&amp;quot;=&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[&amp;quot;onstartvideo&amp;quot;=&amp;gt;&amp;quot;$siteurl/?event=onstartvideo&amp;amp;videoid=1&amp;quot;,&amp;quot;onstopvideo&amp;quot;=&amp;gt;&amp;quot;$siteurl/?event=onstopvideo&amp;amp;curTime=[curTime]&amp;amp;totalTime=[totalTime]&amp;amp;videoid=1&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
[curTime] и [totalTime] заменяются на время остановки и общее время видео в секундах&lt;br /&gt;
&lt;br /&gt;
===Предлагать пользователю начать просмотр видео с определенного времени===&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;hidden&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Video&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;http://...&amp;quot;,&amp;quot;start_time&amp;quot;=&amp;gt;340]&lt;br /&gt;
&lt;br /&gt;
start_time - время в секундах (предлагается в плеере на кнопке Play только если пользователь ранее не смотрел это видео, иначе ему нужно сначала отметить видео не просмотренным в Меню / Отметить непросмотренным)&lt;br /&gt;
&lt;br /&gt;
==13.05.2019==&lt;br /&gt;
&lt;br /&gt;
===Поддержка плейлистов с плеера hdgo (ссылки на плеер вида [https://vio.to/video/playlist/16778/ https://vio.to/video/playlist/])===&lt;br /&gt;
&lt;br /&gt;
==01.05.2019==&lt;br /&gt;
&lt;br /&gt;
====Обработка в полях playlist_url AddFavorite(); и AddFavorite(title,logo,url); и AddSearch(title,logo,url)====&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;none&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Добавить этот портал в закладки / стартовое меню&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;AddFavorite(Кинопаб,&amp;lt;nowiki&amp;gt;https://kino.pub/images/logo.png,http://195.88.208.101/kinopub/&amp;lt;/nowiki&amp;gt;);&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;none&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Добавить этот портал в Глобальный поиск&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;AddSearch(Кинопаб,&amp;lt;nowiki&amp;gt;https://kino.pub/images/logo.png,http://195.88.208.101/kinopub/?cat=search&amp;lt;/nowiki&amp;gt;);&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
(пример всей странички на PHP на примере [https://github.com/alexkdpu/kino.pub_forkplayerPHP/blob/master/index.php Кинопаб]   )&lt;br /&gt;
&lt;br /&gt;
==29.04.2019==&lt;br /&gt;
&lt;br /&gt;
====В YouTube реализовано проигрывание похожих видео при окончании одного.====&lt;br /&gt;
[[В]] своем плейлисте реализация такая (на PHP)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
$PLAYLIST=[];&lt;br /&gt;
&lt;br /&gt;
$PLAYLIST[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Похожее видео которое запустится по окончании основного 1&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=http://www.youtube.com/watch?v=ZNLZla2xHUQ&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$PLAYLIST[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Похожее видео которое запустится по окончании основного 2&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=http://www.youtube.com/watch?v=ZNLZla2xHUQ&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Основное видео&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=xhFCmwrSxCU&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist&amp;quot;=&amp;gt;$PLAYLIST];&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;channels&amp;quot;]=$_CH;&lt;br /&gt;
&lt;br /&gt;
print json_encode($_PL);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=CHANGELOG&amp;diff=1975</id>
		<title>CHANGELOG</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=CHANGELOG&amp;diff=1975"/>
		<updated>2024-12-27T21:15:27Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* vast */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;История изменений в Fork browser в порядке убывания&lt;br /&gt;
==27.12.2024==&lt;br /&gt;
===Добавлен глобальный тег advertising для показа рекламы перед запуском видео===&lt;br /&gt;
===Видеоролик===&lt;br /&gt;
 $_PL[&amp;quot;advertising&amp;quot;]=[&amp;quot;client&amp;quot;=&amp;gt;&amp;quot;video&amp;quot;,&lt;br /&gt;
    &amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Реклама&amp;quot;,// Надпись внизу с названием или описанием обьявления&lt;br /&gt;
    &amp;quot;skip&amp;quot;=&amp;gt;3,//Добавьте skip в секундах когда можно будет нажать кнопку пропуск&lt;br /&gt;
    &amp;quot;tag&amp;quot;=&amp;gt;&amp;quot;https://mlb2.adriver.ru/mf/0008908/0008908282/0/720_480.mp4&amp;quot;&lt;br /&gt;
 ];&lt;br /&gt;
&lt;br /&gt;
===VAST===&lt;br /&gt;
XML формат рекламы. Поддерживаются перенаправления, пропуск, отправка события&lt;br /&gt;
 $_PL[&amp;quot;advertising&amp;quot;]=[&amp;quot;client&amp;quot;=&amp;gt;&amp;quot;vast&amp;quot;,&lt;br /&gt;
    &amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Реклама&amp;quot;,&lt;br /&gt;
    &amp;quot;tag&amp;quot;=&amp;gt;&amp;quot;https://raw.githubusercontent.com/InteractiveAdvertisingBureau/VAST_Samples/master/VAST%203.0%20Samples/Inline_Companion_Tag-test.xml&amp;quot; &lt;br /&gt;
 ];&lt;br /&gt;
В настройках форка для тестирования включите Ads: always&lt;br /&gt;
&lt;br /&gt;
==14.12.2024==&lt;br /&gt;
[[Файл:Aside menu.png|мини|Пример бокового меню Fork]]&lt;br /&gt;
===Добавлен глобальный тег aside для вывода бокового меню===&lt;br /&gt;
$_PL[&amp;quot;aside&amp;quot;][&amp;quot;channels&amp;quot;][]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Home&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://site.com/&amp;quot;,&amp;quot;style&amp;quot;=&amp;gt;&amp;quot;color:blue;&amp;quot;,&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;https://static.vecteezy.com/system/resources/thumbnails/022/013/913/small/home-icon-illustration-image-vector.jpg&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;aside&amp;quot;][&amp;quot;channels&amp;quot;][]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Category 1&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://site.com/cat1&amp;quot;,&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;https://static.vecteezy.com/system/resources/thumbnails/022/013/913/small/home-icon-illustration-image-vector.jpg&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
Изменить стили бокового меню по умолчанию:&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;].=&amp;quot;.aside_default{margin:5px 0px;padding: 4px;border-radius: 8px;border: 2px solid transparent;}&lt;br /&gt;
&lt;br /&gt;
	.aside_selected{margin:5px 0px;padding: 4px;border-radius: 8px;border: 2px solid #5590e7;}&lt;br /&gt;
&lt;br /&gt;
	.aside_hide{width:30px;background:none;}&lt;br /&gt;
&lt;br /&gt;
	.aside_show{width:auto;background-color:rgba(0, 0, 0, 0.8);}&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
==13.05.2024==&lt;br /&gt;
===Добавлен глобальный тег ping для выполнения действий когда они станут доступны===&lt;br /&gt;
&lt;br /&gt;
Например в Fork browser можно отслеживать введение кода с телефона и загружать автоматически страницу&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;ping&amp;quot;][&amp;quot;link&amp;quot;]=&amp;quot;http://example.com/check.php?hash&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Если check.php отдает пустой ответ то Fork продолжает проверять страницу каждые 6сек.&lt;br /&gt;
&lt;br /&gt;
Если check.php отдает страницу с &amp;quot;channels&amp;quot; то загружается она&lt;br /&gt;
&lt;br /&gt;
(например $_PL[&amp;quot;channels&amp;quot;]=[[&amp;quot;location&amp;quot;=&amp;gt;1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Успешно вошли! Нажмите для переадресации...&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://example.com/&amp;quot;]];&lt;br /&gt;
&lt;br /&gt;
==25.02.2024==&lt;br /&gt;
===Добавлены дополнительные теги для видеоплеера===&lt;br /&gt;
Нужны для того чтобы на по разному выдавать информацию на сайте и видеоплеере&lt;br /&gt;
Например&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало 1 сезон 1 серия&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;;&lt;br /&gt;
[[Файл:Halo.png|мини|Вид экрана плеера]]&lt;br /&gt;
Плеер сначала ищет в первом теге, если он пустой то берет со второго, общего тега&lt;br /&gt;
&lt;br /&gt;
====Картинка в видеоплеере слева внизу====&lt;br /&gt;
$_CH[&amp;quot;poster&amp;quot;]=&amp;quot;http://example.com/videoposter.png&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
если он будет пустой то берет отсюда:&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo30x30&amp;quot;]=&amp;quot;http://example.com/videoposter.png&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====Название отображаемое над полосой прогреса====&lt;br /&gt;
$_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
если он будет пустой то берет отсюда:&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====Информация более мелким шрифтом под прогресом====&lt;br /&gt;
$_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
если он будет пустой то берет отсюда:&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
==15.09.2023==&lt;br /&gt;
===Добавлена поддержка css файлов===&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==24.08.2023==&lt;br /&gt;
Изменения для страниц типа $_PL[typeList]=html&lt;br /&gt;
===Добавлена горизонтальная прокрутка элементов списка===&lt;br /&gt;
&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/FXML#.D0.93.D0.BE.D1.80.D0.B8.D0.B7.D0.BE.D0.BD.D1.82.D0.B0.D0.BB.D1.8C.D0.BD.D0.B0.D1.8F_.D0.BF.D1.80.D0.BE.D0.BA.D1.80.D1.83.D1.82.D0.BA.D0.B0 Тег nowrap подробнее]&lt;br /&gt;
&lt;br /&gt;
===Перенос на новую строку теперь через тег $_CH[br]=1===&lt;br /&gt;
&lt;br /&gt;
===По умолчанию страницы теперь во весь экран===&lt;br /&gt;
Панель инструментов с адресной строкой вверху Fork браузера теперь автоматически скрываются, это позволяет делать порталы более информативными&lt;br /&gt;
&lt;br /&gt;
==03.07.2021==&lt;br /&gt;
&lt;br /&gt;
===Параметры ссылок добавлением # в конец ссылки===&lt;br /&gt;
&lt;br /&gt;
====#direct - если сайт требует чистой ссылки без каких либо добавлений====&lt;br /&gt;
например &amp;lt;nowiki&amp;gt;http://pastebin.com/yuUtYu56g#direct&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ссылка будет открываться в чистом виде &amp;lt;nowiki&amp;gt;http://pastebin.com/yuUtYu56g&amp;lt;/nowiki&amp;gt; без отправки параметров (обычно форкплеер добавляет к ссылке ваши параметры, кукис и идентификатор)&lt;br /&gt;
&lt;br /&gt;
====#stream_url открывать в плеере====&lt;br /&gt;
Ссылка откроется в видеоплеере&lt;br /&gt;
&lt;br /&gt;
==17.02.2021==&lt;br /&gt;
&lt;br /&gt;
===Выпадающий список (тег элемента - menu)===&lt;br /&gt;
[[Файл:Меню.png|мини|Пример выпадающего списка]]&lt;br /&gt;
Задается аналогично вложенным спискам только с тегом menu&lt;br /&gt;
&lt;br /&gt;
Пример выбора сезона на PHP&lt;br /&gt;
&lt;br /&gt;
$menu=[];&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Сезон 2&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; // Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Сезон 3&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; // Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Сезон 1 - нажмите для выбора сезона&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;menu&amp;quot;,&amp;quot;menu&amp;quot;=&amp;gt;$menu];&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==12.12.2020==&lt;br /&gt;
&lt;br /&gt;
===Прокрутка части большого описания кнопками переключения каналов (PG_UP, PG_DOWN)===&lt;br /&gt;
Добавьте в описание div с id &#039;&#039;scrolled&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&#039;MY TITLE STATIC&amp;lt;nowiki&amp;gt;&amp;lt;div id=&amp;quot;scrolled&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
PG_UP PG_DOWN &lt;br /&gt;
&lt;br /&gt;
large scrolled content&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
MY FOOTER STATIC&#039;;&lt;br /&gt;
&lt;br /&gt;
==06.09.2020==&lt;br /&gt;
&lt;br /&gt;
===Глобальный тег выравнивания (при виде плиткой) - по умолчанию по центру===&lt;br /&gt;
$_PL[&amp;quot;align&amp;quot;]=&amp;quot;left&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Новый вид элемента position=html Свой шаблон для элемента любого вида===&lt;br /&gt;
&lt;br /&gt;
===Новый тег элемента template (сработает при position=html)===&lt;br /&gt;
[[Файл:Координаты.png|мини]]&lt;br /&gt;
Обязательно наличие template с переменными $title и $logo_30x30 - вместо них будет подставлено значение из $_CH[&amp;quot;title&amp;quot;] и $_CH[&amp;quot;logo_30x30 &amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&amp;quot;width:242px;overflow:hidden;margin:4px;text-align:center;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;width:242px;height:171px;padding:2px 2px 0px 2px;&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
===Новый тег элемента coordination (нужно при template своего размера, для правильной навигации по странице)===&lt;br /&gt;
$_CH[&amp;quot;coordination&amp;quot;]=[x,y];&lt;br /&gt;
&lt;br /&gt;
Где x это позиция по горизонтали, y - по вертикали&lt;br /&gt;
&lt;br /&gt;
Начальный элемент идет с $_CH[&amp;quot;coordination&amp;quot;]=[0,0];&lt;br /&gt;
&lt;br /&gt;
Если следующий элемент идет например на новой строке то нужно ему присвоить $_CH[&amp;quot;coordination&amp;quot;]=[1,0];&lt;br /&gt;
&lt;br /&gt;
==14.06.2020==&lt;br /&gt;
[[Файл:SetIP.png|мини]]&lt;br /&gt;
&lt;br /&gt;
===Локальные переменные LOCAL_IP, TORRSERVE_IP, ACE_IP===&lt;br /&gt;
Прописываются пользователем форкплеера в настройках приложения.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Если не указан TORRSERVE_IP или ACE_IP&#039;&#039;&#039; то вместо них будет вставлен LOCAL_IP (устройство с ремотефорком)&lt;br /&gt;
&lt;br /&gt;
Если не указан также и LOCAL_IP то вместо них будет вставлен локальный IP 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
===Примеры TORRSERVE_IP, ACE_IP в торрент magnet ссылках вашего портала===&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;(magnet) &#039;&#039;&#039;acestream&#039;&#039;&#039; &amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://ACE_IP:6878/server/api?method=get_media_files&amp;amp;magnet=&amp;lt;/nowiki&amp;gt;&amp;quot;.urlencode(&amp;quot;&amp;lt;nowiki&amp;gt;magnet:?xt=urn:btih:642a36ec9dcb2c5ba7b08835bd04ae8738281bb1&amp;amp;dn=rutor.org_%D0%A1%D1%82%D0%B0%D1%80%D0%B8%D0%BA+%D0%B2+%D0%BF%D0%BE%D1%82%D1%91%D1%80%D1%82%D0%BE%D0%B9+%D1%88%D0%B8%D0%BD%D0%B5%D0%BB%D0%B8+%281964%29+SATRip-AVC+%D0%BE%D1%82+New-Team&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=retracker.local/announce&amp;lt;/nowiki&amp;gt;&amp;quot;)];&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;(magnet) &#039;&#039;&#039;torrserve&#039;&#039;&#039; &amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://TORRSERVE_IP:8090/torrent/play?m3u=true&amp;amp;link=&amp;lt;/nowiki&amp;gt;&amp;quot;.urlencode(&amp;quot;&amp;lt;nowiki&amp;gt;magnet:?xt=urn:btih:642a36ec9dcb2c5ba7b08835bd04ae8738281bb1&amp;amp;dn=rutor.org_%D0%A1%D1%82%D0%B0%D1%80%D0%B8%D0%BA+%D0%B2+%D0%BF%D0%BE%D1%82%D1%91%D1%80%D1%82%D0%BE%D0%B9+%D1%88%D0%B8%D0%BD%D0%B5%D0%BB%D0%B8+%281964%29+SATRip-AVC+%D0%BE%D1%82+New-Team&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=retracker.local/announce&amp;lt;/nowiki&amp;gt;&amp;quot;)];&lt;br /&gt;
&lt;br /&gt;
===Пример торрент магнет ссылки с автоматическим выбором torrserve или ace stream сервера===&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;(magnet) через ace stream или torrserve&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;magnet:?xt=urn:btih:642a36ec9dcb2c5ba7b08835bd04ae8738281bb1&amp;amp;dn=rutor.org_%D0%A1%D1%82%D0%B0%D1%80%D0%B8%D0%BA+%D0%B2+%D0%BF%D0%BE%D1%82%D1%91%D1%80%D1%82%D0%BE%D0%B9+%D1%88%D0%B8%D0%BD%D0%B5%D0%BB%D0%B8+%281964%29+SATRip-AVC+%D0%BE%D1%82+New-Team&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=retracker.local/announce&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==11.04.2020==&lt;br /&gt;
&lt;br /&gt;
===Теги after и before - свой html код после и перед элементом списка===&lt;br /&gt;
$_CH[&amp;quot;before&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст перед элементом&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;after&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст после элемента&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Тег url_tvg в FXML странице  - своя телепрограмма===&lt;br /&gt;
Поддерживается только формат xmltv (сжатый и нет)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;url_tvg&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://epg.it999.ru/edem.xml.gz&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Параметр url-tvg в M3U плейлисте  - своя телепрограмма===&lt;br /&gt;
Поддерживается только формат xmltv (сжатый и нет)&lt;br /&gt;
&lt;br /&gt;
Начало плейлиста делаем таким&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;EXTM3U url-tvg=&amp;quot;&amp;lt;nowiki&amp;gt;http://epg.it999.ru/edem.xml.gz&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==07.03.2020==&lt;br /&gt;
&lt;br /&gt;
===Тег subtitles - субтитры===&lt;br /&gt;
$_CH[&amp;quot;subtitles&amp;quot;][0]=[&amp;quot;UA&amp;quot;,&amp;quot;&amp;lt;nowiki&amp;gt;https://tortuga.wtf/player/subtitle/18625_ua.vtt&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;subtitles&amp;quot;][1]=[&amp;quot;EN&amp;quot;,&amp;quot;&amp;lt;nowiki&amp;gt;https://tortuga.wtf/player/subtitle/18625_en.vtt&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;subtitles&amp;quot;][2]=[&amp;quot;RU&amp;quot;,&amp;quot;&amp;lt;nowiki&amp;gt;https://tortuga.wtf/player/subtitle/18625_ru.vtt&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==04.02.2020==&lt;br /&gt;
&lt;br /&gt;
===Добавлена поддержка ссылок Яндекс диска.===&lt;br /&gt;
Ссылка должна быть в поле stream_url или в m3u плейлисте в формате https://yadi.sk/i/idfile&lt;br /&gt;
&lt;br /&gt;
==28.11.2019==&lt;br /&gt;
[[Файл:Position.png|мини]]&lt;br /&gt;
&lt;br /&gt;
===Тег position===&lt;br /&gt;
Тег указывает как позиционировать элемент списка на экране с видом &amp;quot;start&amp;quot;&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;; // При другом виде страницы не сработает&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;fulleditline&amp;quot;; //- Поле ввода текста шириной почти на всю страницу&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;hlist&amp;quot;; // - горизонтальная ссылка (может быть несколько на одном горизонтальном уровне)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;list&amp;quot;; // -обычный вид списка шириной в половину экрана и с  description справа&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;label&amp;quot;; // -невысокая строка на всю ширину экрана&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;bigtile&amp;quot;; // - Плитка увеличенной в 2 раза высоты (128х215px)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;&amp;quot;; // - Плитка обычного размера как в Стартовом меню (128х101px)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==14.11.2019==&lt;br /&gt;
&lt;br /&gt;
===Тег элемента списка location (Переадресация)===&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=1; // Переход c заменой текущей ссылки окна на новую (при перезапуске форкплеера будет открываться уже с этой новой ссылки)&lt;br /&gt;
Тот&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=3; // Переход с отображением в текущем окне (при перезапуске форкплеера будет открываться старая ссылка и опять переадресовываться, необходимо если например используются устаревающие сессии)&lt;br /&gt;
&lt;br /&gt;
==08.11.2019==&lt;br /&gt;
&lt;br /&gt;
===[[Подключение архива]] телепередач в iptv плейлисте m3u===&lt;br /&gt;
&lt;br /&gt;
==06.10.2019==&lt;br /&gt;
&lt;br /&gt;
===Разные качества в stream_url===&lt;br /&gt;
Пример на PHP&lt;br /&gt;
&lt;br /&gt;
$QualLinks=[&amp;quot;2040&amp;quot;=&amp;gt;[&amp;quot;url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://file_com/q1&amp;lt;/nowiki&amp;gt;&amp;quot;],&amp;quot;1080&amp;quot;=&amp;gt;[&amp;quot;url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://file_com/q2&amp;lt;/nowiki&amp;gt;&amp;quot;],&amp;quot;720&amp;quot;=&amp;gt;[&amp;quot;url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://file_com/q3&amp;lt;/nowiki&amp;gt;&amp;quot;] ];&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;stream_url&amp;quot;]=json_encode($QualLinks);&lt;br /&gt;
&lt;br /&gt;
В результате должна быть строка в формате JSON вида&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;stream_url&amp;quot;]=&#039;{&amp;quot;480&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://hls-c2&amp;lt;/nowiki&amp;gt;&amp;quot;},&amp;quot;720&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://hls-c1&amp;lt;/nowiki&amp;gt;&amp;quot;},&amp;quot;1080&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://hls-c0&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;}}&#039;;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==12.09.2019==&lt;br /&gt;
&lt;br /&gt;
===Автообновление страницы через заданное время (в секундах)===&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;reload(3);&amp;quot;; - где 3 это три секунды&lt;br /&gt;
&lt;br /&gt;
[[Файл:[[Медиа:Пример.jpg]]&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Вставьте сюда текст, который не нужно форматировать&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
== Вставьте сюда текст, который не нужно форматировать ==&lt;br /&gt;
[[[http://www.example.com заголовок ссылки]]&#039;&#039;&#039;&#039;&#039;Курсивное начертание&#039;&#039;&#039;&#039;&#039;]&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;]]==29.08.2019==&lt;br /&gt;
&lt;br /&gt;
===Добавлены тип ссылки Iframe.===&lt;br /&gt;
На место элемента списка вставляется содержимое из ссылки. Использовать можно например для поиска по очереди по нескольким плейлистам (Глобальный поиск).&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Поиск Terminator в filmix.red&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;https://filmix.red/fork/search?search=Terminator&amp;lt;/nowiki&amp;gt;&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;iframe&amp;quot;=&amp;gt;&amp;quot;4&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;timeout&amp;quot;=&amp;gt;8&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
Где &amp;quot;iframe&amp;quot; обязательный параметр. Число обозначает сколько показать ссылок из дочерней ссылки сразу, остальное будет внизу списка. &amp;quot;iframe&amp;quot;=&amp;gt;&amp;quot;0&amp;quot; - значит показать все.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;timeout&amp;quot; это таймаут ожиданния получения содержимого из дочерней ссылки&lt;br /&gt;
&lt;br /&gt;
===Глобальный поиск перенесен на spiderxml.com===&lt;br /&gt;
поиск идет через Iframe, в подсказках подбираются кроме ранее вводимых значений еще и история&lt;br /&gt;
&lt;br /&gt;
==19.06.2019==&lt;br /&gt;
&lt;br /&gt;
===Восстановление предыдущего виртуального идентификатора (мак адреса)===&lt;br /&gt;
Если у вас сменился виртуальный мак адрес ( например при сбросе тв к заводским или прочих сбоях памяти тв), то его можно восстановить войдя в аккаунт в ForkPlayer / Мой аккаунт / Настройки / Восстановить идентификатор ( мак адрес)&lt;br /&gt;
&lt;br /&gt;
Такая возможность доступна только если вы ранее уже входили в аккаунт и не вышли с него!&lt;br /&gt;
&lt;br /&gt;
==11.06.2019==&lt;br /&gt;
&lt;br /&gt;
===Новая переменная box_user в GET запросах===&lt;br /&gt;
Если в ForkPlayer войти в аккаунт (Меню/Настройки/Мой аккаунт) то в переменной $_GET[&amp;quot;box_user&amp;quot;] будет передаваться ваш емайл, если например открывать портал &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://nserv.host/&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
То ForkPlayer отправит запрос c такими идентификаторами&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;http://nserv.host/?box_mac=&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;your_mac_addres&#039;&#039;&#039;&amp;amp;box_user=&#039;&#039;&#039;your_forkplayer_tv@email&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==04.06.2019==&lt;br /&gt;
&lt;br /&gt;
===Изменения внешнего вида поисковых полей, клавиатуры===&lt;br /&gt;
&lt;br /&gt;
===Изменен формат Истории===&lt;br /&gt;
&lt;br /&gt;
==16.05.2019==&lt;br /&gt;
&lt;br /&gt;
===JWplayer добавлен тип плеера===&lt;br /&gt;
В настройках форкплеера добавлен тип плеера JW Player [https://jwplayer.com], он построен на базе HTML5 потому поддерживается только на устройствах где работает HTML5 плеер (все новые тв Tizen, webOS, Android)&lt;br /&gt;
&lt;br /&gt;
Рекомендуется для HLS предусматривающего поддержку адаптивного битрейта (например moonwalk, kinopub) чтобы работал режим автоматического качества&lt;br /&gt;
&lt;br /&gt;
==14.05.2019==&lt;br /&gt;
&lt;br /&gt;
===Отправка на сервер событий видеоплеера при старте и остановке видео===&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;hidden&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Video&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;http://...&amp;quot;,&amp;quot;event&amp;quot;=&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[&amp;quot;onstartvideo&amp;quot;=&amp;gt;&amp;quot;$siteurl/?event=onstartvideo&amp;amp;videoid=1&amp;quot;,&amp;quot;onstopvideo&amp;quot;=&amp;gt;&amp;quot;$siteurl/?event=onstopvideo&amp;amp;curTime=[curTime]&amp;amp;totalTime=[totalTime]&amp;amp;videoid=1&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
[curTime] и [totalTime] заменяются на время остановки и общее время видео в секундах&lt;br /&gt;
&lt;br /&gt;
===Предлагать пользователю начать просмотр видео с определенного времени===&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;hidden&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Video&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;http://...&amp;quot;,&amp;quot;start_time&amp;quot;=&amp;gt;340]&lt;br /&gt;
&lt;br /&gt;
start_time - время в секундах (предлагается в плеере на кнопке Play только если пользователь ранее не смотрел это видео, иначе ему нужно сначала отметить видео не просмотренным в Меню / Отметить непросмотренным)&lt;br /&gt;
&lt;br /&gt;
==13.05.2019==&lt;br /&gt;
&lt;br /&gt;
===Поддержка плейлистов с плеера hdgo (ссылки на плеер вида [https://vio.to/video/playlist/16778/ https://vio.to/video/playlist/])===&lt;br /&gt;
&lt;br /&gt;
==01.05.2019==&lt;br /&gt;
&lt;br /&gt;
====Обработка в полях playlist_url AddFavorite(); и AddFavorite(title,logo,url); и AddSearch(title,logo,url)====&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;none&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Добавить этот портал в закладки / стартовое меню&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;AddFavorite(Кинопаб,&amp;lt;nowiki&amp;gt;https://kino.pub/images/logo.png,http://195.88.208.101/kinopub/&amp;lt;/nowiki&amp;gt;);&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;none&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Добавить этот портал в Глобальный поиск&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;AddSearch(Кинопаб,&amp;lt;nowiki&amp;gt;https://kino.pub/images/logo.png,http://195.88.208.101/kinopub/?cat=search&amp;lt;/nowiki&amp;gt;);&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
(пример всей странички на PHP на примере [https://github.com/alexkdpu/kino.pub_forkplayerPHP/blob/master/index.php Кинопаб]   )&lt;br /&gt;
&lt;br /&gt;
==29.04.2019==&lt;br /&gt;
&lt;br /&gt;
====В YouTube реализовано проигрывание похожих видео при окончании одного.====&lt;br /&gt;
[[В]] своем плейлисте реализация такая (на PHP)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
$PLAYLIST=[];&lt;br /&gt;
&lt;br /&gt;
$PLAYLIST[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Похожее видео которое запустится по окончании основного 1&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=http://www.youtube.com/watch?v=ZNLZla2xHUQ&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$PLAYLIST[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Похожее видео которое запустится по окончании основного 2&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=http://www.youtube.com/watch?v=ZNLZla2xHUQ&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Основное видео&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=xhFCmwrSxCU&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist&amp;quot;=&amp;gt;$PLAYLIST];&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;channels&amp;quot;]=$_CH;&lt;br /&gt;
&lt;br /&gt;
print json_encode($_PL);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=CHANGELOG&amp;diff=1974</id>
		<title>CHANGELOG</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=CHANGELOG&amp;diff=1974"/>
		<updated>2024-12-27T21:14:04Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* vast */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;История изменений в Fork browser в порядке убывания&lt;br /&gt;
==27.12.2024==&lt;br /&gt;
===Добавлен глобальный тег advertising для показа рекламы перед запуском видео===&lt;br /&gt;
===Видеоролик===&lt;br /&gt;
 $_PL[&amp;quot;advertising&amp;quot;]=[&amp;quot;client&amp;quot;=&amp;gt;&amp;quot;video&amp;quot;,&lt;br /&gt;
    &amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Реклама&amp;quot;,// Надпись внизу с названием или описанием обьявления&lt;br /&gt;
    &amp;quot;skip&amp;quot;=&amp;gt;3,//Добавьте skip в секундах когда можно будет нажать кнопку пропуск&lt;br /&gt;
    &amp;quot;tag&amp;quot;=&amp;gt;&amp;quot;https://mlb2.adriver.ru/mf/0008908/0008908282/0/720_480.mp4&amp;quot;&lt;br /&gt;
 ];&lt;br /&gt;
&lt;br /&gt;
===vast===&lt;br /&gt;
 $_PL[&amp;quot;advertising&amp;quot;]=[&amp;quot;client&amp;quot;=&amp;gt;&amp;quot;vast&amp;quot;,&lt;br /&gt;
    &amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Реклама&amp;quot;,&lt;br /&gt;
    &amp;quot;tag&amp;quot;=&amp;gt;&amp;quot;https://raw.githubusercontent.com/InteractiveAdvertisingBureau/VAST_Samples/master/VAST%203.0%20Samples/Inline_Companion_Tag-test.xml&amp;quot; &lt;br /&gt;
 ];&lt;br /&gt;
В настройках форка для тестирования включите Ads: always&lt;br /&gt;
&lt;br /&gt;
==14.12.2024==&lt;br /&gt;
[[Файл:Aside menu.png|мини|Пример бокового меню Fork]]&lt;br /&gt;
===Добавлен глобальный тег aside для вывода бокового меню===&lt;br /&gt;
$_PL[&amp;quot;aside&amp;quot;][&amp;quot;channels&amp;quot;][]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Home&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://site.com/&amp;quot;,&amp;quot;style&amp;quot;=&amp;gt;&amp;quot;color:blue;&amp;quot;,&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;https://static.vecteezy.com/system/resources/thumbnails/022/013/913/small/home-icon-illustration-image-vector.jpg&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;aside&amp;quot;][&amp;quot;channels&amp;quot;][]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Category 1&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://site.com/cat1&amp;quot;,&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;https://static.vecteezy.com/system/resources/thumbnails/022/013/913/small/home-icon-illustration-image-vector.jpg&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
Изменить стили бокового меню по умолчанию:&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;].=&amp;quot;.aside_default{margin:5px 0px;padding: 4px;border-radius: 8px;border: 2px solid transparent;}&lt;br /&gt;
&lt;br /&gt;
	.aside_selected{margin:5px 0px;padding: 4px;border-radius: 8px;border: 2px solid #5590e7;}&lt;br /&gt;
&lt;br /&gt;
	.aside_hide{width:30px;background:none;}&lt;br /&gt;
&lt;br /&gt;
	.aside_show{width:auto;background-color:rgba(0, 0, 0, 0.8);}&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
==13.05.2024==&lt;br /&gt;
===Добавлен глобальный тег ping для выполнения действий когда они станут доступны===&lt;br /&gt;
&lt;br /&gt;
Например в Fork browser можно отслеживать введение кода с телефона и загружать автоматически страницу&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;ping&amp;quot;][&amp;quot;link&amp;quot;]=&amp;quot;http://example.com/check.php?hash&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Если check.php отдает пустой ответ то Fork продолжает проверять страницу каждые 6сек.&lt;br /&gt;
&lt;br /&gt;
Если check.php отдает страницу с &amp;quot;channels&amp;quot; то загружается она&lt;br /&gt;
&lt;br /&gt;
(например $_PL[&amp;quot;channels&amp;quot;]=[[&amp;quot;location&amp;quot;=&amp;gt;1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Успешно вошли! Нажмите для переадресации...&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://example.com/&amp;quot;]];&lt;br /&gt;
&lt;br /&gt;
==25.02.2024==&lt;br /&gt;
===Добавлены дополнительные теги для видеоплеера===&lt;br /&gt;
Нужны для того чтобы на по разному выдавать информацию на сайте и видеоплеере&lt;br /&gt;
Например&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало 1 сезон 1 серия&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;;&lt;br /&gt;
[[Файл:Halo.png|мини|Вид экрана плеера]]&lt;br /&gt;
Плеер сначала ищет в первом теге, если он пустой то берет со второго, общего тега&lt;br /&gt;
&lt;br /&gt;
====Картинка в видеоплеере слева внизу====&lt;br /&gt;
$_CH[&amp;quot;poster&amp;quot;]=&amp;quot;http://example.com/videoposter.png&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
если он будет пустой то берет отсюда:&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo30x30&amp;quot;]=&amp;quot;http://example.com/videoposter.png&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====Название отображаемое над полосой прогреса====&lt;br /&gt;
$_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
если он будет пустой то берет отсюда:&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====Информация более мелким шрифтом под прогресом====&lt;br /&gt;
$_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
если он будет пустой то берет отсюда:&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
==15.09.2023==&lt;br /&gt;
===Добавлена поддержка css файлов===&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==24.08.2023==&lt;br /&gt;
Изменения для страниц типа $_PL[typeList]=html&lt;br /&gt;
===Добавлена горизонтальная прокрутка элементов списка===&lt;br /&gt;
&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/FXML#.D0.93.D0.BE.D1.80.D0.B8.D0.B7.D0.BE.D0.BD.D1.82.D0.B0.D0.BB.D1.8C.D0.BD.D0.B0.D1.8F_.D0.BF.D1.80.D0.BE.D0.BA.D1.80.D1.83.D1.82.D0.BA.D0.B0 Тег nowrap подробнее]&lt;br /&gt;
&lt;br /&gt;
===Перенос на новую строку теперь через тег $_CH[br]=1===&lt;br /&gt;
&lt;br /&gt;
===По умолчанию страницы теперь во весь экран===&lt;br /&gt;
Панель инструментов с адресной строкой вверху Fork браузера теперь автоматически скрываются, это позволяет делать порталы более информативными&lt;br /&gt;
&lt;br /&gt;
==03.07.2021==&lt;br /&gt;
&lt;br /&gt;
===Параметры ссылок добавлением # в конец ссылки===&lt;br /&gt;
&lt;br /&gt;
====#direct - если сайт требует чистой ссылки без каких либо добавлений====&lt;br /&gt;
например &amp;lt;nowiki&amp;gt;http://pastebin.com/yuUtYu56g#direct&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ссылка будет открываться в чистом виде &amp;lt;nowiki&amp;gt;http://pastebin.com/yuUtYu56g&amp;lt;/nowiki&amp;gt; без отправки параметров (обычно форкплеер добавляет к ссылке ваши параметры, кукис и идентификатор)&lt;br /&gt;
&lt;br /&gt;
====#stream_url открывать в плеере====&lt;br /&gt;
Ссылка откроется в видеоплеере&lt;br /&gt;
&lt;br /&gt;
==17.02.2021==&lt;br /&gt;
&lt;br /&gt;
===Выпадающий список (тег элемента - menu)===&lt;br /&gt;
[[Файл:Меню.png|мини|Пример выпадающего списка]]&lt;br /&gt;
Задается аналогично вложенным спискам только с тегом menu&lt;br /&gt;
&lt;br /&gt;
Пример выбора сезона на PHP&lt;br /&gt;
&lt;br /&gt;
$menu=[];&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Сезон 2&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; // Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Сезон 3&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; // Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Сезон 1 - нажмите для выбора сезона&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;menu&amp;quot;,&amp;quot;menu&amp;quot;=&amp;gt;$menu];&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==12.12.2020==&lt;br /&gt;
&lt;br /&gt;
===Прокрутка части большого описания кнопками переключения каналов (PG_UP, PG_DOWN)===&lt;br /&gt;
Добавьте в описание div с id &#039;&#039;scrolled&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&#039;MY TITLE STATIC&amp;lt;nowiki&amp;gt;&amp;lt;div id=&amp;quot;scrolled&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
PG_UP PG_DOWN &lt;br /&gt;
&lt;br /&gt;
large scrolled content&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
MY FOOTER STATIC&#039;;&lt;br /&gt;
&lt;br /&gt;
==06.09.2020==&lt;br /&gt;
&lt;br /&gt;
===Глобальный тег выравнивания (при виде плиткой) - по умолчанию по центру===&lt;br /&gt;
$_PL[&amp;quot;align&amp;quot;]=&amp;quot;left&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Новый вид элемента position=html Свой шаблон для элемента любого вида===&lt;br /&gt;
&lt;br /&gt;
===Новый тег элемента template (сработает при position=html)===&lt;br /&gt;
[[Файл:Координаты.png|мини]]&lt;br /&gt;
Обязательно наличие template с переменными $title и $logo_30x30 - вместо них будет подставлено значение из $_CH[&amp;quot;title&amp;quot;] и $_CH[&amp;quot;logo_30x30 &amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&amp;quot;width:242px;overflow:hidden;margin:4px;text-align:center;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;width:242px;height:171px;padding:2px 2px 0px 2px;&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
===Новый тег элемента coordination (нужно при template своего размера, для правильной навигации по странице)===&lt;br /&gt;
$_CH[&amp;quot;coordination&amp;quot;]=[x,y];&lt;br /&gt;
&lt;br /&gt;
Где x это позиция по горизонтали, y - по вертикали&lt;br /&gt;
&lt;br /&gt;
Начальный элемент идет с $_CH[&amp;quot;coordination&amp;quot;]=[0,0];&lt;br /&gt;
&lt;br /&gt;
Если следующий элемент идет например на новой строке то нужно ему присвоить $_CH[&amp;quot;coordination&amp;quot;]=[1,0];&lt;br /&gt;
&lt;br /&gt;
==14.06.2020==&lt;br /&gt;
[[Файл:SetIP.png|мини]]&lt;br /&gt;
&lt;br /&gt;
===Локальные переменные LOCAL_IP, TORRSERVE_IP, ACE_IP===&lt;br /&gt;
Прописываются пользователем форкплеера в настройках приложения.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Если не указан TORRSERVE_IP или ACE_IP&#039;&#039;&#039; то вместо них будет вставлен LOCAL_IP (устройство с ремотефорком)&lt;br /&gt;
&lt;br /&gt;
Если не указан также и LOCAL_IP то вместо них будет вставлен локальный IP 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
===Примеры TORRSERVE_IP, ACE_IP в торрент magnet ссылках вашего портала===&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;(magnet) &#039;&#039;&#039;acestream&#039;&#039;&#039; &amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://ACE_IP:6878/server/api?method=get_media_files&amp;amp;magnet=&amp;lt;/nowiki&amp;gt;&amp;quot;.urlencode(&amp;quot;&amp;lt;nowiki&amp;gt;magnet:?xt=urn:btih:642a36ec9dcb2c5ba7b08835bd04ae8738281bb1&amp;amp;dn=rutor.org_%D0%A1%D1%82%D0%B0%D1%80%D0%B8%D0%BA+%D0%B2+%D0%BF%D0%BE%D1%82%D1%91%D1%80%D1%82%D0%BE%D0%B9+%D1%88%D0%B8%D0%BD%D0%B5%D0%BB%D0%B8+%281964%29+SATRip-AVC+%D0%BE%D1%82+New-Team&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=retracker.local/announce&amp;lt;/nowiki&amp;gt;&amp;quot;)];&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;(magnet) &#039;&#039;&#039;torrserve&#039;&#039;&#039; &amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://TORRSERVE_IP:8090/torrent/play?m3u=true&amp;amp;link=&amp;lt;/nowiki&amp;gt;&amp;quot;.urlencode(&amp;quot;&amp;lt;nowiki&amp;gt;magnet:?xt=urn:btih:642a36ec9dcb2c5ba7b08835bd04ae8738281bb1&amp;amp;dn=rutor.org_%D0%A1%D1%82%D0%B0%D1%80%D0%B8%D0%BA+%D0%B2+%D0%BF%D0%BE%D1%82%D1%91%D1%80%D1%82%D0%BE%D0%B9+%D1%88%D0%B8%D0%BD%D0%B5%D0%BB%D0%B8+%281964%29+SATRip-AVC+%D0%BE%D1%82+New-Team&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=retracker.local/announce&amp;lt;/nowiki&amp;gt;&amp;quot;)];&lt;br /&gt;
&lt;br /&gt;
===Пример торрент магнет ссылки с автоматическим выбором torrserve или ace stream сервера===&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;(magnet) через ace stream или torrserve&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;magnet:?xt=urn:btih:642a36ec9dcb2c5ba7b08835bd04ae8738281bb1&amp;amp;dn=rutor.org_%D0%A1%D1%82%D0%B0%D1%80%D0%B8%D0%BA+%D0%B2+%D0%BF%D0%BE%D1%82%D1%91%D1%80%D1%82%D0%BE%D0%B9+%D1%88%D0%B8%D0%BD%D0%B5%D0%BB%D0%B8+%281964%29+SATRip-AVC+%D0%BE%D1%82+New-Team&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=retracker.local/announce&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==11.04.2020==&lt;br /&gt;
&lt;br /&gt;
===Теги after и before - свой html код после и перед элементом списка===&lt;br /&gt;
$_CH[&amp;quot;before&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст перед элементом&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;after&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст после элемента&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Тег url_tvg в FXML странице  - своя телепрограмма===&lt;br /&gt;
Поддерживается только формат xmltv (сжатый и нет)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;url_tvg&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://epg.it999.ru/edem.xml.gz&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Параметр url-tvg в M3U плейлисте  - своя телепрограмма===&lt;br /&gt;
Поддерживается только формат xmltv (сжатый и нет)&lt;br /&gt;
&lt;br /&gt;
Начало плейлиста делаем таким&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;EXTM3U url-tvg=&amp;quot;&amp;lt;nowiki&amp;gt;http://epg.it999.ru/edem.xml.gz&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==07.03.2020==&lt;br /&gt;
&lt;br /&gt;
===Тег subtitles - субтитры===&lt;br /&gt;
$_CH[&amp;quot;subtitles&amp;quot;][0]=[&amp;quot;UA&amp;quot;,&amp;quot;&amp;lt;nowiki&amp;gt;https://tortuga.wtf/player/subtitle/18625_ua.vtt&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;subtitles&amp;quot;][1]=[&amp;quot;EN&amp;quot;,&amp;quot;&amp;lt;nowiki&amp;gt;https://tortuga.wtf/player/subtitle/18625_en.vtt&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;subtitles&amp;quot;][2]=[&amp;quot;RU&amp;quot;,&amp;quot;&amp;lt;nowiki&amp;gt;https://tortuga.wtf/player/subtitle/18625_ru.vtt&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==04.02.2020==&lt;br /&gt;
&lt;br /&gt;
===Добавлена поддержка ссылок Яндекс диска.===&lt;br /&gt;
Ссылка должна быть в поле stream_url или в m3u плейлисте в формате https://yadi.sk/i/idfile&lt;br /&gt;
&lt;br /&gt;
==28.11.2019==&lt;br /&gt;
[[Файл:Position.png|мини]]&lt;br /&gt;
&lt;br /&gt;
===Тег position===&lt;br /&gt;
Тег указывает как позиционировать элемент списка на экране с видом &amp;quot;start&amp;quot;&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;; // При другом виде страницы не сработает&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;fulleditline&amp;quot;; //- Поле ввода текста шириной почти на всю страницу&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;hlist&amp;quot;; // - горизонтальная ссылка (может быть несколько на одном горизонтальном уровне)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;list&amp;quot;; // -обычный вид списка шириной в половину экрана и с  description справа&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;label&amp;quot;; // -невысокая строка на всю ширину экрана&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;bigtile&amp;quot;; // - Плитка увеличенной в 2 раза высоты (128х215px)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;&amp;quot;; // - Плитка обычного размера как в Стартовом меню (128х101px)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==14.11.2019==&lt;br /&gt;
&lt;br /&gt;
===Тег элемента списка location (Переадресация)===&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=1; // Переход c заменой текущей ссылки окна на новую (при перезапуске форкплеера будет открываться уже с этой новой ссылки)&lt;br /&gt;
Тот&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=3; // Переход с отображением в текущем окне (при перезапуске форкплеера будет открываться старая ссылка и опять переадресовываться, необходимо если например используются устаревающие сессии)&lt;br /&gt;
&lt;br /&gt;
==08.11.2019==&lt;br /&gt;
&lt;br /&gt;
===[[Подключение архива]] телепередач в iptv плейлисте m3u===&lt;br /&gt;
&lt;br /&gt;
==06.10.2019==&lt;br /&gt;
&lt;br /&gt;
===Разные качества в stream_url===&lt;br /&gt;
Пример на PHP&lt;br /&gt;
&lt;br /&gt;
$QualLinks=[&amp;quot;2040&amp;quot;=&amp;gt;[&amp;quot;url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://file_com/q1&amp;lt;/nowiki&amp;gt;&amp;quot;],&amp;quot;1080&amp;quot;=&amp;gt;[&amp;quot;url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://file_com/q2&amp;lt;/nowiki&amp;gt;&amp;quot;],&amp;quot;720&amp;quot;=&amp;gt;[&amp;quot;url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://file_com/q3&amp;lt;/nowiki&amp;gt;&amp;quot;] ];&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;stream_url&amp;quot;]=json_encode($QualLinks);&lt;br /&gt;
&lt;br /&gt;
В результате должна быть строка в формате JSON вида&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;stream_url&amp;quot;]=&#039;{&amp;quot;480&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://hls-c2&amp;lt;/nowiki&amp;gt;&amp;quot;},&amp;quot;720&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://hls-c1&amp;lt;/nowiki&amp;gt;&amp;quot;},&amp;quot;1080&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://hls-c0&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;}}&#039;;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==12.09.2019==&lt;br /&gt;
&lt;br /&gt;
===Автообновление страницы через заданное время (в секундах)===&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;reload(3);&amp;quot;; - где 3 это три секунды&lt;br /&gt;
&lt;br /&gt;
[[Файл:[[Медиа:Пример.jpg]]&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Вставьте сюда текст, который не нужно форматировать&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
== Вставьте сюда текст, который не нужно форматировать ==&lt;br /&gt;
[[[http://www.example.com заголовок ссылки]]&#039;&#039;&#039;&#039;&#039;Курсивное начертание&#039;&#039;&#039;&#039;&#039;]&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;]]==29.08.2019==&lt;br /&gt;
&lt;br /&gt;
===Добавлены тип ссылки Iframe.===&lt;br /&gt;
На место элемента списка вставляется содержимое из ссылки. Использовать можно например для поиска по очереди по нескольким плейлистам (Глобальный поиск).&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Поиск Terminator в filmix.red&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;https://filmix.red/fork/search?search=Terminator&amp;lt;/nowiki&amp;gt;&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;iframe&amp;quot;=&amp;gt;&amp;quot;4&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;timeout&amp;quot;=&amp;gt;8&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
Где &amp;quot;iframe&amp;quot; обязательный параметр. Число обозначает сколько показать ссылок из дочерней ссылки сразу, остальное будет внизу списка. &amp;quot;iframe&amp;quot;=&amp;gt;&amp;quot;0&amp;quot; - значит показать все.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;timeout&amp;quot; это таймаут ожиданния получения содержимого из дочерней ссылки&lt;br /&gt;
&lt;br /&gt;
===Глобальный поиск перенесен на spiderxml.com===&lt;br /&gt;
поиск идет через Iframe, в подсказках подбираются кроме ранее вводимых значений еще и история&lt;br /&gt;
&lt;br /&gt;
==19.06.2019==&lt;br /&gt;
&lt;br /&gt;
===Восстановление предыдущего виртуального идентификатора (мак адреса)===&lt;br /&gt;
Если у вас сменился виртуальный мак адрес ( например при сбросе тв к заводским или прочих сбоях памяти тв), то его можно восстановить войдя в аккаунт в ForkPlayer / Мой аккаунт / Настройки / Восстановить идентификатор ( мак адрес)&lt;br /&gt;
&lt;br /&gt;
Такая возможность доступна только если вы ранее уже входили в аккаунт и не вышли с него!&lt;br /&gt;
&lt;br /&gt;
==11.06.2019==&lt;br /&gt;
&lt;br /&gt;
===Новая переменная box_user в GET запросах===&lt;br /&gt;
Если в ForkPlayer войти в аккаунт (Меню/Настройки/Мой аккаунт) то в переменной $_GET[&amp;quot;box_user&amp;quot;] будет передаваться ваш емайл, если например открывать портал &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://nserv.host/&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
То ForkPlayer отправит запрос c такими идентификаторами&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;http://nserv.host/?box_mac=&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;your_mac_addres&#039;&#039;&#039;&amp;amp;box_user=&#039;&#039;&#039;your_forkplayer_tv@email&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==04.06.2019==&lt;br /&gt;
&lt;br /&gt;
===Изменения внешнего вида поисковых полей, клавиатуры===&lt;br /&gt;
&lt;br /&gt;
===Изменен формат Истории===&lt;br /&gt;
&lt;br /&gt;
==16.05.2019==&lt;br /&gt;
&lt;br /&gt;
===JWplayer добавлен тип плеера===&lt;br /&gt;
В настройках форкплеера добавлен тип плеера JW Player [https://jwplayer.com], он построен на базе HTML5 потому поддерживается только на устройствах где работает HTML5 плеер (все новые тв Tizen, webOS, Android)&lt;br /&gt;
&lt;br /&gt;
Рекомендуется для HLS предусматривающего поддержку адаптивного битрейта (например moonwalk, kinopub) чтобы работал режим автоматического качества&lt;br /&gt;
&lt;br /&gt;
==14.05.2019==&lt;br /&gt;
&lt;br /&gt;
===Отправка на сервер событий видеоплеера при старте и остановке видео===&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;hidden&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Video&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;http://...&amp;quot;,&amp;quot;event&amp;quot;=&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[&amp;quot;onstartvideo&amp;quot;=&amp;gt;&amp;quot;$siteurl/?event=onstartvideo&amp;amp;videoid=1&amp;quot;,&amp;quot;onstopvideo&amp;quot;=&amp;gt;&amp;quot;$siteurl/?event=onstopvideo&amp;amp;curTime=[curTime]&amp;amp;totalTime=[totalTime]&amp;amp;videoid=1&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
[curTime] и [totalTime] заменяются на время остановки и общее время видео в секундах&lt;br /&gt;
&lt;br /&gt;
===Предлагать пользователю начать просмотр видео с определенного времени===&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;hidden&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Video&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;http://...&amp;quot;,&amp;quot;start_time&amp;quot;=&amp;gt;340]&lt;br /&gt;
&lt;br /&gt;
start_time - время в секундах (предлагается в плеере на кнопке Play только если пользователь ранее не смотрел это видео, иначе ему нужно сначала отметить видео не просмотренным в Меню / Отметить непросмотренным)&lt;br /&gt;
&lt;br /&gt;
==13.05.2019==&lt;br /&gt;
&lt;br /&gt;
===Поддержка плейлистов с плеера hdgo (ссылки на плеер вида [https://vio.to/video/playlist/16778/ https://vio.to/video/playlist/])===&lt;br /&gt;
&lt;br /&gt;
==01.05.2019==&lt;br /&gt;
&lt;br /&gt;
====Обработка в полях playlist_url AddFavorite(); и AddFavorite(title,logo,url); и AddSearch(title,logo,url)====&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;none&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Добавить этот портал в закладки / стартовое меню&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;AddFavorite(Кинопаб,&amp;lt;nowiki&amp;gt;https://kino.pub/images/logo.png,http://195.88.208.101/kinopub/&amp;lt;/nowiki&amp;gt;);&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;none&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Добавить этот портал в Глобальный поиск&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;AddSearch(Кинопаб,&amp;lt;nowiki&amp;gt;https://kino.pub/images/logo.png,http://195.88.208.101/kinopub/?cat=search&amp;lt;/nowiki&amp;gt;);&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
(пример всей странички на PHP на примере [https://github.com/alexkdpu/kino.pub_forkplayerPHP/blob/master/index.php Кинопаб]   )&lt;br /&gt;
&lt;br /&gt;
==29.04.2019==&lt;br /&gt;
&lt;br /&gt;
====В YouTube реализовано проигрывание похожих видео при окончании одного.====&lt;br /&gt;
[[В]] своем плейлисте реализация такая (на PHP)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
$PLAYLIST=[];&lt;br /&gt;
&lt;br /&gt;
$PLAYLIST[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Похожее видео которое запустится по окончании основного 1&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=http://www.youtube.com/watch?v=ZNLZla2xHUQ&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$PLAYLIST[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Похожее видео которое запустится по окончании основного 2&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=http://www.youtube.com/watch?v=ZNLZla2xHUQ&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Основное видео&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=xhFCmwrSxCU&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist&amp;quot;=&amp;gt;$PLAYLIST];&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;channels&amp;quot;]=$_CH;&lt;br /&gt;
&lt;br /&gt;
print json_encode($_PL);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=CHANGELOG&amp;diff=1973</id>
		<title>CHANGELOG</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=CHANGELOG&amp;diff=1973"/>
		<updated>2024-12-27T21:13:50Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* Видеоролик */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;История изменений в Fork browser в порядке убывания&lt;br /&gt;
==27.12.2024==&lt;br /&gt;
===Добавлен глобальный тег advertising для показа рекламы перед запуском видео===&lt;br /&gt;
===Видеоролик===&lt;br /&gt;
 $_PL[&amp;quot;advertising&amp;quot;]=[&amp;quot;client&amp;quot;=&amp;gt;&amp;quot;video&amp;quot;,&lt;br /&gt;
    &amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Реклама&amp;quot;,// Надпись внизу с названием или описанием обьявления&lt;br /&gt;
    &amp;quot;skip&amp;quot;=&amp;gt;3,//Добавьте skip в секундах когда можно будет нажать кнопку пропуск&lt;br /&gt;
    &amp;quot;tag&amp;quot;=&amp;gt;&amp;quot;https://mlb2.adriver.ru/mf/0008908/0008908282/0/720_480.mp4&amp;quot;&lt;br /&gt;
 ];&lt;br /&gt;
&lt;br /&gt;
===vast===&lt;br /&gt;
$_PL[&amp;quot;advertising&amp;quot;]=[&amp;quot;client&amp;quot;=&amp;gt;&amp;quot;vast&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Реклама&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;tag&amp;quot;=&amp;gt;&amp;quot;https://raw.githubusercontent.com/InteractiveAdvertisingBureau/VAST_Samples/master/VAST%203.0%20Samples/Inline_Companion_Tag-test.xml&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
  ];&lt;br /&gt;
В настройках форка для тестирования включите Ads: always&lt;br /&gt;
&lt;br /&gt;
==14.12.2024==&lt;br /&gt;
[[Файл:Aside menu.png|мини|Пример бокового меню Fork]]&lt;br /&gt;
===Добавлен глобальный тег aside для вывода бокового меню===&lt;br /&gt;
$_PL[&amp;quot;aside&amp;quot;][&amp;quot;channels&amp;quot;][]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Home&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://site.com/&amp;quot;,&amp;quot;style&amp;quot;=&amp;gt;&amp;quot;color:blue;&amp;quot;,&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;https://static.vecteezy.com/system/resources/thumbnails/022/013/913/small/home-icon-illustration-image-vector.jpg&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;aside&amp;quot;][&amp;quot;channels&amp;quot;][]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Category 1&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://site.com/cat1&amp;quot;,&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;https://static.vecteezy.com/system/resources/thumbnails/022/013/913/small/home-icon-illustration-image-vector.jpg&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
Изменить стили бокового меню по умолчанию:&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;].=&amp;quot;.aside_default{margin:5px 0px;padding: 4px;border-radius: 8px;border: 2px solid transparent;}&lt;br /&gt;
&lt;br /&gt;
	.aside_selected{margin:5px 0px;padding: 4px;border-radius: 8px;border: 2px solid #5590e7;}&lt;br /&gt;
&lt;br /&gt;
	.aside_hide{width:30px;background:none;}&lt;br /&gt;
&lt;br /&gt;
	.aside_show{width:auto;background-color:rgba(0, 0, 0, 0.8);}&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
==13.05.2024==&lt;br /&gt;
===Добавлен глобальный тег ping для выполнения действий когда они станут доступны===&lt;br /&gt;
&lt;br /&gt;
Например в Fork browser можно отслеживать введение кода с телефона и загружать автоматически страницу&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;ping&amp;quot;][&amp;quot;link&amp;quot;]=&amp;quot;http://example.com/check.php?hash&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Если check.php отдает пустой ответ то Fork продолжает проверять страницу каждые 6сек.&lt;br /&gt;
&lt;br /&gt;
Если check.php отдает страницу с &amp;quot;channels&amp;quot; то загружается она&lt;br /&gt;
&lt;br /&gt;
(например $_PL[&amp;quot;channels&amp;quot;]=[[&amp;quot;location&amp;quot;=&amp;gt;1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Успешно вошли! Нажмите для переадресации...&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://example.com/&amp;quot;]];&lt;br /&gt;
&lt;br /&gt;
==25.02.2024==&lt;br /&gt;
===Добавлены дополнительные теги для видеоплеера===&lt;br /&gt;
Нужны для того чтобы на по разному выдавать информацию на сайте и видеоплеере&lt;br /&gt;
Например&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало 1 сезон 1 серия&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;;&lt;br /&gt;
[[Файл:Halo.png|мини|Вид экрана плеера]]&lt;br /&gt;
Плеер сначала ищет в первом теге, если он пустой то берет со второго, общего тега&lt;br /&gt;
&lt;br /&gt;
====Картинка в видеоплеере слева внизу====&lt;br /&gt;
$_CH[&amp;quot;poster&amp;quot;]=&amp;quot;http://example.com/videoposter.png&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
если он будет пустой то берет отсюда:&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo30x30&amp;quot;]=&amp;quot;http://example.com/videoposter.png&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====Название отображаемое над полосой прогреса====&lt;br /&gt;
$_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
если он будет пустой то берет отсюда:&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====Информация более мелким шрифтом под прогресом====&lt;br /&gt;
$_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
если он будет пустой то берет отсюда:&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
==15.09.2023==&lt;br /&gt;
===Добавлена поддержка css файлов===&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==24.08.2023==&lt;br /&gt;
Изменения для страниц типа $_PL[typeList]=html&lt;br /&gt;
===Добавлена горизонтальная прокрутка элементов списка===&lt;br /&gt;
&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/FXML#.D0.93.D0.BE.D1.80.D0.B8.D0.B7.D0.BE.D0.BD.D1.82.D0.B0.D0.BB.D1.8C.D0.BD.D0.B0.D1.8F_.D0.BF.D1.80.D0.BE.D0.BA.D1.80.D1.83.D1.82.D0.BA.D0.B0 Тег nowrap подробнее]&lt;br /&gt;
&lt;br /&gt;
===Перенос на новую строку теперь через тег $_CH[br]=1===&lt;br /&gt;
&lt;br /&gt;
===По умолчанию страницы теперь во весь экран===&lt;br /&gt;
Панель инструментов с адресной строкой вверху Fork браузера теперь автоматически скрываются, это позволяет делать порталы более информативными&lt;br /&gt;
&lt;br /&gt;
==03.07.2021==&lt;br /&gt;
&lt;br /&gt;
===Параметры ссылок добавлением # в конец ссылки===&lt;br /&gt;
&lt;br /&gt;
====#direct - если сайт требует чистой ссылки без каких либо добавлений====&lt;br /&gt;
например &amp;lt;nowiki&amp;gt;http://pastebin.com/yuUtYu56g#direct&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ссылка будет открываться в чистом виде &amp;lt;nowiki&amp;gt;http://pastebin.com/yuUtYu56g&amp;lt;/nowiki&amp;gt; без отправки параметров (обычно форкплеер добавляет к ссылке ваши параметры, кукис и идентификатор)&lt;br /&gt;
&lt;br /&gt;
====#stream_url открывать в плеере====&lt;br /&gt;
Ссылка откроется в видеоплеере&lt;br /&gt;
&lt;br /&gt;
==17.02.2021==&lt;br /&gt;
&lt;br /&gt;
===Выпадающий список (тег элемента - menu)===&lt;br /&gt;
[[Файл:Меню.png|мини|Пример выпадающего списка]]&lt;br /&gt;
Задается аналогично вложенным спискам только с тегом menu&lt;br /&gt;
&lt;br /&gt;
Пример выбора сезона на PHP&lt;br /&gt;
&lt;br /&gt;
$menu=[];&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Сезон 2&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; // Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Сезон 3&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; // Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Сезон 1 - нажмите для выбора сезона&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;menu&amp;quot;,&amp;quot;menu&amp;quot;=&amp;gt;$menu];&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==12.12.2020==&lt;br /&gt;
&lt;br /&gt;
===Прокрутка части большого описания кнопками переключения каналов (PG_UP, PG_DOWN)===&lt;br /&gt;
Добавьте в описание div с id &#039;&#039;scrolled&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&#039;MY TITLE STATIC&amp;lt;nowiki&amp;gt;&amp;lt;div id=&amp;quot;scrolled&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
PG_UP PG_DOWN &lt;br /&gt;
&lt;br /&gt;
large scrolled content&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
MY FOOTER STATIC&#039;;&lt;br /&gt;
&lt;br /&gt;
==06.09.2020==&lt;br /&gt;
&lt;br /&gt;
===Глобальный тег выравнивания (при виде плиткой) - по умолчанию по центру===&lt;br /&gt;
$_PL[&amp;quot;align&amp;quot;]=&amp;quot;left&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Новый вид элемента position=html Свой шаблон для элемента любого вида===&lt;br /&gt;
&lt;br /&gt;
===Новый тег элемента template (сработает при position=html)===&lt;br /&gt;
[[Файл:Координаты.png|мини]]&lt;br /&gt;
Обязательно наличие template с переменными $title и $logo_30x30 - вместо них будет подставлено значение из $_CH[&amp;quot;title&amp;quot;] и $_CH[&amp;quot;logo_30x30 &amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&amp;quot;width:242px;overflow:hidden;margin:4px;text-align:center;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;width:242px;height:171px;padding:2px 2px 0px 2px;&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
===Новый тег элемента coordination (нужно при template своего размера, для правильной навигации по странице)===&lt;br /&gt;
$_CH[&amp;quot;coordination&amp;quot;]=[x,y];&lt;br /&gt;
&lt;br /&gt;
Где x это позиция по горизонтали, y - по вертикали&lt;br /&gt;
&lt;br /&gt;
Начальный элемент идет с $_CH[&amp;quot;coordination&amp;quot;]=[0,0];&lt;br /&gt;
&lt;br /&gt;
Если следующий элемент идет например на новой строке то нужно ему присвоить $_CH[&amp;quot;coordination&amp;quot;]=[1,0];&lt;br /&gt;
&lt;br /&gt;
==14.06.2020==&lt;br /&gt;
[[Файл:SetIP.png|мини]]&lt;br /&gt;
&lt;br /&gt;
===Локальные переменные LOCAL_IP, TORRSERVE_IP, ACE_IP===&lt;br /&gt;
Прописываются пользователем форкплеера в настройках приложения.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Если не указан TORRSERVE_IP или ACE_IP&#039;&#039;&#039; то вместо них будет вставлен LOCAL_IP (устройство с ремотефорком)&lt;br /&gt;
&lt;br /&gt;
Если не указан также и LOCAL_IP то вместо них будет вставлен локальный IP 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
===Примеры TORRSERVE_IP, ACE_IP в торрент magnet ссылках вашего портала===&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;(magnet) &#039;&#039;&#039;acestream&#039;&#039;&#039; &amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://ACE_IP:6878/server/api?method=get_media_files&amp;amp;magnet=&amp;lt;/nowiki&amp;gt;&amp;quot;.urlencode(&amp;quot;&amp;lt;nowiki&amp;gt;magnet:?xt=urn:btih:642a36ec9dcb2c5ba7b08835bd04ae8738281bb1&amp;amp;dn=rutor.org_%D0%A1%D1%82%D0%B0%D1%80%D0%B8%D0%BA+%D0%B2+%D0%BF%D0%BE%D1%82%D1%91%D1%80%D1%82%D0%BE%D0%B9+%D1%88%D0%B8%D0%BD%D0%B5%D0%BB%D0%B8+%281964%29+SATRip-AVC+%D0%BE%D1%82+New-Team&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=retracker.local/announce&amp;lt;/nowiki&amp;gt;&amp;quot;)];&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;(magnet) &#039;&#039;&#039;torrserve&#039;&#039;&#039; &amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://TORRSERVE_IP:8090/torrent/play?m3u=true&amp;amp;link=&amp;lt;/nowiki&amp;gt;&amp;quot;.urlencode(&amp;quot;&amp;lt;nowiki&amp;gt;magnet:?xt=urn:btih:642a36ec9dcb2c5ba7b08835bd04ae8738281bb1&amp;amp;dn=rutor.org_%D0%A1%D1%82%D0%B0%D1%80%D0%B8%D0%BA+%D0%B2+%D0%BF%D0%BE%D1%82%D1%91%D1%80%D1%82%D0%BE%D0%B9+%D1%88%D0%B8%D0%BD%D0%B5%D0%BB%D0%B8+%281964%29+SATRip-AVC+%D0%BE%D1%82+New-Team&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=retracker.local/announce&amp;lt;/nowiki&amp;gt;&amp;quot;)];&lt;br /&gt;
&lt;br /&gt;
===Пример торрент магнет ссылки с автоматическим выбором torrserve или ace stream сервера===&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;(magnet) через ace stream или torrserve&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;magnet:?xt=urn:btih:642a36ec9dcb2c5ba7b08835bd04ae8738281bb1&amp;amp;dn=rutor.org_%D0%A1%D1%82%D0%B0%D1%80%D0%B8%D0%BA+%D0%B2+%D0%BF%D0%BE%D1%82%D1%91%D1%80%D1%82%D0%BE%D0%B9+%D1%88%D0%B8%D0%BD%D0%B5%D0%BB%D0%B8+%281964%29+SATRip-AVC+%D0%BE%D1%82+New-Team&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=retracker.local/announce&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==11.04.2020==&lt;br /&gt;
&lt;br /&gt;
===Теги after и before - свой html код после и перед элементом списка===&lt;br /&gt;
$_CH[&amp;quot;before&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст перед элементом&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;after&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст после элемента&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Тег url_tvg в FXML странице  - своя телепрограмма===&lt;br /&gt;
Поддерживается только формат xmltv (сжатый и нет)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;url_tvg&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://epg.it999.ru/edem.xml.gz&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Параметр url-tvg в M3U плейлисте  - своя телепрограмма===&lt;br /&gt;
Поддерживается только формат xmltv (сжатый и нет)&lt;br /&gt;
&lt;br /&gt;
Начало плейлиста делаем таким&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;EXTM3U url-tvg=&amp;quot;&amp;lt;nowiki&amp;gt;http://epg.it999.ru/edem.xml.gz&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==07.03.2020==&lt;br /&gt;
&lt;br /&gt;
===Тег subtitles - субтитры===&lt;br /&gt;
$_CH[&amp;quot;subtitles&amp;quot;][0]=[&amp;quot;UA&amp;quot;,&amp;quot;&amp;lt;nowiki&amp;gt;https://tortuga.wtf/player/subtitle/18625_ua.vtt&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;subtitles&amp;quot;][1]=[&amp;quot;EN&amp;quot;,&amp;quot;&amp;lt;nowiki&amp;gt;https://tortuga.wtf/player/subtitle/18625_en.vtt&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;subtitles&amp;quot;][2]=[&amp;quot;RU&amp;quot;,&amp;quot;&amp;lt;nowiki&amp;gt;https://tortuga.wtf/player/subtitle/18625_ru.vtt&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==04.02.2020==&lt;br /&gt;
&lt;br /&gt;
===Добавлена поддержка ссылок Яндекс диска.===&lt;br /&gt;
Ссылка должна быть в поле stream_url или в m3u плейлисте в формате https://yadi.sk/i/idfile&lt;br /&gt;
&lt;br /&gt;
==28.11.2019==&lt;br /&gt;
[[Файл:Position.png|мини]]&lt;br /&gt;
&lt;br /&gt;
===Тег position===&lt;br /&gt;
Тег указывает как позиционировать элемент списка на экране с видом &amp;quot;start&amp;quot;&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;; // При другом виде страницы не сработает&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;fulleditline&amp;quot;; //- Поле ввода текста шириной почти на всю страницу&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;hlist&amp;quot;; // - горизонтальная ссылка (может быть несколько на одном горизонтальном уровне)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;list&amp;quot;; // -обычный вид списка шириной в половину экрана и с  description справа&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;label&amp;quot;; // -невысокая строка на всю ширину экрана&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;bigtile&amp;quot;; // - Плитка увеличенной в 2 раза высоты (128х215px)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;&amp;quot;; // - Плитка обычного размера как в Стартовом меню (128х101px)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==14.11.2019==&lt;br /&gt;
&lt;br /&gt;
===Тег элемента списка location (Переадресация)===&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=1; // Переход c заменой текущей ссылки окна на новую (при перезапуске форкплеера будет открываться уже с этой новой ссылки)&lt;br /&gt;
Тот&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=3; // Переход с отображением в текущем окне (при перезапуске форкплеера будет открываться старая ссылка и опять переадресовываться, необходимо если например используются устаревающие сессии)&lt;br /&gt;
&lt;br /&gt;
==08.11.2019==&lt;br /&gt;
&lt;br /&gt;
===[[Подключение архива]] телепередач в iptv плейлисте m3u===&lt;br /&gt;
&lt;br /&gt;
==06.10.2019==&lt;br /&gt;
&lt;br /&gt;
===Разные качества в stream_url===&lt;br /&gt;
Пример на PHP&lt;br /&gt;
&lt;br /&gt;
$QualLinks=[&amp;quot;2040&amp;quot;=&amp;gt;[&amp;quot;url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://file_com/q1&amp;lt;/nowiki&amp;gt;&amp;quot;],&amp;quot;1080&amp;quot;=&amp;gt;[&amp;quot;url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://file_com/q2&amp;lt;/nowiki&amp;gt;&amp;quot;],&amp;quot;720&amp;quot;=&amp;gt;[&amp;quot;url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://file_com/q3&amp;lt;/nowiki&amp;gt;&amp;quot;] ];&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;stream_url&amp;quot;]=json_encode($QualLinks);&lt;br /&gt;
&lt;br /&gt;
В результате должна быть строка в формате JSON вида&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;stream_url&amp;quot;]=&#039;{&amp;quot;480&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://hls-c2&amp;lt;/nowiki&amp;gt;&amp;quot;},&amp;quot;720&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://hls-c1&amp;lt;/nowiki&amp;gt;&amp;quot;},&amp;quot;1080&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://hls-c0&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;}}&#039;;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==12.09.2019==&lt;br /&gt;
&lt;br /&gt;
===Автообновление страницы через заданное время (в секундах)===&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;reload(3);&amp;quot;; - где 3 это три секунды&lt;br /&gt;
&lt;br /&gt;
[[Файл:[[Медиа:Пример.jpg]]&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Вставьте сюда текст, который не нужно форматировать&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
== Вставьте сюда текст, который не нужно форматировать ==&lt;br /&gt;
[[[http://www.example.com заголовок ссылки]]&#039;&#039;&#039;&#039;&#039;Курсивное начертание&#039;&#039;&#039;&#039;&#039;]&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;]]==29.08.2019==&lt;br /&gt;
&lt;br /&gt;
===Добавлены тип ссылки Iframe.===&lt;br /&gt;
На место элемента списка вставляется содержимое из ссылки. Использовать можно например для поиска по очереди по нескольким плейлистам (Глобальный поиск).&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Поиск Terminator в filmix.red&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;https://filmix.red/fork/search?search=Terminator&amp;lt;/nowiki&amp;gt;&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;iframe&amp;quot;=&amp;gt;&amp;quot;4&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;timeout&amp;quot;=&amp;gt;8&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
Где &amp;quot;iframe&amp;quot; обязательный параметр. Число обозначает сколько показать ссылок из дочерней ссылки сразу, остальное будет внизу списка. &amp;quot;iframe&amp;quot;=&amp;gt;&amp;quot;0&amp;quot; - значит показать все.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;timeout&amp;quot; это таймаут ожиданния получения содержимого из дочерней ссылки&lt;br /&gt;
&lt;br /&gt;
===Глобальный поиск перенесен на spiderxml.com===&lt;br /&gt;
поиск идет через Iframe, в подсказках подбираются кроме ранее вводимых значений еще и история&lt;br /&gt;
&lt;br /&gt;
==19.06.2019==&lt;br /&gt;
&lt;br /&gt;
===Восстановление предыдущего виртуального идентификатора (мак адреса)===&lt;br /&gt;
Если у вас сменился виртуальный мак адрес ( например при сбросе тв к заводским или прочих сбоях памяти тв), то его можно восстановить войдя в аккаунт в ForkPlayer / Мой аккаунт / Настройки / Восстановить идентификатор ( мак адрес)&lt;br /&gt;
&lt;br /&gt;
Такая возможность доступна только если вы ранее уже входили в аккаунт и не вышли с него!&lt;br /&gt;
&lt;br /&gt;
==11.06.2019==&lt;br /&gt;
&lt;br /&gt;
===Новая переменная box_user в GET запросах===&lt;br /&gt;
Если в ForkPlayer войти в аккаунт (Меню/Настройки/Мой аккаунт) то в переменной $_GET[&amp;quot;box_user&amp;quot;] будет передаваться ваш емайл, если например открывать портал &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://nserv.host/&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
То ForkPlayer отправит запрос c такими идентификаторами&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;http://nserv.host/?box_mac=&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;your_mac_addres&#039;&#039;&#039;&amp;amp;box_user=&#039;&#039;&#039;your_forkplayer_tv@email&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==04.06.2019==&lt;br /&gt;
&lt;br /&gt;
===Изменения внешнего вида поисковых полей, клавиатуры===&lt;br /&gt;
&lt;br /&gt;
===Изменен формат Истории===&lt;br /&gt;
&lt;br /&gt;
==16.05.2019==&lt;br /&gt;
&lt;br /&gt;
===JWplayer добавлен тип плеера===&lt;br /&gt;
В настройках форкплеера добавлен тип плеера JW Player [https://jwplayer.com], он построен на базе HTML5 потому поддерживается только на устройствах где работает HTML5 плеер (все новые тв Tizen, webOS, Android)&lt;br /&gt;
&lt;br /&gt;
Рекомендуется для HLS предусматривающего поддержку адаптивного битрейта (например moonwalk, kinopub) чтобы работал режим автоматического качества&lt;br /&gt;
&lt;br /&gt;
==14.05.2019==&lt;br /&gt;
&lt;br /&gt;
===Отправка на сервер событий видеоплеера при старте и остановке видео===&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;hidden&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Video&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;http://...&amp;quot;,&amp;quot;event&amp;quot;=&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[&amp;quot;onstartvideo&amp;quot;=&amp;gt;&amp;quot;$siteurl/?event=onstartvideo&amp;amp;videoid=1&amp;quot;,&amp;quot;onstopvideo&amp;quot;=&amp;gt;&amp;quot;$siteurl/?event=onstopvideo&amp;amp;curTime=[curTime]&amp;amp;totalTime=[totalTime]&amp;amp;videoid=1&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
[curTime] и [totalTime] заменяются на время остановки и общее время видео в секундах&lt;br /&gt;
&lt;br /&gt;
===Предлагать пользователю начать просмотр видео с определенного времени===&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;hidden&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Video&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;http://...&amp;quot;,&amp;quot;start_time&amp;quot;=&amp;gt;340]&lt;br /&gt;
&lt;br /&gt;
start_time - время в секундах (предлагается в плеере на кнопке Play только если пользователь ранее не смотрел это видео, иначе ему нужно сначала отметить видео не просмотренным в Меню / Отметить непросмотренным)&lt;br /&gt;
&lt;br /&gt;
==13.05.2019==&lt;br /&gt;
&lt;br /&gt;
===Поддержка плейлистов с плеера hdgo (ссылки на плеер вида [https://vio.to/video/playlist/16778/ https://vio.to/video/playlist/])===&lt;br /&gt;
&lt;br /&gt;
==01.05.2019==&lt;br /&gt;
&lt;br /&gt;
====Обработка в полях playlist_url AddFavorite(); и AddFavorite(title,logo,url); и AddSearch(title,logo,url)====&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;none&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Добавить этот портал в закладки / стартовое меню&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;AddFavorite(Кинопаб,&amp;lt;nowiki&amp;gt;https://kino.pub/images/logo.png,http://195.88.208.101/kinopub/&amp;lt;/nowiki&amp;gt;);&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;none&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Добавить этот портал в Глобальный поиск&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;AddSearch(Кинопаб,&amp;lt;nowiki&amp;gt;https://kino.pub/images/logo.png,http://195.88.208.101/kinopub/?cat=search&amp;lt;/nowiki&amp;gt;);&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
(пример всей странички на PHP на примере [https://github.com/alexkdpu/kino.pub_forkplayerPHP/blob/master/index.php Кинопаб]   )&lt;br /&gt;
&lt;br /&gt;
==29.04.2019==&lt;br /&gt;
&lt;br /&gt;
====В YouTube реализовано проигрывание похожих видео при окончании одного.====&lt;br /&gt;
[[В]] своем плейлисте реализация такая (на PHP)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
$PLAYLIST=[];&lt;br /&gt;
&lt;br /&gt;
$PLAYLIST[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Похожее видео которое запустится по окончании основного 1&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=http://www.youtube.com/watch?v=ZNLZla2xHUQ&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$PLAYLIST[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Похожее видео которое запустится по окончании основного 2&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=http://www.youtube.com/watch?v=ZNLZla2xHUQ&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Основное видео&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=xhFCmwrSxCU&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist&amp;quot;=&amp;gt;$PLAYLIST];&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;channels&amp;quot;]=$_CH;&lt;br /&gt;
&lt;br /&gt;
print json_encode($_PL);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=CHANGELOG&amp;diff=1972</id>
		<title>CHANGELOG</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=CHANGELOG&amp;diff=1972"/>
		<updated>2024-12-27T21:13:09Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* 14.12.2024 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;История изменений в Fork browser в порядке убывания&lt;br /&gt;
==27.12.2024==&lt;br /&gt;
===Добавлен глобальный тег advertising для показа рекламы перед запуском видео===&lt;br /&gt;
===Видеоролик===&lt;br /&gt;
$_PL[&amp;quot;advertising&amp;quot;]=[&amp;quot;client&amp;quot;=&amp;gt;&amp;quot;video&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Реклама&amp;quot;,// Надпись внизу с названием или описанием обьявления&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;skip&amp;quot;=&amp;gt;3,//Добавьте skip в секундах когда можно будет нажать кнопку пропуск&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;tag&amp;quot;=&amp;gt;&amp;quot;https://mlb2.adriver.ru/mf/0008908/0008908282/0/720_480.mp4&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  ];&lt;br /&gt;
===vast===&lt;br /&gt;
$_PL[&amp;quot;advertising&amp;quot;]=[&amp;quot;client&amp;quot;=&amp;gt;&amp;quot;vast&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Реклама&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;tag&amp;quot;=&amp;gt;&amp;quot;https://raw.githubusercontent.com/InteractiveAdvertisingBureau/VAST_Samples/master/VAST%203.0%20Samples/Inline_Companion_Tag-test.xml&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
  ];&lt;br /&gt;
В настройках форка для тестирования включите Ads: always&lt;br /&gt;
&lt;br /&gt;
==14.12.2024==&lt;br /&gt;
[[Файл:Aside menu.png|мини|Пример бокового меню Fork]]&lt;br /&gt;
===Добавлен глобальный тег aside для вывода бокового меню===&lt;br /&gt;
$_PL[&amp;quot;aside&amp;quot;][&amp;quot;channels&amp;quot;][]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Home&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://site.com/&amp;quot;,&amp;quot;style&amp;quot;=&amp;gt;&amp;quot;color:blue;&amp;quot;,&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;https://static.vecteezy.com/system/resources/thumbnails/022/013/913/small/home-icon-illustration-image-vector.jpg&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;aside&amp;quot;][&amp;quot;channels&amp;quot;][]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Category 1&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://site.com/cat1&amp;quot;,&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;https://static.vecteezy.com/system/resources/thumbnails/022/013/913/small/home-icon-illustration-image-vector.jpg&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
Изменить стили бокового меню по умолчанию:&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;].=&amp;quot;.aside_default{margin:5px 0px;padding: 4px;border-radius: 8px;border: 2px solid transparent;}&lt;br /&gt;
&lt;br /&gt;
	.aside_selected{margin:5px 0px;padding: 4px;border-radius: 8px;border: 2px solid #5590e7;}&lt;br /&gt;
&lt;br /&gt;
	.aside_hide{width:30px;background:none;}&lt;br /&gt;
&lt;br /&gt;
	.aside_show{width:auto;background-color:rgba(0, 0, 0, 0.8);}&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
==13.05.2024==&lt;br /&gt;
===Добавлен глобальный тег ping для выполнения действий когда они станут доступны===&lt;br /&gt;
&lt;br /&gt;
Например в Fork browser можно отслеживать введение кода с телефона и загружать автоматически страницу&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;ping&amp;quot;][&amp;quot;link&amp;quot;]=&amp;quot;http://example.com/check.php?hash&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Если check.php отдает пустой ответ то Fork продолжает проверять страницу каждые 6сек.&lt;br /&gt;
&lt;br /&gt;
Если check.php отдает страницу с &amp;quot;channels&amp;quot; то загружается она&lt;br /&gt;
&lt;br /&gt;
(например $_PL[&amp;quot;channels&amp;quot;]=[[&amp;quot;location&amp;quot;=&amp;gt;1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Успешно вошли! Нажмите для переадресации...&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://example.com/&amp;quot;]];&lt;br /&gt;
&lt;br /&gt;
==25.02.2024==&lt;br /&gt;
===Добавлены дополнительные теги для видеоплеера===&lt;br /&gt;
Нужны для того чтобы на по разному выдавать информацию на сайте и видеоплеере&lt;br /&gt;
Например&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало 1 сезон 1 серия&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;;&lt;br /&gt;
[[Файл:Halo.png|мини|Вид экрана плеера]]&lt;br /&gt;
Плеер сначала ищет в первом теге, если он пустой то берет со второго, общего тега&lt;br /&gt;
&lt;br /&gt;
====Картинка в видеоплеере слева внизу====&lt;br /&gt;
$_CH[&amp;quot;poster&amp;quot;]=&amp;quot;http://example.com/videoposter.png&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
если он будет пустой то берет отсюда:&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo30x30&amp;quot;]=&amp;quot;http://example.com/videoposter.png&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====Название отображаемое над полосой прогреса====&lt;br /&gt;
$_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
если он будет пустой то берет отсюда:&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====Информация более мелким шрифтом под прогресом====&lt;br /&gt;
$_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
если он будет пустой то берет отсюда:&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
==15.09.2023==&lt;br /&gt;
===Добавлена поддержка css файлов===&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==24.08.2023==&lt;br /&gt;
Изменения для страниц типа $_PL[typeList]=html&lt;br /&gt;
===Добавлена горизонтальная прокрутка элементов списка===&lt;br /&gt;
&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/FXML#.D0.93.D0.BE.D1.80.D0.B8.D0.B7.D0.BE.D0.BD.D1.82.D0.B0.D0.BB.D1.8C.D0.BD.D0.B0.D1.8F_.D0.BF.D1.80.D0.BE.D0.BA.D1.80.D1.83.D1.82.D0.BA.D0.B0 Тег nowrap подробнее]&lt;br /&gt;
&lt;br /&gt;
===Перенос на новую строку теперь через тег $_CH[br]=1===&lt;br /&gt;
&lt;br /&gt;
===По умолчанию страницы теперь во весь экран===&lt;br /&gt;
Панель инструментов с адресной строкой вверху Fork браузера теперь автоматически скрываются, это позволяет делать порталы более информативными&lt;br /&gt;
&lt;br /&gt;
==03.07.2021==&lt;br /&gt;
&lt;br /&gt;
===Параметры ссылок добавлением # в конец ссылки===&lt;br /&gt;
&lt;br /&gt;
====#direct - если сайт требует чистой ссылки без каких либо добавлений====&lt;br /&gt;
например &amp;lt;nowiki&amp;gt;http://pastebin.com/yuUtYu56g#direct&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ссылка будет открываться в чистом виде &amp;lt;nowiki&amp;gt;http://pastebin.com/yuUtYu56g&amp;lt;/nowiki&amp;gt; без отправки параметров (обычно форкплеер добавляет к ссылке ваши параметры, кукис и идентификатор)&lt;br /&gt;
&lt;br /&gt;
====#stream_url открывать в плеере====&lt;br /&gt;
Ссылка откроется в видеоплеере&lt;br /&gt;
&lt;br /&gt;
==17.02.2021==&lt;br /&gt;
&lt;br /&gt;
===Выпадающий список (тег элемента - menu)===&lt;br /&gt;
[[Файл:Меню.png|мини|Пример выпадающего списка]]&lt;br /&gt;
Задается аналогично вложенным спискам только с тегом menu&lt;br /&gt;
&lt;br /&gt;
Пример выбора сезона на PHP&lt;br /&gt;
&lt;br /&gt;
$menu=[];&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Сезон 2&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; // Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Сезон 3&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; // Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Сезон 1 - нажмите для выбора сезона&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;menu&amp;quot;,&amp;quot;menu&amp;quot;=&amp;gt;$menu];&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==12.12.2020==&lt;br /&gt;
&lt;br /&gt;
===Прокрутка части большого описания кнопками переключения каналов (PG_UP, PG_DOWN)===&lt;br /&gt;
Добавьте в описание div с id &#039;&#039;scrolled&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&#039;MY TITLE STATIC&amp;lt;nowiki&amp;gt;&amp;lt;div id=&amp;quot;scrolled&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
PG_UP PG_DOWN &lt;br /&gt;
&lt;br /&gt;
large scrolled content&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
MY FOOTER STATIC&#039;;&lt;br /&gt;
&lt;br /&gt;
==06.09.2020==&lt;br /&gt;
&lt;br /&gt;
===Глобальный тег выравнивания (при виде плиткой) - по умолчанию по центру===&lt;br /&gt;
$_PL[&amp;quot;align&amp;quot;]=&amp;quot;left&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Новый вид элемента position=html Свой шаблон для элемента любого вида===&lt;br /&gt;
&lt;br /&gt;
===Новый тег элемента template (сработает при position=html)===&lt;br /&gt;
[[Файл:Координаты.png|мини]]&lt;br /&gt;
Обязательно наличие template с переменными $title и $logo_30x30 - вместо них будет подставлено значение из $_CH[&amp;quot;title&amp;quot;] и $_CH[&amp;quot;logo_30x30 &amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&amp;quot;width:242px;overflow:hidden;margin:4px;text-align:center;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;width:242px;height:171px;padding:2px 2px 0px 2px;&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
===Новый тег элемента coordination (нужно при template своего размера, для правильной навигации по странице)===&lt;br /&gt;
$_CH[&amp;quot;coordination&amp;quot;]=[x,y];&lt;br /&gt;
&lt;br /&gt;
Где x это позиция по горизонтали, y - по вертикали&lt;br /&gt;
&lt;br /&gt;
Начальный элемент идет с $_CH[&amp;quot;coordination&amp;quot;]=[0,0];&lt;br /&gt;
&lt;br /&gt;
Если следующий элемент идет например на новой строке то нужно ему присвоить $_CH[&amp;quot;coordination&amp;quot;]=[1,0];&lt;br /&gt;
&lt;br /&gt;
==14.06.2020==&lt;br /&gt;
[[Файл:SetIP.png|мини]]&lt;br /&gt;
&lt;br /&gt;
===Локальные переменные LOCAL_IP, TORRSERVE_IP, ACE_IP===&lt;br /&gt;
Прописываются пользователем форкплеера в настройках приложения.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Если не указан TORRSERVE_IP или ACE_IP&#039;&#039;&#039; то вместо них будет вставлен LOCAL_IP (устройство с ремотефорком)&lt;br /&gt;
&lt;br /&gt;
Если не указан также и LOCAL_IP то вместо них будет вставлен локальный IP 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
===Примеры TORRSERVE_IP, ACE_IP в торрент magnet ссылках вашего портала===&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;(magnet) &#039;&#039;&#039;acestream&#039;&#039;&#039; &amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://ACE_IP:6878/server/api?method=get_media_files&amp;amp;magnet=&amp;lt;/nowiki&amp;gt;&amp;quot;.urlencode(&amp;quot;&amp;lt;nowiki&amp;gt;magnet:?xt=urn:btih:642a36ec9dcb2c5ba7b08835bd04ae8738281bb1&amp;amp;dn=rutor.org_%D0%A1%D1%82%D0%B0%D1%80%D0%B8%D0%BA+%D0%B2+%D0%BF%D0%BE%D1%82%D1%91%D1%80%D1%82%D0%BE%D0%B9+%D1%88%D0%B8%D0%BD%D0%B5%D0%BB%D0%B8+%281964%29+SATRip-AVC+%D0%BE%D1%82+New-Team&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=retracker.local/announce&amp;lt;/nowiki&amp;gt;&amp;quot;)];&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;(magnet) &#039;&#039;&#039;torrserve&#039;&#039;&#039; &amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://TORRSERVE_IP:8090/torrent/play?m3u=true&amp;amp;link=&amp;lt;/nowiki&amp;gt;&amp;quot;.urlencode(&amp;quot;&amp;lt;nowiki&amp;gt;magnet:?xt=urn:btih:642a36ec9dcb2c5ba7b08835bd04ae8738281bb1&amp;amp;dn=rutor.org_%D0%A1%D1%82%D0%B0%D1%80%D0%B8%D0%BA+%D0%B2+%D0%BF%D0%BE%D1%82%D1%91%D1%80%D1%82%D0%BE%D0%B9+%D1%88%D0%B8%D0%BD%D0%B5%D0%BB%D0%B8+%281964%29+SATRip-AVC+%D0%BE%D1%82+New-Team&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=retracker.local/announce&amp;lt;/nowiki&amp;gt;&amp;quot;)];&lt;br /&gt;
&lt;br /&gt;
===Пример торрент магнет ссылки с автоматическим выбором torrserve или ace stream сервера===&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;(magnet) через ace stream или torrserve&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;magnet:?xt=urn:btih:642a36ec9dcb2c5ba7b08835bd04ae8738281bb1&amp;amp;dn=rutor.org_%D0%A1%D1%82%D0%B0%D1%80%D0%B8%D0%BA+%D0%B2+%D0%BF%D0%BE%D1%82%D1%91%D1%80%D1%82%D0%BE%D0%B9+%D1%88%D0%B8%D0%BD%D0%B5%D0%BB%D0%B8+%281964%29+SATRip-AVC+%D0%BE%D1%82+New-Team&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=retracker.local/announce&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==11.04.2020==&lt;br /&gt;
&lt;br /&gt;
===Теги after и before - свой html код после и перед элементом списка===&lt;br /&gt;
$_CH[&amp;quot;before&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст перед элементом&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;after&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст после элемента&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Тег url_tvg в FXML странице  - своя телепрограмма===&lt;br /&gt;
Поддерживается только формат xmltv (сжатый и нет)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;url_tvg&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://epg.it999.ru/edem.xml.gz&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Параметр url-tvg в M3U плейлисте  - своя телепрограмма===&lt;br /&gt;
Поддерживается только формат xmltv (сжатый и нет)&lt;br /&gt;
&lt;br /&gt;
Начало плейлиста делаем таким&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;EXTM3U url-tvg=&amp;quot;&amp;lt;nowiki&amp;gt;http://epg.it999.ru/edem.xml.gz&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==07.03.2020==&lt;br /&gt;
&lt;br /&gt;
===Тег subtitles - субтитры===&lt;br /&gt;
$_CH[&amp;quot;subtitles&amp;quot;][0]=[&amp;quot;UA&amp;quot;,&amp;quot;&amp;lt;nowiki&amp;gt;https://tortuga.wtf/player/subtitle/18625_ua.vtt&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;subtitles&amp;quot;][1]=[&amp;quot;EN&amp;quot;,&amp;quot;&amp;lt;nowiki&amp;gt;https://tortuga.wtf/player/subtitle/18625_en.vtt&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;subtitles&amp;quot;][2]=[&amp;quot;RU&amp;quot;,&amp;quot;&amp;lt;nowiki&amp;gt;https://tortuga.wtf/player/subtitle/18625_ru.vtt&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==04.02.2020==&lt;br /&gt;
&lt;br /&gt;
===Добавлена поддержка ссылок Яндекс диска.===&lt;br /&gt;
Ссылка должна быть в поле stream_url или в m3u плейлисте в формате https://yadi.sk/i/idfile&lt;br /&gt;
&lt;br /&gt;
==28.11.2019==&lt;br /&gt;
[[Файл:Position.png|мини]]&lt;br /&gt;
&lt;br /&gt;
===Тег position===&lt;br /&gt;
Тег указывает как позиционировать элемент списка на экране с видом &amp;quot;start&amp;quot;&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;; // При другом виде страницы не сработает&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;fulleditline&amp;quot;; //- Поле ввода текста шириной почти на всю страницу&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;hlist&amp;quot;; // - горизонтальная ссылка (может быть несколько на одном горизонтальном уровне)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;list&amp;quot;; // -обычный вид списка шириной в половину экрана и с  description справа&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;label&amp;quot;; // -невысокая строка на всю ширину экрана&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;bigtile&amp;quot;; // - Плитка увеличенной в 2 раза высоты (128х215px)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;&amp;quot;; // - Плитка обычного размера как в Стартовом меню (128х101px)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==14.11.2019==&lt;br /&gt;
&lt;br /&gt;
===Тег элемента списка location (Переадресация)===&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=1; // Переход c заменой текущей ссылки окна на новую (при перезапуске форкплеера будет открываться уже с этой новой ссылки)&lt;br /&gt;
Тот&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=3; // Переход с отображением в текущем окне (при перезапуске форкплеера будет открываться старая ссылка и опять переадресовываться, необходимо если например используются устаревающие сессии)&lt;br /&gt;
&lt;br /&gt;
==08.11.2019==&lt;br /&gt;
&lt;br /&gt;
===[[Подключение архива]] телепередач в iptv плейлисте m3u===&lt;br /&gt;
&lt;br /&gt;
==06.10.2019==&lt;br /&gt;
&lt;br /&gt;
===Разные качества в stream_url===&lt;br /&gt;
Пример на PHP&lt;br /&gt;
&lt;br /&gt;
$QualLinks=[&amp;quot;2040&amp;quot;=&amp;gt;[&amp;quot;url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://file_com/q1&amp;lt;/nowiki&amp;gt;&amp;quot;],&amp;quot;1080&amp;quot;=&amp;gt;[&amp;quot;url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://file_com/q2&amp;lt;/nowiki&amp;gt;&amp;quot;],&amp;quot;720&amp;quot;=&amp;gt;[&amp;quot;url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://file_com/q3&amp;lt;/nowiki&amp;gt;&amp;quot;] ];&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;stream_url&amp;quot;]=json_encode($QualLinks);&lt;br /&gt;
&lt;br /&gt;
В результате должна быть строка в формате JSON вида&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;stream_url&amp;quot;]=&#039;{&amp;quot;480&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://hls-c2&amp;lt;/nowiki&amp;gt;&amp;quot;},&amp;quot;720&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://hls-c1&amp;lt;/nowiki&amp;gt;&amp;quot;},&amp;quot;1080&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://hls-c0&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;}}&#039;;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==12.09.2019==&lt;br /&gt;
&lt;br /&gt;
===Автообновление страницы через заданное время (в секундах)===&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;reload(3);&amp;quot;; - где 3 это три секунды&lt;br /&gt;
&lt;br /&gt;
[[Файл:[[Медиа:Пример.jpg]]&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Вставьте сюда текст, который не нужно форматировать&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
== Вставьте сюда текст, который не нужно форматировать ==&lt;br /&gt;
[[[http://www.example.com заголовок ссылки]]&#039;&#039;&#039;&#039;&#039;Курсивное начертание&#039;&#039;&#039;&#039;&#039;]&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;]]==29.08.2019==&lt;br /&gt;
&lt;br /&gt;
===Добавлены тип ссылки Iframe.===&lt;br /&gt;
На место элемента списка вставляется содержимое из ссылки. Использовать можно например для поиска по очереди по нескольким плейлистам (Глобальный поиск).&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Поиск Terminator в filmix.red&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;https://filmix.red/fork/search?search=Terminator&amp;lt;/nowiki&amp;gt;&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;iframe&amp;quot;=&amp;gt;&amp;quot;4&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;timeout&amp;quot;=&amp;gt;8&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
Где &amp;quot;iframe&amp;quot; обязательный параметр. Число обозначает сколько показать ссылок из дочерней ссылки сразу, остальное будет внизу списка. &amp;quot;iframe&amp;quot;=&amp;gt;&amp;quot;0&amp;quot; - значит показать все.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;timeout&amp;quot; это таймаут ожиданния получения содержимого из дочерней ссылки&lt;br /&gt;
&lt;br /&gt;
===Глобальный поиск перенесен на spiderxml.com===&lt;br /&gt;
поиск идет через Iframe, в подсказках подбираются кроме ранее вводимых значений еще и история&lt;br /&gt;
&lt;br /&gt;
==19.06.2019==&lt;br /&gt;
&lt;br /&gt;
===Восстановление предыдущего виртуального идентификатора (мак адреса)===&lt;br /&gt;
Если у вас сменился виртуальный мак адрес ( например при сбросе тв к заводским или прочих сбоях памяти тв), то его можно восстановить войдя в аккаунт в ForkPlayer / Мой аккаунт / Настройки / Восстановить идентификатор ( мак адрес)&lt;br /&gt;
&lt;br /&gt;
Такая возможность доступна только если вы ранее уже входили в аккаунт и не вышли с него!&lt;br /&gt;
&lt;br /&gt;
==11.06.2019==&lt;br /&gt;
&lt;br /&gt;
===Новая переменная box_user в GET запросах===&lt;br /&gt;
Если в ForkPlayer войти в аккаунт (Меню/Настройки/Мой аккаунт) то в переменной $_GET[&amp;quot;box_user&amp;quot;] будет передаваться ваш емайл, если например открывать портал &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://nserv.host/&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
То ForkPlayer отправит запрос c такими идентификаторами&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;http://nserv.host/?box_mac=&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;your_mac_addres&#039;&#039;&#039;&amp;amp;box_user=&#039;&#039;&#039;your_forkplayer_tv@email&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==04.06.2019==&lt;br /&gt;
&lt;br /&gt;
===Изменения внешнего вида поисковых полей, клавиатуры===&lt;br /&gt;
&lt;br /&gt;
===Изменен формат Истории===&lt;br /&gt;
&lt;br /&gt;
==16.05.2019==&lt;br /&gt;
&lt;br /&gt;
===JWplayer добавлен тип плеера===&lt;br /&gt;
В настройках форкплеера добавлен тип плеера JW Player [https://jwplayer.com], он построен на базе HTML5 потому поддерживается только на устройствах где работает HTML5 плеер (все новые тв Tizen, webOS, Android)&lt;br /&gt;
&lt;br /&gt;
Рекомендуется для HLS предусматривающего поддержку адаптивного битрейта (например moonwalk, kinopub) чтобы работал режим автоматического качества&lt;br /&gt;
&lt;br /&gt;
==14.05.2019==&lt;br /&gt;
&lt;br /&gt;
===Отправка на сервер событий видеоплеера при старте и остановке видео===&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;hidden&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Video&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;http://...&amp;quot;,&amp;quot;event&amp;quot;=&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[&amp;quot;onstartvideo&amp;quot;=&amp;gt;&amp;quot;$siteurl/?event=onstartvideo&amp;amp;videoid=1&amp;quot;,&amp;quot;onstopvideo&amp;quot;=&amp;gt;&amp;quot;$siteurl/?event=onstopvideo&amp;amp;curTime=[curTime]&amp;amp;totalTime=[totalTime]&amp;amp;videoid=1&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
[curTime] и [totalTime] заменяются на время остановки и общее время видео в секундах&lt;br /&gt;
&lt;br /&gt;
===Предлагать пользователю начать просмотр видео с определенного времени===&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;hidden&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Video&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;http://...&amp;quot;,&amp;quot;start_time&amp;quot;=&amp;gt;340]&lt;br /&gt;
&lt;br /&gt;
start_time - время в секундах (предлагается в плеере на кнопке Play только если пользователь ранее не смотрел это видео, иначе ему нужно сначала отметить видео не просмотренным в Меню / Отметить непросмотренным)&lt;br /&gt;
&lt;br /&gt;
==13.05.2019==&lt;br /&gt;
&lt;br /&gt;
===Поддержка плейлистов с плеера hdgo (ссылки на плеер вида [https://vio.to/video/playlist/16778/ https://vio.to/video/playlist/])===&lt;br /&gt;
&lt;br /&gt;
==01.05.2019==&lt;br /&gt;
&lt;br /&gt;
====Обработка в полях playlist_url AddFavorite(); и AddFavorite(title,logo,url); и AddSearch(title,logo,url)====&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;none&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Добавить этот портал в закладки / стартовое меню&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;AddFavorite(Кинопаб,&amp;lt;nowiki&amp;gt;https://kino.pub/images/logo.png,http://195.88.208.101/kinopub/&amp;lt;/nowiki&amp;gt;);&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;none&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Добавить этот портал в Глобальный поиск&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;AddSearch(Кинопаб,&amp;lt;nowiki&amp;gt;https://kino.pub/images/logo.png,http://195.88.208.101/kinopub/?cat=search&amp;lt;/nowiki&amp;gt;);&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
(пример всей странички на PHP на примере [https://github.com/alexkdpu/kino.pub_forkplayerPHP/blob/master/index.php Кинопаб]   )&lt;br /&gt;
&lt;br /&gt;
==29.04.2019==&lt;br /&gt;
&lt;br /&gt;
====В YouTube реализовано проигрывание похожих видео при окончании одного.====&lt;br /&gt;
[[В]] своем плейлисте реализация такая (на PHP)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
$PLAYLIST=[];&lt;br /&gt;
&lt;br /&gt;
$PLAYLIST[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Похожее видео которое запустится по окончании основного 1&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=http://www.youtube.com/watch?v=ZNLZla2xHUQ&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$PLAYLIST[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Похожее видео которое запустится по окончании основного 2&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=http://www.youtube.com/watch?v=ZNLZla2xHUQ&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Основное видео&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=xhFCmwrSxCU&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist&amp;quot;=&amp;gt;$PLAYLIST];&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;channels&amp;quot;]=$_CH;&lt;br /&gt;
&lt;br /&gt;
print json_encode($_PL);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1948</id>
		<title>FXML</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1948"/>
		<updated>2024-12-15T11:45:46Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* Глобальный тег aside для вывода бокового меню */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;FXML&#039;&#039;&#039; (Fork eXtensible Markup Language) - что такое==&lt;br /&gt;
Это язык разметки документов во Всемирной паутине.  Для навигации по таким страницам не требуется мышь или сенсорный экран. Язык &#039;&#039;&#039;FXML&#039;&#039;&#039; интерпретируется такими приложениями как ForkPlayer, OTT Player, OTT-play. Полученный в результате интерпретации форматированный текст отображается на экране телевизора. &lt;br /&gt;
&lt;br /&gt;
====Например, следующий код (должен быть валидным JSON):====&lt;br /&gt;
 {&amp;quot;title&amp;quot;:&amp;quot;COOLTV - портал нового поколения&amp;quot;,&amp;quot;background-image&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;typeList&amp;quot;:&amp;quot;start&amp;quot;,&amp;quot;icon&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool23.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;channels&amp;quot;:[{&amp;quot;title&amp;quot;:&amp;quot;Вход&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/profle22.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/auth&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Новости &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/rss-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/news&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Поиск &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-search-folder-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/search.php&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Кинозал &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/1icons8-film-reel-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;AceStream &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-wave-arrows-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/12&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Обменник &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-next-100.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/obmen/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Сервисы &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8s3-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/9&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;IPTV &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-hdtv-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/8&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Мультимедиа &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-documentary-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/7&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Чат &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-chat-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/guest&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;FAQ &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-info-popup-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/faq/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Копилка&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-bad-piggies-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/copilka&amp;lt;/nowiki&amp;gt;&amp;quot;}]}&lt;br /&gt;
даст такой результат (в ForkPlayer):&lt;br /&gt;
[[Файл:Cooltv.png|мини|600x600пкс|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Все допустимые команды можно посмотреть в исходном коде страниц &lt;br /&gt;
&lt;br /&gt;
https://github.com/vengo634/kino.pub_forkplayerPHP/blob/master/index.php&lt;br /&gt;
&lt;br /&gt;
====Смотреть Исходный код любой страницы можно непосредственно в ForkPlayer====&lt;br /&gt;
[[Файл:VmGe53a9.png|мини|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
и FXML CMS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FXMLbaseparser PHP класс упрощающий верстку кода для Fork browser ==&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/FXMLbaseparser FXMLbaseparser PHP класс]&lt;br /&gt;
&lt;br /&gt;
==Новые теги и команды FXML==&lt;br /&gt;
Новые спецификации FXML добавляются в CHANGELOG, рекомендуем смотреть нужные команды также и там.&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;ping&amp;quot;][&amp;quot;link&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало 1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;; $_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;poster&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/CHANGELOG CHANGELOG]&lt;br /&gt;
&lt;br /&gt;
==Глобальные теги==&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;start&amp;quot;; // Плиточный + другой(с использованием $_CH[&amp;quot;position&amp;quot;] ) виды страницы&lt;br /&gt;
&lt;br /&gt;
====Стили сайта по умолчанию====&lt;br /&gt;
По умолчанию для вашей страницы задаются такие стили (вы их можете изменить задав нужные в $_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:700px; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;Смотреть CSS стили по умолчанию&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button {&lt;br /&gt;
    background-color: #bbbbbb;&lt;br /&gt;
    display: block;&lt;br /&gt;
    border-style: solid;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:decrement {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: transparent transparent #555555;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:increment {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: #555555 transparent transparent transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar {&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-track {&lt;br /&gt;
    background: #ddd;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb {&lt;br /&gt;
    background: #888;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb:hover {&lt;br /&gt;
    background: #777;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    ;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    margin-left: 4px;&lt;br /&gt;
    margin-top: 1px;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .rating {&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    display: none;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    height: 23px;&lt;br /&gt;
    width: 28px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    padding-left: 5px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .icon {&lt;br /&gt;
    padding: 2px 2px 0px 2px;&lt;br /&gt;
    height: 76%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .name {&lt;br /&gt;
    font-size: 17px;&lt;br /&gt;
    line-height: 0.9;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    bottom: 0px;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    max-height: 50%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .title {&lt;br /&gt;
    background: rgba(0, 0, 0, 0.65);&lt;br /&gt;
    border-radius: 3px;&lt;br /&gt;
    width: auto;&lt;br /&gt;
    display: display: inline-block;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    padding: 1px 4px 4px 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .side_icon {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list {&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px 0px 0px 4px;&lt;br /&gt;
    cursor: default;&lt;br /&gt;
    margin: 2px 0px;&lt;br /&gt;
    width: 48.87708333333334%;&lt;br /&gt;
    height: 35px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .contmenu {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    float: right;&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .numb {&lt;br /&gt;
    float: left;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
    font-size: 60%;&lt;br /&gt;
    min-width: 38px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .icon {&lt;br /&gt;
    margin: 0px 2px;&lt;br /&gt;
    padding-right: 2px;&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .title {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    float: left;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listsearch {&lt;br /&gt;
    background-color: #ddd;&lt;br /&gt;
    color: #333;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    padding: 3px;&lt;br /&gt;
    margin-top: 2px;&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
    width: 90%;&lt;br /&gt;
    height: 68%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolinktitle {&lt;br /&gt;
    height: 63%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolink {&lt;br /&gt;
    padding-left: 3px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default .contmenu {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected .contmenu {&lt;br /&gt;
    display: block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.html {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px solid transparent;&lt;br /&gt;
    margin: 0px 4px;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    max-width: 310px;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
    padding: 0px 4px;&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 28px;&lt;br /&gt;
    text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline {&lt;br /&gt;
    border: 1px solid transparent;&lt;br /&gt;
    width: 80%;&lt;br /&gt;
    margin: 1px 9%;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    font-size: 24px;&lt;br /&gt;
    height: 24px;&lt;br /&gt;
    margin: 3px;&lt;br /&gt;
    color: #2b2525;&lt;br /&gt;
    background-color: #eee;&lt;br /&gt;
    padding: 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .icon {&lt;br /&gt;
    float: right;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    margin: -2px 4%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    width: 92%;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    height: 26px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 20px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default {&lt;br /&gt;
    background: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected {&lt;br /&gt;
    background: rgba(180, 180, 180, 0.7);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listselected {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.site {&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    font-size: 27px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    color: rgb(238, 238, 238);&lt;br /&gt;
    margin: 0px;&lt;br /&gt;
    padding: 0px;&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    background-color: transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
small {&lt;br /&gt;
    font-size: 70%;&lt;br /&gt;
    color: gray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.buttons {&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    top: 80%;&lt;br /&gt;
    left: 50%;&lt;br /&gt;
    width: 47%;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    color: #cccccc;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
}&lt;br /&gt;
\#description {&lt;br /&gt;
    top: 0px;&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    font-size: 28px;&lt;br /&gt;
    left: 51%;&lt;br /&gt;
    width: 47.2%;&lt;br /&gt;
    word-break: break-word;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Пример своего стиля (пишите чистый css, он будет преобразован в одну строку)===&lt;br /&gt;
&lt;br /&gt;
===Если строка стилей очень большая, их лучше вынести в отдельный css файл===&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
====#content - стиль страницы (без description)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
====#rightHalf- стиль description====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;#content {font-size:25px;}  #rightHalf{font-size:10 px;} &amp;quot;; // Установим размер шрифта сайта и описания&lt;br /&gt;
&lt;br /&gt;
====.selected - стиль при выделении элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .selected {  color: black; } &amp;quot;; // Делаем смену цвета выделенного элемента&lt;br /&gt;
&lt;br /&gt;
====.default - стиль невыделенного элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .default{  color: gray; } &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.contmenu - визуальная кнопка контекстного меню====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .contmenu{ display:none; } &amp;quot;;  // Скрываем кнопку контекстного меню&lt;br /&gt;
&lt;br /&gt;
====.label, .start, .list, .fulleditline, .hlink, .html - стили(верхний уровень) для разных типов элементов $_CH[&amp;quot;position&amp;quot;]  [https://wiki.forkbrowser.top/wiki/FXML#position_.D0.BF.D1.80.D0.B8_.D0.B7.D0.B0.D0.B4.D0.B0.D0.BD.D0.BD.D0.BE.D0.BC_.24_PL.5B.22typeList.22.5D.3D.22start.22.3B]====&lt;br /&gt;
Если не задан $_CH[&amp;quot;position&amp;quot;] элемента то по умолчанию элементы отображаются на странице списком и классом .list&lt;br /&gt;
&lt;br /&gt;
Если при этом задано отображение плиткой ($_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot; ) то по умолчанию элементы отображаются с классом .start&lt;br /&gt;
&lt;br /&gt;
====.labelselected, .startselected, .listselected, .fulleditlineselected, .hlinkselected, .htmlselected - стили(верхний уровень) для выделенных элементов====&lt;br /&gt;
&lt;br /&gt;
=====Установим цвет для выделенных элементов только .list=====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .listselected{color: red; }&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.labeldefault, .startdefault, .listdefault, .fulleditlinedefault, .hlinkdefault, .htmldefault - стили(верхний уровень) для невыделенных элементов====&lt;br /&gt;
&lt;br /&gt;
====.list - зададим свой вид списка====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list{color: red; }&amp;quot;; // Меняем цвет&lt;br /&gt;
&lt;br /&gt;
====.title .icon .rating .numb вложенные в верхний уровень стили заголовка, иконки, рейтинга(для .start), порядкового номера(для .list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .title{color: red; }&amp;quot;; // Меняем цвет заголовков&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .numb { display:none; } &amp;quot;; // Скрываем отображение номера&lt;br /&gt;
&lt;br /&gt;
====Комбинация классов, зададим стиль иконок только для списка (.list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list .icon{background-color:white; margin:2px;}&amp;quot;; // Зададим белую рамку фона для иконок&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cacheinfo&amp;quot;]=&amp;quot;nocache&amp;quot;;  // Не кешировать страницу (при возврате назад страница будет грузиться заново по адресу)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;setcookie&amp;quot;][&amp;quot;name1&amp;quot;]=&amp;quot;value1&amp;quot;; // Аналог cookie вебсайтов. Запомнит для последующих запросов страниц с этого же домена в переменной $_GET[&amp;quot;cookie&amp;quot;][&amp;quot;name1&amp;quot;] значение value1&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;info&amp;quot;]=&amp;quot;Вам уведомление&amp;quot;; // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;confirm&amp;quot;]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Открыть вложенный CHannel?&amp;quot;,&amp;quot;channel&amp;quot;=&amp;gt;[&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://..&amp;quot;]];&lt;br /&gt;
&lt;br /&gt;
===cmd тег (как глобальный так и в playlist_url) - допустимые команды===&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в глобальном теге====&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;historyback(1);&amp;quot;  // Вернуться назад на 1 страницу&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Вам уведомление);&amp;quot;  // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;settitle(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый title&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;setdescription(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый description&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;reload(2);&amp;quot;  // Перезагрузить страницу через 2секунды&lt;br /&gt;
&lt;br /&gt;
В конец cmd к командам выше можно добавить &#039;&#039;&#039;stop();&#039;&#039;&#039; чтобы выполнить команду выше и остановить загрузку новой страницы &lt;br /&gt;
&lt;br /&gt;
например $_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Доступ к этой странице Вам запрещен);stop();&amp;quot; выведет уведомление но оставить пользователя на предыдущей странице.&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в $_CH[&amp;quot;playlist_url&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;cmd:&amp;lt;Команда из списка допустимых&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Например $_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;reload();&amp;quot;; перезагрузит страницу при нажатии&lt;br /&gt;
&lt;br /&gt;
===Глобальный тег aside для вывода бокового меню===&lt;br /&gt;
[[Файл:Aside menu.png|мини|Пример бокового меню Fork]]&lt;br /&gt;
$_PL[&amp;quot;aside&amp;quot;][&amp;quot;channels&amp;quot;][]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Home&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://site.com/&amp;quot;,&amp;quot;style&amp;quot;=&amp;gt;&amp;quot;color:blue;&amp;quot;,&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;https://static.vecteezy.com/system/resources/thumbnails/022/013/913/small/home-icon-illustration-image-vector.jpg&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;aside&amp;quot;][&amp;quot;channels&amp;quot;][]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Category 1&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://site.com/cat1&amp;quot;,&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;https://static.vecteezy.com/system/resources/thumbnails/022/013/913/small/home-icon-illustration-image-vector.jpg&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
Изменить стили бокового меню по умолчанию:&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;].=&amp;quot;&amp;quot;#aside{position:absolute;z-index:1;top:0px;left:0px;height:inherit;border-radius: 0px 10px 10px 0px;padding:0px 10px 0px 2px;font-size: 27px;line-height: 27px;white-space: nowrap;overflow-x: hidden;}&lt;br /&gt;
&lt;br /&gt;
		#aside img{width:27px;height:27px;margin-right:8px;}&lt;br /&gt;
&lt;br /&gt;
		.aside_default{margin:5px 0px;padding: 4px;border-radius: 8px;border: 2px solid transparent;}&lt;br /&gt;
&lt;br /&gt;
		.aside_selected{margin:5px 0px;padding: 4px;border-radius: 8px;border: 2px solid #5590e7;}&lt;br /&gt;
&lt;br /&gt;
		.aside_hide{width:30px;background:none;overflow-y: hidden;}&lt;br /&gt;
&lt;br /&gt;
		.aside_show{width:auto;overflow-y: auto;background-color:rgba(0, 0, 0, 0.8);}&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Если стили свои, то лучше вынести их в отдельный css файл&lt;br /&gt;
&lt;br /&gt;
===Подключения css файлов стилей===&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==Channel теги==&lt;br /&gt;
&lt;br /&gt;
===title===&lt;br /&gt;
Заголовок&lt;br /&gt;
&lt;br /&gt;
===playlist_url или stream_url===&lt;br /&gt;
Адрес страницы или адрес видеопотока (непустым может быть только один из этих тегов)&lt;br /&gt;
====stream_url мультиссылки с разными качествами и (или) несколькими источниками, Err format json link====&lt;br /&gt;
Для видеопотока можно задавать мультиссылки с разным качеством (можно и разные озвучки, но это будет не так явно для пользователя), выбор качества будет браться автоматически с настроек Fork(1080 или 720 и т.д.) и (или) несколькими источниками&lt;br /&gt;
&lt;br /&gt;
Пример использования в PHP с json_encode&lt;br /&gt;
В данном примере создается массив с различными ссылками на видеопотоки, и с помощью функции json_encode он преобразуется в JSON-формат для последующего использования:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 // Массив с данными для разных качеств видео и двумя источниками&lt;br /&gt;
 $stream_links = [&lt;br /&gt;
    &amp;quot;360&amp;quot; =&amp;gt; [&lt;br /&gt;
        &amp;quot;title&amp;quot; =&amp;gt; &amp;quot;360p&amp;quot;,&lt;br /&gt;
        &amp;quot;url&amp;quot; =&amp;gt; [&lt;br /&gt;
            &amp;quot;http://server.in/240.mp4&amp;quot;,&lt;br /&gt;
            &amp;quot;http://server2.in/hls/240.mp4&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;720&amp;quot; =&amp;gt; [&lt;br /&gt;
        &amp;quot;title&amp;quot; =&amp;gt; &amp;quot;720p&amp;quot;,&lt;br /&gt;
        &amp;quot;url&amp;quot; =&amp;gt; [&lt;br /&gt;
           &amp;quot;http://server.in/720.mp4&amp;quot;,&lt;br /&gt;
           &amp;quot;http://server2.in/hls/720.mp4&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    ]&lt;br /&gt;
 ];&lt;br /&gt;
 // Преобразование массива в JSON&lt;br /&gt;
 $json_stream_url = json_encode($stream_links);&lt;br /&gt;
 // Использование JSON в $_CH[&amp;quot;stream_url&amp;quot;]&lt;br /&gt;
 $_CH[&amp;quot;stream_url&amp;quot;] = $json_stream_url;&lt;br /&gt;
 // Вывод JSON для проверки&lt;br /&gt;
 echo $_CH[&amp;quot;stream_url&amp;quot;];&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Пример с несколькими источниками:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $stream_links = [&lt;br /&gt;
            &amp;quot;http://server.in/240.mp4&amp;quot;,&lt;br /&gt;
            &amp;quot;http://server2.in/hls/240.mp4&amp;quot;&lt;br /&gt;
        ];&lt;br /&gt;
 // Преобразование массива в JSON&lt;br /&gt;
 $json_stream_url = json_encode($stream_links);&lt;br /&gt;
 // Использование JSON в $_CH[&amp;quot;stream_url&amp;quot;]&lt;br /&gt;
 $_CH[&amp;quot;stream_url&amp;quot;] = $json_stream_url;&lt;br /&gt;
 // Вывод JSON для проверки&lt;br /&gt;
 echo $_CH[&amp;quot;stream_url&amp;quot;];&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===logo_30x30===&lt;br /&gt;
Адрес иконки&lt;br /&gt;
&lt;br /&gt;
===confirm - диалоговое окно с действиями при нажатии на элемент===&lt;br /&gt;
Пример подтверждения выхода с аккаунта&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Выйти&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;confirm&amp;quot;,&amp;quot;confirm&amp;quot;=&amp;gt;[&amp;quot;http://host/?do&amp;lt;nowiki&amp;gt;=exit&amp;quot;],&amp;quot;description&amp;quot;=&amp;gt;&amp;quot;Выйти с аккаунта?&amp;quot;];&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===menu - контекстное меню элемента===&lt;br /&gt;
$menu=[];&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню1&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню2&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;menu&amp;quot;]=$menu;&lt;br /&gt;
&lt;br /&gt;
===position при заданном $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;===&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;&amp;quot;; // - Плитка как в Стартовом меню размером 128х101px)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // - Пример элемента со своим дизайном в $_CH[&amp;quot;template&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;br&amp;quot;]=0; // Не переносить навигацию на новую строку&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание вида&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&amp;quot;width:242px;overflow:hidden;margin:4px;text-align:center;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;width:242px;height:171px;padding:2px 2px 0px 2px;&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;small&amp;gt;$description&amp;lt;/small&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
Элементы будут выстраиваться в ряд и навигация по ним будет предполагать что они в одном ряду&lt;br /&gt;
&lt;br /&gt;
=====$_CH[&amp;quot;br&amp;quot;]=====&lt;br /&gt;
В месте где навигация должна перейти на новую строку задайте $_CH[&amp;quot;br&amp;quot;]=1; При этом в before будет добавлено значение &amp;lt;nowiki&amp;gt;&amp;lt;br clear=both&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;fulleditline&amp;quot;; //- Поле ввода текста шириной почти на всю страницу====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;hlist&amp;quot;; // - горизонтальная ссылка (может быть несколько на одном горизонтальном уровне)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;list&amp;quot;; // -обычный вид списка шириной в половину экрана и с description справа====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;label&amp;quot;; // -невысокая строка на всю ширину экрана====&lt;br /&gt;
&lt;br /&gt;
===location===&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=1; // Переход c заменой текущей ссылки окна на новую (при перезапуске форкплеера будет открываться уже с этой новой ссылки)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=3; // Переход с отображением в текущем окне (при перезапуске форкплеера будет открываться старая ссылка и опять переадресовываться, необходимо если например используются устаревающие сессии)&lt;br /&gt;
&lt;br /&gt;
===after и before - свой html код после и перед элементом списка===&lt;br /&gt;
$_CH[&amp;quot;before&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст перед элементом&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;after&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст после элемента&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===SetTimeInterval - отправка событий клиентом через интервал и вывод сообщений===&lt;br /&gt;
$_CH[&amp;quot;SetTimeInterval&amp;quot;]=[&amp;quot;time&amp;quot;=&amp;gt;1,&amp;quot;onmenu&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onmenu&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;onplay&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onplay&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;time&#039;&#039;&#039; - интервал между отправкой событий в минутах&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onmenu -&#039;&#039;&#039; ссылка для отправки событий если пользователь находится в списке&lt;br /&gt;
&lt;br /&gt;
в ответ по ссылке onmenu &amp;lt;nowiki&amp;gt;http://193.30.240.2/try/ajax/send_status_log.php?action=onmenu&amp;lt;/nowiki&amp;gt; можно давать json &lt;br /&gt;
 {&amp;quot;message&amp;quot;:&amp;quot;Hello user&amp;quot;} &lt;br /&gt;
Это уведомление будет выводится вверху форкплеера&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onplay-&#039;&#039;&#039; ссылка для отправки событий если пользователь смотрит видео&lt;br /&gt;
&lt;br /&gt;
Можно использовать один или два сразу тега onmenu и onplay&lt;br /&gt;
&lt;br /&gt;
===parser - тег загрузки другой страницы перед переходом по playlist_url или stream_url===&lt;br /&gt;
Пример в XML&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
Пример в JSON FXML&lt;br /&gt;
 $_CH[&amp;quot;parser&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|&amp;lt;/nowiki&amp;gt;;&amp;quot;;&lt;br /&gt;
результат отдастся то что между js= и ; &lt;br /&gt;
&lt;br /&gt;
Регулярное выражение (по маркеру .*? )&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|&amp;lt;script&amp;gt;.*?js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
или&lt;br /&gt;
 &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|.*?js]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
преобразуется в RegExp(&amp;quot;&amp;lt;script&amp;gt;.*?js=(.*?);&amp;quot;,&amp;quot;i&amp;quot;) - результат отдастся тот что в () &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&amp;lt;title&amp;gt;Test &amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== #POST в playlist_url означает что все что после него будет передавать методом POST====&lt;br /&gt;
&lt;br /&gt;
В примере выше на адрес http://parser.co/ отправятся POST данные html=md5hash, где md5hash заменятся на полученное от parser&lt;br /&gt;
&lt;br /&gt;
====Допустимо в parser использовать curl запросы (доступны на андроид, частично если форк установлен в память ТВ, или через ремотефорк)====&lt;br /&gt;
&lt;br /&gt;
====Можно перечислить порядок методов запроса парсер, например &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
Сначала будет попытка запроса через remotefork (если включен), потом через андроид класс если Fork запущен на андроиде, потом прямой XHR запрос с попыткой установить заголовки, потом прямой XHR запрос без заголовков&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&lt;br /&gt;
  &amp;lt;title&amp;gt;Test curl and method&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;parser&amp;gt;&amp;lt;![CDATA[curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept-Encoding: deflate&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;]]&amp;gt;&lt;br /&gt;
  &amp;lt;/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Или в JSON&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;channels&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;title&amp;quot;: &amp;quot;Test curl and method&amp;quot;,&lt;br /&gt;
      &amp;quot;cors&amp;quot;: &amp;quot;rf|android|direct|directnoheader&amp;quot;,&lt;br /&gt;
      &amp;quot;playlist_url&amp;quot;: &amp;quot;http://parser.co/#POSThtml=md5hash&amp;quot;,&lt;br /&gt;
      &amp;quot;parser&amp;quot;: &#039;curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept-Encoding: deflate&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;&#039;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Результат будет в $_POST[&#039;html&#039;]&lt;br /&gt;
&lt;br /&gt;
Результат будет аналогично md5hash в $_GET[&#039;page&#039;]&lt;br /&gt;
&lt;br /&gt;
====Методом POST для видеоссылок ( stream_url )====&lt;br /&gt;
 &amp;lt;channel&amp;gt; &lt;br /&gt;
  &amp;lt;title&amp;gt;stream post&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;stream_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://test.ru/index.php#POSTs=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/stream_url&amp;gt;&lt;br /&gt;
  &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[https://yadi.sk/d/0BpgziSQ0VWiFg]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Будет идти отправка POST на &amp;lt;nowiki&amp;gt;http://test.ru/index.php#POSTs=md5hash&amp;lt;/nowiki&amp;gt; в $_POST[&amp;quot;s&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Ответ страницы попадет в проигрыватель в виде ссылки.&lt;br /&gt;
&lt;br /&gt;
Тоесть &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://test.ru/index.php&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; должен дать текст ссылки на медиафайл вида &amp;lt;nowiki&amp;gt;http://.../myvideo.mp4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Скачивание сторонней страницы по необходимости, страница &amp;lt;nowiki&amp;gt;http://parser.co/&amp;lt;/nowiki&amp;gt; может дать json ответ====&lt;br /&gt;
 {&amp;quot;parse&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8&amp;amp;gl=US&amp;amp;hl=en&amp;amp;has_verified=1&amp;amp;bpctr=9999999999&amp;lt;/nowiki&amp;gt;&amp;quot;}&lt;br /&gt;
Скачанная страница шлется в параметре  $_POST[&#039;remoteparse&#039;]&lt;br /&gt;
&lt;br /&gt;
==Построение произвольного положения элементов на странице (c &amp;quot;br&amp;quot; вместо &amp;quot;coordiantion&amp;quot;)==&lt;br /&gt;
&lt;br /&gt;
===Задаем странице вид плиткой (start)===&lt;br /&gt;
 $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Прописываем свои стили===&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;&lt;br /&gt;
&lt;br /&gt;
.myStyle1{&lt;br /&gt;
&lt;br /&gt;
width:242px;&lt;br /&gt;
&lt;br /&gt;
overflow:hidden;&lt;br /&gt;
&lt;br /&gt;
margin:4px;&lt;br /&gt;
&lt;br /&gt;
text-align:center;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.myStyle2{&lt;br /&gt;
width:242px;&lt;br /&gt;
height:171px;&lt;br /&gt;
padding:2px 2px 0px 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Задаем шаблон (template) каждому элементу списка===&lt;br /&gt;
&amp;lt;code&amp;gt;$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // Задает возможность использовать template&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;; // Заголовок - подставляет в шаблоне вместо $title&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;; // Иконка $logo_30x30&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание, если нужно&amp;quot;; // Описание- подставляет в шаблоне вместо $description&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;myStyle1&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;myStyle2&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Перенос на новую строке при html дизайне $_CH[&amp;quot;br&amp;quot;]=1;===&lt;br /&gt;
Для правильной навигации по странице нужно знать когда у вас там новая строка. Для этого в элементе с которого нужно чтоб начиналась новая строка присваиваем &lt;br /&gt;
 $_CH[&amp;quot;br&amp;quot;]=1;// Этот элемент разместится уже на новой строке&lt;br /&gt;
&lt;br /&gt;
==Горизонтальная прокрутка==&lt;br /&gt;
Задаем nowrap только для первого (обзначается br=1) элемента блока горизонтальной прокрутки&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;nowrap&amp;quot;=1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Первый элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Второй элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Третий элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Последний элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Новый элемент с новой строки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==Вывод результирующей страницы (на PHP)==&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Ваш код с наполнением массивов $_PL и $_CH информацией&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;channels&amp;quot;]=$_CH;&lt;br /&gt;
&lt;br /&gt;
print json_encode($_PL);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1946</id>
		<title>FXML</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1946"/>
		<updated>2024-12-14T13:40:25Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* Подключения css файлов стилей */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;FXML&#039;&#039;&#039; (Fork eXtensible Markup Language) - что такое==&lt;br /&gt;
Это язык разметки документов во Всемирной паутине.  Для навигации по таким страницам не требуется мышь или сенсорный экран. Язык &#039;&#039;&#039;FXML&#039;&#039;&#039; интерпретируется такими приложениями как ForkPlayer, OTT Player, OTT-play. Полученный в результате интерпретации форматированный текст отображается на экране телевизора. &lt;br /&gt;
&lt;br /&gt;
====Например, следующий код (должен быть валидным JSON):====&lt;br /&gt;
 {&amp;quot;title&amp;quot;:&amp;quot;COOLTV - портал нового поколения&amp;quot;,&amp;quot;background-image&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;typeList&amp;quot;:&amp;quot;start&amp;quot;,&amp;quot;icon&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool23.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;channels&amp;quot;:[{&amp;quot;title&amp;quot;:&amp;quot;Вход&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/profle22.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/auth&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Новости &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/rss-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/news&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Поиск &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-search-folder-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/search.php&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Кинозал &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/1icons8-film-reel-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;AceStream &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-wave-arrows-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/12&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Обменник &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-next-100.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/obmen/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Сервисы &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8s3-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/9&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;IPTV &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-hdtv-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/8&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Мультимедиа &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-documentary-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/7&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Чат &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-chat-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/guest&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;FAQ &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-info-popup-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/faq/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Копилка&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-bad-piggies-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/copilka&amp;lt;/nowiki&amp;gt;&amp;quot;}]}&lt;br /&gt;
даст такой результат (в ForkPlayer):&lt;br /&gt;
[[Файл:Cooltv.png|мини|600x600пкс|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Все допустимые команды можно посмотреть в исходном коде страниц &lt;br /&gt;
&lt;br /&gt;
https://github.com/vengo634/kino.pub_forkplayerPHP/blob/master/index.php&lt;br /&gt;
&lt;br /&gt;
====Смотреть Исходный код любой страницы можно непосредственно в ForkPlayer====&lt;br /&gt;
[[Файл:VmGe53a9.png|мини|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
и FXML CMS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FXMLbaseparser PHP класс упрощающий верстку кода для Fork browser ==&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/FXMLbaseparser FXMLbaseparser PHP класс]&lt;br /&gt;
&lt;br /&gt;
==Новые теги и команды FXML==&lt;br /&gt;
Новые спецификации FXML добавляются в CHANGELOG, рекомендуем смотреть нужные команды также и там.&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;ping&amp;quot;][&amp;quot;link&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало 1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;; $_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;poster&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/CHANGELOG CHANGELOG]&lt;br /&gt;
&lt;br /&gt;
==Глобальные теги==&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;start&amp;quot;; // Плиточный + другой(с использованием $_CH[&amp;quot;position&amp;quot;] ) виды страницы&lt;br /&gt;
&lt;br /&gt;
====Стили сайта по умолчанию====&lt;br /&gt;
По умолчанию для вашей страницы задаются такие стили (вы их можете изменить задав нужные в $_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:700px; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;Смотреть CSS стили по умолчанию&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button {&lt;br /&gt;
    background-color: #bbbbbb;&lt;br /&gt;
    display: block;&lt;br /&gt;
    border-style: solid;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:decrement {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: transparent transparent #555555;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:increment {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: #555555 transparent transparent transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar {&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-track {&lt;br /&gt;
    background: #ddd;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb {&lt;br /&gt;
    background: #888;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb:hover {&lt;br /&gt;
    background: #777;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    ;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    margin-left: 4px;&lt;br /&gt;
    margin-top: 1px;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .rating {&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    display: none;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    height: 23px;&lt;br /&gt;
    width: 28px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    padding-left: 5px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .icon {&lt;br /&gt;
    padding: 2px 2px 0px 2px;&lt;br /&gt;
    height: 76%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .name {&lt;br /&gt;
    font-size: 17px;&lt;br /&gt;
    line-height: 0.9;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    bottom: 0px;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    max-height: 50%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .title {&lt;br /&gt;
    background: rgba(0, 0, 0, 0.65);&lt;br /&gt;
    border-radius: 3px;&lt;br /&gt;
    width: auto;&lt;br /&gt;
    display: display: inline-block;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    padding: 1px 4px 4px 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .side_icon {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list {&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px 0px 0px 4px;&lt;br /&gt;
    cursor: default;&lt;br /&gt;
    margin: 2px 0px;&lt;br /&gt;
    width: 48.87708333333334%;&lt;br /&gt;
    height: 35px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .contmenu {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    float: right;&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .numb {&lt;br /&gt;
    float: left;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
    font-size: 60%;&lt;br /&gt;
    min-width: 38px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .icon {&lt;br /&gt;
    margin: 0px 2px;&lt;br /&gt;
    padding-right: 2px;&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .title {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    float: left;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listsearch {&lt;br /&gt;
    background-color: #ddd;&lt;br /&gt;
    color: #333;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    padding: 3px;&lt;br /&gt;
    margin-top: 2px;&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
    width: 90%;&lt;br /&gt;
    height: 68%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolinktitle {&lt;br /&gt;
    height: 63%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolink {&lt;br /&gt;
    padding-left: 3px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default .contmenu {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected .contmenu {&lt;br /&gt;
    display: block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.html {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px solid transparent;&lt;br /&gt;
    margin: 0px 4px;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    max-width: 310px;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
    padding: 0px 4px;&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 28px;&lt;br /&gt;
    text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline {&lt;br /&gt;
    border: 1px solid transparent;&lt;br /&gt;
    width: 80%;&lt;br /&gt;
    margin: 1px 9%;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    font-size: 24px;&lt;br /&gt;
    height: 24px;&lt;br /&gt;
    margin: 3px;&lt;br /&gt;
    color: #2b2525;&lt;br /&gt;
    background-color: #eee;&lt;br /&gt;
    padding: 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .icon {&lt;br /&gt;
    float: right;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    margin: -2px 4%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    width: 92%;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    height: 26px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 20px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default {&lt;br /&gt;
    background: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected {&lt;br /&gt;
    background: rgba(180, 180, 180, 0.7);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listselected {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.site {&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    font-size: 27px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    color: rgb(238, 238, 238);&lt;br /&gt;
    margin: 0px;&lt;br /&gt;
    padding: 0px;&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    background-color: transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
small {&lt;br /&gt;
    font-size: 70%;&lt;br /&gt;
    color: gray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.buttons {&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    top: 80%;&lt;br /&gt;
    left: 50%;&lt;br /&gt;
    width: 47%;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    color: #cccccc;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
}&lt;br /&gt;
\#description {&lt;br /&gt;
    top: 0px;&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    font-size: 28px;&lt;br /&gt;
    left: 51%;&lt;br /&gt;
    width: 47.2%;&lt;br /&gt;
    word-break: break-word;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Пример своего стиля (пишите чистый css, он будет преобразован в одну строку)===&lt;br /&gt;
&lt;br /&gt;
===Если строка стилей очень большая, их лучше вынести в отдельный css файл===&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
====#content - стиль страницы (без description)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
====#rightHalf- стиль description====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;#content {font-size:25px;}  #rightHalf{font-size:10 px;} &amp;quot;; // Установим размер шрифта сайта и описания&lt;br /&gt;
&lt;br /&gt;
====.selected - стиль при выделении элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .selected {  color: black; } &amp;quot;; // Делаем смену цвета выделенного элемента&lt;br /&gt;
&lt;br /&gt;
====.default - стиль невыделенного элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .default{  color: gray; } &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.contmenu - визуальная кнопка контекстного меню====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .contmenu{ display:none; } &amp;quot;;  // Скрываем кнопку контекстного меню&lt;br /&gt;
&lt;br /&gt;
====.label, .start, .list, .fulleditline, .hlink, .html - стили(верхний уровень) для разных типов элементов $_CH[&amp;quot;position&amp;quot;]  [https://wiki.forkbrowser.top/wiki/FXML#position_.D0.BF.D1.80.D0.B8_.D0.B7.D0.B0.D0.B4.D0.B0.D0.BD.D0.BD.D0.BE.D0.BC_.24_PL.5B.22typeList.22.5D.3D.22start.22.3B]====&lt;br /&gt;
Если не задан $_CH[&amp;quot;position&amp;quot;] элемента то по умолчанию элементы отображаются на странице списком и классом .list&lt;br /&gt;
&lt;br /&gt;
Если при этом задано отображение плиткой ($_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot; ) то по умолчанию элементы отображаются с классом .start&lt;br /&gt;
&lt;br /&gt;
====.labelselected, .startselected, .listselected, .fulleditlineselected, .hlinkselected, .htmlselected - стили(верхний уровень) для выделенных элементов====&lt;br /&gt;
&lt;br /&gt;
=====Установим цвет для выделенных элементов только .list=====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .listselected{color: red; }&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.labeldefault, .startdefault, .listdefault, .fulleditlinedefault, .hlinkdefault, .htmldefault - стили(верхний уровень) для невыделенных элементов====&lt;br /&gt;
&lt;br /&gt;
====.list - зададим свой вид списка====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list{color: red; }&amp;quot;; // Меняем цвет&lt;br /&gt;
&lt;br /&gt;
====.title .icon .rating .numb вложенные в верхний уровень стили заголовка, иконки, рейтинга(для .start), порядкового номера(для .list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .title{color: red; }&amp;quot;; // Меняем цвет заголовков&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .numb { display:none; } &amp;quot;; // Скрываем отображение номера&lt;br /&gt;
&lt;br /&gt;
====Комбинация классов, зададим стиль иконок только для списка (.list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list .icon{background-color:white; margin:2px;}&amp;quot;; // Зададим белую рамку фона для иконок&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cacheinfo&amp;quot;]=&amp;quot;nocache&amp;quot;;  // Не кешировать страницу (при возврате назад страница будет грузиться заново по адресу)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;setcookie&amp;quot;][&amp;quot;name1&amp;quot;]=&amp;quot;value1&amp;quot;; // Аналог cookie вебсайтов. Запомнит для последующих запросов страниц с этого же домена в переменной $_GET[&amp;quot;cookie&amp;quot;][&amp;quot;name1&amp;quot;] значение value1&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;info&amp;quot;]=&amp;quot;Вам уведомление&amp;quot;; // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;confirm&amp;quot;]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Открыть вложенный CHannel?&amp;quot;,&amp;quot;channel&amp;quot;=&amp;gt;[&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://..&amp;quot;]];&lt;br /&gt;
&lt;br /&gt;
===cmd тег (как глобальный так и в playlist_url) - допустимые команды===&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в глобальном теге====&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;historyback(1);&amp;quot;  // Вернуться назад на 1 страницу&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Вам уведомление);&amp;quot;  // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;settitle(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый title&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;setdescription(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый description&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;reload(2);&amp;quot;  // Перезагрузить страницу через 2секунды&lt;br /&gt;
&lt;br /&gt;
В конец cmd к командам выше можно добавить &#039;&#039;&#039;stop();&#039;&#039;&#039; чтобы выполнить команду выше и остановить загрузку новой страницы &lt;br /&gt;
&lt;br /&gt;
например $_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Доступ к этой странице Вам запрещен);stop();&amp;quot; выведет уведомление но оставить пользователя на предыдущей странице.&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в $_CH[&amp;quot;playlist_url&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;cmd:&amp;lt;Команда из списка допустимых&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Например $_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;reload();&amp;quot;; перезагрузит страницу при нажатии&lt;br /&gt;
&lt;br /&gt;
===Глобальный тег aside для вывода бокового меню===&lt;br /&gt;
[[Файл:Aside menu.png|мини|Пример бокового меню Fork]]&lt;br /&gt;
$_PL[&amp;quot;aside&amp;quot;][&amp;quot;channels&amp;quot;][]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Home&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://site.com/&amp;quot;,&amp;quot;style&amp;quot;=&amp;gt;&amp;quot;color:blue;&amp;quot;,&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;https://static.vecteezy.com/system/resources/thumbnails/022/013/913/small/home-icon-illustration-image-vector.jpg&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;aside&amp;quot;][&amp;quot;channels&amp;quot;][]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Category 1&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://site.com/cat1&amp;quot;,&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;https://static.vecteezy.com/system/resources/thumbnails/022/013/913/small/home-icon-illustration-image-vector.jpg&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
Изменить стили бокового меню по умолчанию:&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;].=&amp;quot;.aside_default{margin:5px 0px;padding: 4px;border-radius: 8px;border: 2px solid transparent;}&lt;br /&gt;
&lt;br /&gt;
	.aside_selected{margin:5px 0px;padding: 4px;border-radius: 8px;border: 2px solid #5590e7;}&lt;br /&gt;
&lt;br /&gt;
	.aside_hide{width:30px;background:none;}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	.aside_show{width:auto;background-color:rgba(0, 0, 0, 0.8);}&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Если стили свои, то лучше вынести их в отдельный css файл&lt;br /&gt;
&lt;br /&gt;
===Подключения css файлов стилей===&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==Channel теги==&lt;br /&gt;
&lt;br /&gt;
===title===&lt;br /&gt;
Заголовок&lt;br /&gt;
&lt;br /&gt;
===playlist_url или stream_url===&lt;br /&gt;
Адрес страницы или адрес видеопотока (непустым может быть только один из этих тегов)&lt;br /&gt;
====stream_url мультиссылки с разными качествами и (или) несколькими источниками, Err format json link====&lt;br /&gt;
Для видеопотока можно задавать мультиссылки с разным качеством (можно и разные озвучки, но это будет не так явно для пользователя), выбор качества будет браться автоматически с настроек Fork(1080 или 720 и т.д.) и (или) несколькими источниками&lt;br /&gt;
&lt;br /&gt;
Пример использования в PHP с json_encode&lt;br /&gt;
В данном примере создается массив с различными ссылками на видеопотоки, и с помощью функции json_encode он преобразуется в JSON-формат для последующего использования:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 // Массив с данными для разных качеств видео и двумя источниками&lt;br /&gt;
 $stream_links = [&lt;br /&gt;
    &amp;quot;360&amp;quot; =&amp;gt; [&lt;br /&gt;
        &amp;quot;title&amp;quot; =&amp;gt; &amp;quot;360p&amp;quot;,&lt;br /&gt;
        &amp;quot;url&amp;quot; =&amp;gt; [&lt;br /&gt;
            &amp;quot;http://server.in/240.mp4&amp;quot;,&lt;br /&gt;
            &amp;quot;http://server2.in/hls/240.mp4&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;720&amp;quot; =&amp;gt; [&lt;br /&gt;
        &amp;quot;title&amp;quot; =&amp;gt; &amp;quot;720p&amp;quot;,&lt;br /&gt;
        &amp;quot;url&amp;quot; =&amp;gt; [&lt;br /&gt;
           &amp;quot;http://server.in/720.mp4&amp;quot;,&lt;br /&gt;
           &amp;quot;http://server2.in/hls/720.mp4&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    ]&lt;br /&gt;
 ];&lt;br /&gt;
 // Преобразование массива в JSON&lt;br /&gt;
 $json_stream_url = json_encode($stream_links);&lt;br /&gt;
 // Использование JSON в $_CH[&amp;quot;stream_url&amp;quot;]&lt;br /&gt;
 $_CH[&amp;quot;stream_url&amp;quot;] = $json_stream_url;&lt;br /&gt;
 // Вывод JSON для проверки&lt;br /&gt;
 echo $_CH[&amp;quot;stream_url&amp;quot;];&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Пример с несколькими источниками:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $stream_links = [&lt;br /&gt;
            &amp;quot;http://server.in/240.mp4&amp;quot;,&lt;br /&gt;
            &amp;quot;http://server2.in/hls/240.mp4&amp;quot;&lt;br /&gt;
        ];&lt;br /&gt;
 // Преобразование массива в JSON&lt;br /&gt;
 $json_stream_url = json_encode($stream_links);&lt;br /&gt;
 // Использование JSON в $_CH[&amp;quot;stream_url&amp;quot;]&lt;br /&gt;
 $_CH[&amp;quot;stream_url&amp;quot;] = $json_stream_url;&lt;br /&gt;
 // Вывод JSON для проверки&lt;br /&gt;
 echo $_CH[&amp;quot;stream_url&amp;quot;];&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===logo_30x30===&lt;br /&gt;
Адрес иконки&lt;br /&gt;
&lt;br /&gt;
===confirm - диалоговое окно с действиями при нажатии на элемент===&lt;br /&gt;
Пример подтверждения выхода с аккаунта&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Выйти&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;confirm&amp;quot;,&amp;quot;confirm&amp;quot;=&amp;gt;[&amp;quot;http://host/?do&amp;lt;nowiki&amp;gt;=exit&amp;quot;],&amp;quot;description&amp;quot;=&amp;gt;&amp;quot;Выйти с аккаунта?&amp;quot;];&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===menu - контекстное меню элемента===&lt;br /&gt;
$menu=[];&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню1&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню2&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;menu&amp;quot;]=$menu;&lt;br /&gt;
&lt;br /&gt;
===position при заданном $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;===&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;&amp;quot;; // - Плитка как в Стартовом меню размером 128х101px)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // - Пример элемента со своим дизайном в $_CH[&amp;quot;template&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;br&amp;quot;]=0; // Не переносить навигацию на новую строку&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание вида&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&amp;quot;width:242px;overflow:hidden;margin:4px;text-align:center;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;width:242px;height:171px;padding:2px 2px 0px 2px;&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;small&amp;gt;$description&amp;lt;/small&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
Элементы будут выстраиваться в ряд и навигация по ним будет предполагать что они в одном ряду&lt;br /&gt;
&lt;br /&gt;
=====$_CH[&amp;quot;br&amp;quot;]=====&lt;br /&gt;
В месте где навигация должна перейти на новую строку задайте $_CH[&amp;quot;br&amp;quot;]=1; При этом в before будет добавлено значение &amp;lt;nowiki&amp;gt;&amp;lt;br clear=both&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;fulleditline&amp;quot;; //- Поле ввода текста шириной почти на всю страницу====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;hlist&amp;quot;; // - горизонтальная ссылка (может быть несколько на одном горизонтальном уровне)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;list&amp;quot;; // -обычный вид списка шириной в половину экрана и с description справа====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;label&amp;quot;; // -невысокая строка на всю ширину экрана====&lt;br /&gt;
&lt;br /&gt;
===location===&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=1; // Переход c заменой текущей ссылки окна на новую (при перезапуске форкплеера будет открываться уже с этой новой ссылки)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=3; // Переход с отображением в текущем окне (при перезапуске форкплеера будет открываться старая ссылка и опять переадресовываться, необходимо если например используются устаревающие сессии)&lt;br /&gt;
&lt;br /&gt;
===after и before - свой html код после и перед элементом списка===&lt;br /&gt;
$_CH[&amp;quot;before&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст перед элементом&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;after&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст после элемента&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===SetTimeInterval - отправка событий клиентом через интервал и вывод сообщений===&lt;br /&gt;
$_CH[&amp;quot;SetTimeInterval&amp;quot;]=[&amp;quot;time&amp;quot;=&amp;gt;1,&amp;quot;onmenu&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onmenu&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;onplay&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onplay&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;time&#039;&#039;&#039; - интервал между отправкой событий в минутах&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onmenu -&#039;&#039;&#039; ссылка для отправки событий если пользователь находится в списке&lt;br /&gt;
&lt;br /&gt;
в ответ по ссылке onmenu &amp;lt;nowiki&amp;gt;http://193.30.240.2/try/ajax/send_status_log.php?action=onmenu&amp;lt;/nowiki&amp;gt; можно давать json &lt;br /&gt;
 {&amp;quot;message&amp;quot;:&amp;quot;Hello user&amp;quot;} &lt;br /&gt;
Это уведомление будет выводится вверху форкплеера&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onplay-&#039;&#039;&#039; ссылка для отправки событий если пользователь смотрит видео&lt;br /&gt;
&lt;br /&gt;
Можно использовать один или два сразу тега onmenu и onplay&lt;br /&gt;
&lt;br /&gt;
===parser - тег загрузки другой страницы перед переходом по playlist_url или stream_url===&lt;br /&gt;
Пример в XML&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
Пример в JSON FXML&lt;br /&gt;
 $_CH[&amp;quot;parser&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|&amp;lt;/nowiki&amp;gt;;&amp;quot;;&lt;br /&gt;
результат отдастся то что между js= и ; &lt;br /&gt;
&lt;br /&gt;
Регулярное выражение (по маркеру .*? )&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|&amp;lt;script&amp;gt;.*?js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
или&lt;br /&gt;
 &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|.*?js]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
преобразуется в RegExp(&amp;quot;&amp;lt;script&amp;gt;.*?js=(.*?);&amp;quot;,&amp;quot;i&amp;quot;) - результат отдастся тот что в () &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&amp;lt;title&amp;gt;Test &amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== #POST в playlist_url означает что все что после него будет передавать методом POST====&lt;br /&gt;
&lt;br /&gt;
В примере выше на адрес http://parser.co/ отправятся POST данные html=md5hash, где md5hash заменятся на полученное от parser&lt;br /&gt;
&lt;br /&gt;
====Допустимо в parser использовать curl запросы (доступны на андроид, частично если форк установлен в память ТВ, или через ремотефорк)====&lt;br /&gt;
&lt;br /&gt;
====Можно перечислить порядок методов запроса парсер, например &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
Сначала будет попытка запроса через remotefork (если включен), потом через андроид класс если Fork запущен на андроиде, потом прямой XHR запрос с попыткой установить заголовки, потом прямой XHR запрос без заголовков&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&lt;br /&gt;
  &amp;lt;title&amp;gt;Test curl and method&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;parser&amp;gt;&amp;lt;![CDATA[curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept-Encoding: deflate&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;]]&amp;gt;&lt;br /&gt;
  &amp;lt;/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Или в JSON&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;channels&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;title&amp;quot;: &amp;quot;Test curl and method&amp;quot;,&lt;br /&gt;
      &amp;quot;cors&amp;quot;: &amp;quot;rf|android|direct|directnoheader&amp;quot;,&lt;br /&gt;
      &amp;quot;playlist_url&amp;quot;: &amp;quot;http://parser.co/#POSThtml=md5hash&amp;quot;,&lt;br /&gt;
      &amp;quot;parser&amp;quot;: &#039;curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept-Encoding: deflate&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;&#039;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Результат будет в $_POST[&#039;html&#039;]&lt;br /&gt;
&lt;br /&gt;
Результат будет аналогично md5hash в $_GET[&#039;page&#039;]&lt;br /&gt;
&lt;br /&gt;
====Методом POST для видеоссылок ( stream_url )====&lt;br /&gt;
 &amp;lt;channel&amp;gt; &lt;br /&gt;
  &amp;lt;title&amp;gt;stream post&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;stream_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://test.ru/index.php#POSTs=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/stream_url&amp;gt;&lt;br /&gt;
  &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[https://yadi.sk/d/0BpgziSQ0VWiFg]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Будет идти отправка POST на &amp;lt;nowiki&amp;gt;http://test.ru/index.php#POSTs=md5hash&amp;lt;/nowiki&amp;gt; в $_POST[&amp;quot;s&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Ответ страницы попадет в проигрыватель в виде ссылки.&lt;br /&gt;
&lt;br /&gt;
Тоесть &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://test.ru/index.php&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; должен дать текст ссылки на медиафайл вида &amp;lt;nowiki&amp;gt;http://.../myvideo.mp4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Скачивание сторонней страницы по необходимости, страница &amp;lt;nowiki&amp;gt;http://parser.co/&amp;lt;/nowiki&amp;gt; может дать json ответ====&lt;br /&gt;
 {&amp;quot;parse&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8&amp;amp;gl=US&amp;amp;hl=en&amp;amp;has_verified=1&amp;amp;bpctr=9999999999&amp;lt;/nowiki&amp;gt;&amp;quot;}&lt;br /&gt;
Скачанная страница шлется в параметре  $_POST[&#039;remoteparse&#039;]&lt;br /&gt;
&lt;br /&gt;
==Построение произвольного положения элементов на странице (c &amp;quot;br&amp;quot; вместо &amp;quot;coordiantion&amp;quot;)==&lt;br /&gt;
&lt;br /&gt;
===Задаем странице вид плиткой (start)===&lt;br /&gt;
 $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Прописываем свои стили===&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;&lt;br /&gt;
&lt;br /&gt;
.myStyle1{&lt;br /&gt;
&lt;br /&gt;
width:242px;&lt;br /&gt;
&lt;br /&gt;
overflow:hidden;&lt;br /&gt;
&lt;br /&gt;
margin:4px;&lt;br /&gt;
&lt;br /&gt;
text-align:center;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.myStyle2{&lt;br /&gt;
width:242px;&lt;br /&gt;
height:171px;&lt;br /&gt;
padding:2px 2px 0px 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Задаем шаблон (template) каждому элементу списка===&lt;br /&gt;
&amp;lt;code&amp;gt;$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // Задает возможность использовать template&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;; // Заголовок - подставляет в шаблоне вместо $title&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;; // Иконка $logo_30x30&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание, если нужно&amp;quot;; // Описание- подставляет в шаблоне вместо $description&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;myStyle1&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;myStyle2&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Перенос на новую строке при html дизайне $_CH[&amp;quot;br&amp;quot;]=1;===&lt;br /&gt;
Для правильной навигации по странице нужно знать когда у вас там новая строка. Для этого в элементе с которого нужно чтоб начиналась новая строка присваиваем &lt;br /&gt;
 $_CH[&amp;quot;br&amp;quot;]=1;// Этот элемент разместится уже на новой строке&lt;br /&gt;
&lt;br /&gt;
==Горизонтальная прокрутка==&lt;br /&gt;
Задаем nowrap только для первого (обзначается br=1) элемента блока горизонтальной прокрутки&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;nowrap&amp;quot;=1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Первый элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Второй элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Третий элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Последний элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Новый элемент с новой строки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==Вывод результирующей страницы (на PHP)==&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Ваш код с наполнением массивов $_PL и $_CH информацией&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;channels&amp;quot;]=$_CH;&lt;br /&gt;
&lt;br /&gt;
print json_encode($_PL);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1945</id>
		<title>FXML</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1945"/>
		<updated>2024-12-14T13:40:16Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* Глобальный тег aside для вывода бокового меню */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;FXML&#039;&#039;&#039; (Fork eXtensible Markup Language) - что такое==&lt;br /&gt;
Это язык разметки документов во Всемирной паутине.  Для навигации по таким страницам не требуется мышь или сенсорный экран. Язык &#039;&#039;&#039;FXML&#039;&#039;&#039; интерпретируется такими приложениями как ForkPlayer, OTT Player, OTT-play. Полученный в результате интерпретации форматированный текст отображается на экране телевизора. &lt;br /&gt;
&lt;br /&gt;
====Например, следующий код (должен быть валидным JSON):====&lt;br /&gt;
 {&amp;quot;title&amp;quot;:&amp;quot;COOLTV - портал нового поколения&amp;quot;,&amp;quot;background-image&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;typeList&amp;quot;:&amp;quot;start&amp;quot;,&amp;quot;icon&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool23.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;channels&amp;quot;:[{&amp;quot;title&amp;quot;:&amp;quot;Вход&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/profle22.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/auth&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Новости &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/rss-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/news&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Поиск &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-search-folder-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/search.php&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Кинозал &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/1icons8-film-reel-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;AceStream &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-wave-arrows-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/12&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Обменник &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-next-100.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/obmen/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Сервисы &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8s3-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/9&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;IPTV &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-hdtv-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/8&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Мультимедиа &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-documentary-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/7&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Чат &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-chat-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/guest&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;FAQ &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-info-popup-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/faq/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Копилка&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-bad-piggies-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/copilka&amp;lt;/nowiki&amp;gt;&amp;quot;}]}&lt;br /&gt;
даст такой результат (в ForkPlayer):&lt;br /&gt;
[[Файл:Cooltv.png|мини|600x600пкс|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Все допустимые команды можно посмотреть в исходном коде страниц &lt;br /&gt;
&lt;br /&gt;
https://github.com/vengo634/kino.pub_forkplayerPHP/blob/master/index.php&lt;br /&gt;
&lt;br /&gt;
====Смотреть Исходный код любой страницы можно непосредственно в ForkPlayer====&lt;br /&gt;
[[Файл:VmGe53a9.png|мини|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
и FXML CMS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FXMLbaseparser PHP класс упрощающий верстку кода для Fork browser ==&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/FXMLbaseparser FXMLbaseparser PHP класс]&lt;br /&gt;
&lt;br /&gt;
==Новые теги и команды FXML==&lt;br /&gt;
Новые спецификации FXML добавляются в CHANGELOG, рекомендуем смотреть нужные команды также и там.&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;ping&amp;quot;][&amp;quot;link&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало 1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;; $_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;poster&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/CHANGELOG CHANGELOG]&lt;br /&gt;
&lt;br /&gt;
==Глобальные теги==&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;start&amp;quot;; // Плиточный + другой(с использованием $_CH[&amp;quot;position&amp;quot;] ) виды страницы&lt;br /&gt;
&lt;br /&gt;
====Стили сайта по умолчанию====&lt;br /&gt;
По умолчанию для вашей страницы задаются такие стили (вы их можете изменить задав нужные в $_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:700px; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;Смотреть CSS стили по умолчанию&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button {&lt;br /&gt;
    background-color: #bbbbbb;&lt;br /&gt;
    display: block;&lt;br /&gt;
    border-style: solid;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:decrement {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: transparent transparent #555555;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:increment {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: #555555 transparent transparent transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar {&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-track {&lt;br /&gt;
    background: #ddd;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb {&lt;br /&gt;
    background: #888;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb:hover {&lt;br /&gt;
    background: #777;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    ;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    margin-left: 4px;&lt;br /&gt;
    margin-top: 1px;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .rating {&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    display: none;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    height: 23px;&lt;br /&gt;
    width: 28px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    padding-left: 5px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .icon {&lt;br /&gt;
    padding: 2px 2px 0px 2px;&lt;br /&gt;
    height: 76%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .name {&lt;br /&gt;
    font-size: 17px;&lt;br /&gt;
    line-height: 0.9;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    bottom: 0px;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    max-height: 50%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .title {&lt;br /&gt;
    background: rgba(0, 0, 0, 0.65);&lt;br /&gt;
    border-radius: 3px;&lt;br /&gt;
    width: auto;&lt;br /&gt;
    display: display: inline-block;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    padding: 1px 4px 4px 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .side_icon {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list {&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px 0px 0px 4px;&lt;br /&gt;
    cursor: default;&lt;br /&gt;
    margin: 2px 0px;&lt;br /&gt;
    width: 48.87708333333334%;&lt;br /&gt;
    height: 35px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .contmenu {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    float: right;&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .numb {&lt;br /&gt;
    float: left;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
    font-size: 60%;&lt;br /&gt;
    min-width: 38px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .icon {&lt;br /&gt;
    margin: 0px 2px;&lt;br /&gt;
    padding-right: 2px;&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .title {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    float: left;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listsearch {&lt;br /&gt;
    background-color: #ddd;&lt;br /&gt;
    color: #333;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    padding: 3px;&lt;br /&gt;
    margin-top: 2px;&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
    width: 90%;&lt;br /&gt;
    height: 68%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolinktitle {&lt;br /&gt;
    height: 63%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolink {&lt;br /&gt;
    padding-left: 3px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default .contmenu {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected .contmenu {&lt;br /&gt;
    display: block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.html {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px solid transparent;&lt;br /&gt;
    margin: 0px 4px;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    max-width: 310px;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
    padding: 0px 4px;&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 28px;&lt;br /&gt;
    text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline {&lt;br /&gt;
    border: 1px solid transparent;&lt;br /&gt;
    width: 80%;&lt;br /&gt;
    margin: 1px 9%;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    font-size: 24px;&lt;br /&gt;
    height: 24px;&lt;br /&gt;
    margin: 3px;&lt;br /&gt;
    color: #2b2525;&lt;br /&gt;
    background-color: #eee;&lt;br /&gt;
    padding: 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .icon {&lt;br /&gt;
    float: right;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    margin: -2px 4%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    width: 92%;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    height: 26px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 20px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default {&lt;br /&gt;
    background: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected {&lt;br /&gt;
    background: rgba(180, 180, 180, 0.7);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listselected {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.site {&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    font-size: 27px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    color: rgb(238, 238, 238);&lt;br /&gt;
    margin: 0px;&lt;br /&gt;
    padding: 0px;&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    background-color: transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
small {&lt;br /&gt;
    font-size: 70%;&lt;br /&gt;
    color: gray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.buttons {&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    top: 80%;&lt;br /&gt;
    left: 50%;&lt;br /&gt;
    width: 47%;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    color: #cccccc;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
}&lt;br /&gt;
\#description {&lt;br /&gt;
    top: 0px;&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    font-size: 28px;&lt;br /&gt;
    left: 51%;&lt;br /&gt;
    width: 47.2%;&lt;br /&gt;
    word-break: break-word;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Пример своего стиля (пишите чистый css, он будет преобразован в одну строку)===&lt;br /&gt;
&lt;br /&gt;
===Если строка стилей очень большая, их лучше вынести в отдельный css файл===&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
====#content - стиль страницы (без description)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
====#rightHalf- стиль description====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;#content {font-size:25px;}  #rightHalf{font-size:10 px;} &amp;quot;; // Установим размер шрифта сайта и описания&lt;br /&gt;
&lt;br /&gt;
====.selected - стиль при выделении элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .selected {  color: black; } &amp;quot;; // Делаем смену цвета выделенного элемента&lt;br /&gt;
&lt;br /&gt;
====.default - стиль невыделенного элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .default{  color: gray; } &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.contmenu - визуальная кнопка контекстного меню====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .contmenu{ display:none; } &amp;quot;;  // Скрываем кнопку контекстного меню&lt;br /&gt;
&lt;br /&gt;
====.label, .start, .list, .fulleditline, .hlink, .html - стили(верхний уровень) для разных типов элементов $_CH[&amp;quot;position&amp;quot;]  [https://wiki.forkbrowser.top/wiki/FXML#position_.D0.BF.D1.80.D0.B8_.D0.B7.D0.B0.D0.B4.D0.B0.D0.BD.D0.BD.D0.BE.D0.BC_.24_PL.5B.22typeList.22.5D.3D.22start.22.3B]====&lt;br /&gt;
Если не задан $_CH[&amp;quot;position&amp;quot;] элемента то по умолчанию элементы отображаются на странице списком и классом .list&lt;br /&gt;
&lt;br /&gt;
Если при этом задано отображение плиткой ($_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot; ) то по умолчанию элементы отображаются с классом .start&lt;br /&gt;
&lt;br /&gt;
====.labelselected, .startselected, .listselected, .fulleditlineselected, .hlinkselected, .htmlselected - стили(верхний уровень) для выделенных элементов====&lt;br /&gt;
&lt;br /&gt;
=====Установим цвет для выделенных элементов только .list=====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .listselected{color: red; }&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.labeldefault, .startdefault, .listdefault, .fulleditlinedefault, .hlinkdefault, .htmldefault - стили(верхний уровень) для невыделенных элементов====&lt;br /&gt;
&lt;br /&gt;
====.list - зададим свой вид списка====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list{color: red; }&amp;quot;; // Меняем цвет&lt;br /&gt;
&lt;br /&gt;
====.title .icon .rating .numb вложенные в верхний уровень стили заголовка, иконки, рейтинга(для .start), порядкового номера(для .list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .title{color: red; }&amp;quot;; // Меняем цвет заголовков&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .numb { display:none; } &amp;quot;; // Скрываем отображение номера&lt;br /&gt;
&lt;br /&gt;
====Комбинация классов, зададим стиль иконок только для списка (.list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list .icon{background-color:white; margin:2px;}&amp;quot;; // Зададим белую рамку фона для иконок&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cacheinfo&amp;quot;]=&amp;quot;nocache&amp;quot;;  // Не кешировать страницу (при возврате назад страница будет грузиться заново по адресу)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;setcookie&amp;quot;][&amp;quot;name1&amp;quot;]=&amp;quot;value1&amp;quot;; // Аналог cookie вебсайтов. Запомнит для последующих запросов страниц с этого же домена в переменной $_GET[&amp;quot;cookie&amp;quot;][&amp;quot;name1&amp;quot;] значение value1&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;info&amp;quot;]=&amp;quot;Вам уведомление&amp;quot;; // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;confirm&amp;quot;]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Открыть вложенный CHannel?&amp;quot;,&amp;quot;channel&amp;quot;=&amp;gt;[&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://..&amp;quot;]];&lt;br /&gt;
&lt;br /&gt;
===cmd тег (как глобальный так и в playlist_url) - допустимые команды===&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в глобальном теге====&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;historyback(1);&amp;quot;  // Вернуться назад на 1 страницу&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Вам уведомление);&amp;quot;  // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;settitle(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый title&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;setdescription(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый description&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;reload(2);&amp;quot;  // Перезагрузить страницу через 2секунды&lt;br /&gt;
&lt;br /&gt;
В конец cmd к командам выше можно добавить &#039;&#039;&#039;stop();&#039;&#039;&#039; чтобы выполнить команду выше и остановить загрузку новой страницы &lt;br /&gt;
&lt;br /&gt;
например $_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Доступ к этой странице Вам запрещен);stop();&amp;quot; выведет уведомление но оставить пользователя на предыдущей странице.&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в $_CH[&amp;quot;playlist_url&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;cmd:&amp;lt;Команда из списка допустимых&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Например $_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;reload();&amp;quot;; перезагрузит страницу при нажатии&lt;br /&gt;
&lt;br /&gt;
===Глобальный тег aside для вывода бокового меню===&lt;br /&gt;
[[Файл:Aside menu.png|мини|Пример бокового меню Fork]]&lt;br /&gt;
$_PL[&amp;quot;aside&amp;quot;][&amp;quot;channels&amp;quot;][]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Home&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://site.com/&amp;quot;,&amp;quot;style&amp;quot;=&amp;gt;&amp;quot;color:blue;&amp;quot;,&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;https://static.vecteezy.com/system/resources/thumbnails/022/013/913/small/home-icon-illustration-image-vector.jpg&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;aside&amp;quot;][&amp;quot;channels&amp;quot;][]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Category 1&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://site.com/cat1&amp;quot;,&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;https://static.vecteezy.com/system/resources/thumbnails/022/013/913/small/home-icon-illustration-image-vector.jpg&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
Изменить стили бокового меню по умолчанию:&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;].=&amp;quot;.aside_default{margin:5px 0px;padding: 4px;border-radius: 8px;border: 2px solid transparent;}&lt;br /&gt;
&lt;br /&gt;
	.aside_selected{margin:5px 0px;padding: 4px;border-radius: 8px;border: 2px solid #5590e7;}&lt;br /&gt;
&lt;br /&gt;
	.aside_hide{width:30px;background:none;}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	.aside_show{width:auto;background-color:rgba(0, 0, 0, 0.8);}&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Если стили свои, то лучше вынести их в отдельный css файл&lt;br /&gt;
&lt;br /&gt;
==Подключения css файлов стилей==&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==Channel теги==&lt;br /&gt;
&lt;br /&gt;
===title===&lt;br /&gt;
Заголовок&lt;br /&gt;
&lt;br /&gt;
===playlist_url или stream_url===&lt;br /&gt;
Адрес страницы или адрес видеопотока (непустым может быть только один из этих тегов)&lt;br /&gt;
====stream_url мультиссылки с разными качествами и (или) несколькими источниками, Err format json link====&lt;br /&gt;
Для видеопотока можно задавать мультиссылки с разным качеством (можно и разные озвучки, но это будет не так явно для пользователя), выбор качества будет браться автоматически с настроек Fork(1080 или 720 и т.д.) и (или) несколькими источниками&lt;br /&gt;
&lt;br /&gt;
Пример использования в PHP с json_encode&lt;br /&gt;
В данном примере создается массив с различными ссылками на видеопотоки, и с помощью функции json_encode он преобразуется в JSON-формат для последующего использования:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 // Массив с данными для разных качеств видео и двумя источниками&lt;br /&gt;
 $stream_links = [&lt;br /&gt;
    &amp;quot;360&amp;quot; =&amp;gt; [&lt;br /&gt;
        &amp;quot;title&amp;quot; =&amp;gt; &amp;quot;360p&amp;quot;,&lt;br /&gt;
        &amp;quot;url&amp;quot; =&amp;gt; [&lt;br /&gt;
            &amp;quot;http://server.in/240.mp4&amp;quot;,&lt;br /&gt;
            &amp;quot;http://server2.in/hls/240.mp4&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;720&amp;quot; =&amp;gt; [&lt;br /&gt;
        &amp;quot;title&amp;quot; =&amp;gt; &amp;quot;720p&amp;quot;,&lt;br /&gt;
        &amp;quot;url&amp;quot; =&amp;gt; [&lt;br /&gt;
           &amp;quot;http://server.in/720.mp4&amp;quot;,&lt;br /&gt;
           &amp;quot;http://server2.in/hls/720.mp4&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    ]&lt;br /&gt;
 ];&lt;br /&gt;
 // Преобразование массива в JSON&lt;br /&gt;
 $json_stream_url = json_encode($stream_links);&lt;br /&gt;
 // Использование JSON в $_CH[&amp;quot;stream_url&amp;quot;]&lt;br /&gt;
 $_CH[&amp;quot;stream_url&amp;quot;] = $json_stream_url;&lt;br /&gt;
 // Вывод JSON для проверки&lt;br /&gt;
 echo $_CH[&amp;quot;stream_url&amp;quot;];&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Пример с несколькими источниками:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $stream_links = [&lt;br /&gt;
            &amp;quot;http://server.in/240.mp4&amp;quot;,&lt;br /&gt;
            &amp;quot;http://server2.in/hls/240.mp4&amp;quot;&lt;br /&gt;
        ];&lt;br /&gt;
 // Преобразование массива в JSON&lt;br /&gt;
 $json_stream_url = json_encode($stream_links);&lt;br /&gt;
 // Использование JSON в $_CH[&amp;quot;stream_url&amp;quot;]&lt;br /&gt;
 $_CH[&amp;quot;stream_url&amp;quot;] = $json_stream_url;&lt;br /&gt;
 // Вывод JSON для проверки&lt;br /&gt;
 echo $_CH[&amp;quot;stream_url&amp;quot;];&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===logo_30x30===&lt;br /&gt;
Адрес иконки&lt;br /&gt;
&lt;br /&gt;
===confirm - диалоговое окно с действиями при нажатии на элемент===&lt;br /&gt;
Пример подтверждения выхода с аккаунта&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Выйти&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;confirm&amp;quot;,&amp;quot;confirm&amp;quot;=&amp;gt;[&amp;quot;http://host/?do&amp;lt;nowiki&amp;gt;=exit&amp;quot;],&amp;quot;description&amp;quot;=&amp;gt;&amp;quot;Выйти с аккаунта?&amp;quot;];&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===menu - контекстное меню элемента===&lt;br /&gt;
$menu=[];&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню1&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню2&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;menu&amp;quot;]=$menu;&lt;br /&gt;
&lt;br /&gt;
===position при заданном $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;===&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;&amp;quot;; // - Плитка как в Стартовом меню размером 128х101px)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // - Пример элемента со своим дизайном в $_CH[&amp;quot;template&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;br&amp;quot;]=0; // Не переносить навигацию на новую строку&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание вида&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&amp;quot;width:242px;overflow:hidden;margin:4px;text-align:center;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;width:242px;height:171px;padding:2px 2px 0px 2px;&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;small&amp;gt;$description&amp;lt;/small&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
Элементы будут выстраиваться в ряд и навигация по ним будет предполагать что они в одном ряду&lt;br /&gt;
&lt;br /&gt;
=====$_CH[&amp;quot;br&amp;quot;]=====&lt;br /&gt;
В месте где навигация должна перейти на новую строку задайте $_CH[&amp;quot;br&amp;quot;]=1; При этом в before будет добавлено значение &amp;lt;nowiki&amp;gt;&amp;lt;br clear=both&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;fulleditline&amp;quot;; //- Поле ввода текста шириной почти на всю страницу====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;hlist&amp;quot;; // - горизонтальная ссылка (может быть несколько на одном горизонтальном уровне)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;list&amp;quot;; // -обычный вид списка шириной в половину экрана и с description справа====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;label&amp;quot;; // -невысокая строка на всю ширину экрана====&lt;br /&gt;
&lt;br /&gt;
===location===&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=1; // Переход c заменой текущей ссылки окна на новую (при перезапуске форкплеера будет открываться уже с этой новой ссылки)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=3; // Переход с отображением в текущем окне (при перезапуске форкплеера будет открываться старая ссылка и опять переадресовываться, необходимо если например используются устаревающие сессии)&lt;br /&gt;
&lt;br /&gt;
===after и before - свой html код после и перед элементом списка===&lt;br /&gt;
$_CH[&amp;quot;before&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст перед элементом&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;after&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст после элемента&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===SetTimeInterval - отправка событий клиентом через интервал и вывод сообщений===&lt;br /&gt;
$_CH[&amp;quot;SetTimeInterval&amp;quot;]=[&amp;quot;time&amp;quot;=&amp;gt;1,&amp;quot;onmenu&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onmenu&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;onplay&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onplay&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;time&#039;&#039;&#039; - интервал между отправкой событий в минутах&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onmenu -&#039;&#039;&#039; ссылка для отправки событий если пользователь находится в списке&lt;br /&gt;
&lt;br /&gt;
в ответ по ссылке onmenu &amp;lt;nowiki&amp;gt;http://193.30.240.2/try/ajax/send_status_log.php?action=onmenu&amp;lt;/nowiki&amp;gt; можно давать json &lt;br /&gt;
 {&amp;quot;message&amp;quot;:&amp;quot;Hello user&amp;quot;} &lt;br /&gt;
Это уведомление будет выводится вверху форкплеера&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onplay-&#039;&#039;&#039; ссылка для отправки событий если пользователь смотрит видео&lt;br /&gt;
&lt;br /&gt;
Можно использовать один или два сразу тега onmenu и onplay&lt;br /&gt;
&lt;br /&gt;
===parser - тег загрузки другой страницы перед переходом по playlist_url или stream_url===&lt;br /&gt;
Пример в XML&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
Пример в JSON FXML&lt;br /&gt;
 $_CH[&amp;quot;parser&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|&amp;lt;/nowiki&amp;gt;;&amp;quot;;&lt;br /&gt;
результат отдастся то что между js= и ; &lt;br /&gt;
&lt;br /&gt;
Регулярное выражение (по маркеру .*? )&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|&amp;lt;script&amp;gt;.*?js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
или&lt;br /&gt;
 &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|.*?js]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
преобразуется в RegExp(&amp;quot;&amp;lt;script&amp;gt;.*?js=(.*?);&amp;quot;,&amp;quot;i&amp;quot;) - результат отдастся тот что в () &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&amp;lt;title&amp;gt;Test &amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== #POST в playlist_url означает что все что после него будет передавать методом POST====&lt;br /&gt;
&lt;br /&gt;
В примере выше на адрес http://parser.co/ отправятся POST данные html=md5hash, где md5hash заменятся на полученное от parser&lt;br /&gt;
&lt;br /&gt;
====Допустимо в parser использовать curl запросы (доступны на андроид, частично если форк установлен в память ТВ, или через ремотефорк)====&lt;br /&gt;
&lt;br /&gt;
====Можно перечислить порядок методов запроса парсер, например &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
Сначала будет попытка запроса через remotefork (если включен), потом через андроид класс если Fork запущен на андроиде, потом прямой XHR запрос с попыткой установить заголовки, потом прямой XHR запрос без заголовков&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&lt;br /&gt;
  &amp;lt;title&amp;gt;Test curl and method&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;parser&amp;gt;&amp;lt;![CDATA[curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept-Encoding: deflate&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;]]&amp;gt;&lt;br /&gt;
  &amp;lt;/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Или в JSON&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;channels&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;title&amp;quot;: &amp;quot;Test curl and method&amp;quot;,&lt;br /&gt;
      &amp;quot;cors&amp;quot;: &amp;quot;rf|android|direct|directnoheader&amp;quot;,&lt;br /&gt;
      &amp;quot;playlist_url&amp;quot;: &amp;quot;http://parser.co/#POSThtml=md5hash&amp;quot;,&lt;br /&gt;
      &amp;quot;parser&amp;quot;: &#039;curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept-Encoding: deflate&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;&#039;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Результат будет в $_POST[&#039;html&#039;]&lt;br /&gt;
&lt;br /&gt;
Результат будет аналогично md5hash в $_GET[&#039;page&#039;]&lt;br /&gt;
&lt;br /&gt;
====Методом POST для видеоссылок ( stream_url )====&lt;br /&gt;
 &amp;lt;channel&amp;gt; &lt;br /&gt;
  &amp;lt;title&amp;gt;stream post&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;stream_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://test.ru/index.php#POSTs=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/stream_url&amp;gt;&lt;br /&gt;
  &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[https://yadi.sk/d/0BpgziSQ0VWiFg]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Будет идти отправка POST на &amp;lt;nowiki&amp;gt;http://test.ru/index.php#POSTs=md5hash&amp;lt;/nowiki&amp;gt; в $_POST[&amp;quot;s&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Ответ страницы попадет в проигрыватель в виде ссылки.&lt;br /&gt;
&lt;br /&gt;
Тоесть &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://test.ru/index.php&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; должен дать текст ссылки на медиафайл вида &amp;lt;nowiki&amp;gt;http://.../myvideo.mp4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Скачивание сторонней страницы по необходимости, страница &amp;lt;nowiki&amp;gt;http://parser.co/&amp;lt;/nowiki&amp;gt; может дать json ответ====&lt;br /&gt;
 {&amp;quot;parse&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8&amp;amp;gl=US&amp;amp;hl=en&amp;amp;has_verified=1&amp;amp;bpctr=9999999999&amp;lt;/nowiki&amp;gt;&amp;quot;}&lt;br /&gt;
Скачанная страница шлется в параметре  $_POST[&#039;remoteparse&#039;]&lt;br /&gt;
&lt;br /&gt;
==Построение произвольного положения элементов на странице (c &amp;quot;br&amp;quot; вместо &amp;quot;coordiantion&amp;quot;)==&lt;br /&gt;
&lt;br /&gt;
===Задаем странице вид плиткой (start)===&lt;br /&gt;
 $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Прописываем свои стили===&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;&lt;br /&gt;
&lt;br /&gt;
.myStyle1{&lt;br /&gt;
&lt;br /&gt;
width:242px;&lt;br /&gt;
&lt;br /&gt;
overflow:hidden;&lt;br /&gt;
&lt;br /&gt;
margin:4px;&lt;br /&gt;
&lt;br /&gt;
text-align:center;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.myStyle2{&lt;br /&gt;
width:242px;&lt;br /&gt;
height:171px;&lt;br /&gt;
padding:2px 2px 0px 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Задаем шаблон (template) каждому элементу списка===&lt;br /&gt;
&amp;lt;code&amp;gt;$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // Задает возможность использовать template&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;; // Заголовок - подставляет в шаблоне вместо $title&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;; // Иконка $logo_30x30&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание, если нужно&amp;quot;; // Описание- подставляет в шаблоне вместо $description&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;myStyle1&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;myStyle2&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Перенос на новую строке при html дизайне $_CH[&amp;quot;br&amp;quot;]=1;===&lt;br /&gt;
Для правильной навигации по странице нужно знать когда у вас там новая строка. Для этого в элементе с которого нужно чтоб начиналась новая строка присваиваем &lt;br /&gt;
 $_CH[&amp;quot;br&amp;quot;]=1;// Этот элемент разместится уже на новой строке&lt;br /&gt;
&lt;br /&gt;
==Горизонтальная прокрутка==&lt;br /&gt;
Задаем nowrap только для первого (обзначается br=1) элемента блока горизонтальной прокрутки&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;nowrap&amp;quot;=1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Первый элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Второй элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Третий элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Последний элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Новый элемент с новой строки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==Вывод результирующей страницы (на PHP)==&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Ваш код с наполнением массивов $_PL и $_CH информацией&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;channels&amp;quot;]=$_CH;&lt;br /&gt;
&lt;br /&gt;
print json_encode($_PL);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1944</id>
		<title>FXML</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1944"/>
		<updated>2024-12-14T13:39:47Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* Глобальный тег aside для вывода бокового меню */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;FXML&#039;&#039;&#039; (Fork eXtensible Markup Language) - что такое==&lt;br /&gt;
Это язык разметки документов во Всемирной паутине.  Для навигации по таким страницам не требуется мышь или сенсорный экран. Язык &#039;&#039;&#039;FXML&#039;&#039;&#039; интерпретируется такими приложениями как ForkPlayer, OTT Player, OTT-play. Полученный в результате интерпретации форматированный текст отображается на экране телевизора. &lt;br /&gt;
&lt;br /&gt;
====Например, следующий код (должен быть валидным JSON):====&lt;br /&gt;
 {&amp;quot;title&amp;quot;:&amp;quot;COOLTV - портал нового поколения&amp;quot;,&amp;quot;background-image&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;typeList&amp;quot;:&amp;quot;start&amp;quot;,&amp;quot;icon&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool23.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;channels&amp;quot;:[{&amp;quot;title&amp;quot;:&amp;quot;Вход&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/profle22.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/auth&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Новости &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/rss-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/news&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Поиск &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-search-folder-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/search.php&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Кинозал &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/1icons8-film-reel-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;AceStream &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-wave-arrows-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/12&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Обменник &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-next-100.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/obmen/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Сервисы &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8s3-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/9&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;IPTV &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-hdtv-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/8&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Мультимедиа &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-documentary-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/7&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Чат &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-chat-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/guest&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;FAQ &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-info-popup-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/faq/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Копилка&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-bad-piggies-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/copilka&amp;lt;/nowiki&amp;gt;&amp;quot;}]}&lt;br /&gt;
даст такой результат (в ForkPlayer):&lt;br /&gt;
[[Файл:Cooltv.png|мини|600x600пкс|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Все допустимые команды можно посмотреть в исходном коде страниц &lt;br /&gt;
&lt;br /&gt;
https://github.com/vengo634/kino.pub_forkplayerPHP/blob/master/index.php&lt;br /&gt;
&lt;br /&gt;
====Смотреть Исходный код любой страницы можно непосредственно в ForkPlayer====&lt;br /&gt;
[[Файл:VmGe53a9.png|мини|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
и FXML CMS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FXMLbaseparser PHP класс упрощающий верстку кода для Fork browser ==&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/FXMLbaseparser FXMLbaseparser PHP класс]&lt;br /&gt;
&lt;br /&gt;
==Новые теги и команды FXML==&lt;br /&gt;
Новые спецификации FXML добавляются в CHANGELOG, рекомендуем смотреть нужные команды также и там.&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;ping&amp;quot;][&amp;quot;link&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало 1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;; $_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;poster&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/CHANGELOG CHANGELOG]&lt;br /&gt;
&lt;br /&gt;
==Глобальные теги==&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;start&amp;quot;; // Плиточный + другой(с использованием $_CH[&amp;quot;position&amp;quot;] ) виды страницы&lt;br /&gt;
&lt;br /&gt;
====Стили сайта по умолчанию====&lt;br /&gt;
По умолчанию для вашей страницы задаются такие стили (вы их можете изменить задав нужные в $_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:700px; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;Смотреть CSS стили по умолчанию&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button {&lt;br /&gt;
    background-color: #bbbbbb;&lt;br /&gt;
    display: block;&lt;br /&gt;
    border-style: solid;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:decrement {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: transparent transparent #555555;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:increment {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: #555555 transparent transparent transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar {&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-track {&lt;br /&gt;
    background: #ddd;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb {&lt;br /&gt;
    background: #888;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb:hover {&lt;br /&gt;
    background: #777;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    ;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    margin-left: 4px;&lt;br /&gt;
    margin-top: 1px;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .rating {&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    display: none;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    height: 23px;&lt;br /&gt;
    width: 28px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    padding-left: 5px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .icon {&lt;br /&gt;
    padding: 2px 2px 0px 2px;&lt;br /&gt;
    height: 76%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .name {&lt;br /&gt;
    font-size: 17px;&lt;br /&gt;
    line-height: 0.9;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    bottom: 0px;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    max-height: 50%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .title {&lt;br /&gt;
    background: rgba(0, 0, 0, 0.65);&lt;br /&gt;
    border-radius: 3px;&lt;br /&gt;
    width: auto;&lt;br /&gt;
    display: display: inline-block;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    padding: 1px 4px 4px 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .side_icon {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list {&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px 0px 0px 4px;&lt;br /&gt;
    cursor: default;&lt;br /&gt;
    margin: 2px 0px;&lt;br /&gt;
    width: 48.87708333333334%;&lt;br /&gt;
    height: 35px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .contmenu {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    float: right;&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .numb {&lt;br /&gt;
    float: left;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
    font-size: 60%;&lt;br /&gt;
    min-width: 38px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .icon {&lt;br /&gt;
    margin: 0px 2px;&lt;br /&gt;
    padding-right: 2px;&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .title {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    float: left;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listsearch {&lt;br /&gt;
    background-color: #ddd;&lt;br /&gt;
    color: #333;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    padding: 3px;&lt;br /&gt;
    margin-top: 2px;&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
    width: 90%;&lt;br /&gt;
    height: 68%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolinktitle {&lt;br /&gt;
    height: 63%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolink {&lt;br /&gt;
    padding-left: 3px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default .contmenu {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected .contmenu {&lt;br /&gt;
    display: block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.html {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px solid transparent;&lt;br /&gt;
    margin: 0px 4px;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    max-width: 310px;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
    padding: 0px 4px;&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 28px;&lt;br /&gt;
    text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline {&lt;br /&gt;
    border: 1px solid transparent;&lt;br /&gt;
    width: 80%;&lt;br /&gt;
    margin: 1px 9%;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    font-size: 24px;&lt;br /&gt;
    height: 24px;&lt;br /&gt;
    margin: 3px;&lt;br /&gt;
    color: #2b2525;&lt;br /&gt;
    background-color: #eee;&lt;br /&gt;
    padding: 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .icon {&lt;br /&gt;
    float: right;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    margin: -2px 4%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    width: 92%;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    height: 26px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 20px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default {&lt;br /&gt;
    background: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected {&lt;br /&gt;
    background: rgba(180, 180, 180, 0.7);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listselected {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.site {&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    font-size: 27px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    color: rgb(238, 238, 238);&lt;br /&gt;
    margin: 0px;&lt;br /&gt;
    padding: 0px;&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    background-color: transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
small {&lt;br /&gt;
    font-size: 70%;&lt;br /&gt;
    color: gray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.buttons {&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    top: 80%;&lt;br /&gt;
    left: 50%;&lt;br /&gt;
    width: 47%;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    color: #cccccc;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
}&lt;br /&gt;
\#description {&lt;br /&gt;
    top: 0px;&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    font-size: 28px;&lt;br /&gt;
    left: 51%;&lt;br /&gt;
    width: 47.2%;&lt;br /&gt;
    word-break: break-word;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Пример своего стиля (пишите чистый css, он будет преобразован в одну строку)===&lt;br /&gt;
&lt;br /&gt;
===Если строка стилей очень большая, их лучше вынести в отдельный css файл===&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
====#content - стиль страницы (без description)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
====#rightHalf- стиль description====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;#content {font-size:25px;}  #rightHalf{font-size:10 px;} &amp;quot;; // Установим размер шрифта сайта и описания&lt;br /&gt;
&lt;br /&gt;
====.selected - стиль при выделении элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .selected {  color: black; } &amp;quot;; // Делаем смену цвета выделенного элемента&lt;br /&gt;
&lt;br /&gt;
====.default - стиль невыделенного элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .default{  color: gray; } &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.contmenu - визуальная кнопка контекстного меню====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .contmenu{ display:none; } &amp;quot;;  // Скрываем кнопку контекстного меню&lt;br /&gt;
&lt;br /&gt;
====.label, .start, .list, .fulleditline, .hlink, .html - стили(верхний уровень) для разных типов элементов $_CH[&amp;quot;position&amp;quot;]  [https://wiki.forkbrowser.top/wiki/FXML#position_.D0.BF.D1.80.D0.B8_.D0.B7.D0.B0.D0.B4.D0.B0.D0.BD.D0.BD.D0.BE.D0.BC_.24_PL.5B.22typeList.22.5D.3D.22start.22.3B]====&lt;br /&gt;
Если не задан $_CH[&amp;quot;position&amp;quot;] элемента то по умолчанию элементы отображаются на странице списком и классом .list&lt;br /&gt;
&lt;br /&gt;
Если при этом задано отображение плиткой ($_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot; ) то по умолчанию элементы отображаются с классом .start&lt;br /&gt;
&lt;br /&gt;
====.labelselected, .startselected, .listselected, .fulleditlineselected, .hlinkselected, .htmlselected - стили(верхний уровень) для выделенных элементов====&lt;br /&gt;
&lt;br /&gt;
=====Установим цвет для выделенных элементов только .list=====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .listselected{color: red; }&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.labeldefault, .startdefault, .listdefault, .fulleditlinedefault, .hlinkdefault, .htmldefault - стили(верхний уровень) для невыделенных элементов====&lt;br /&gt;
&lt;br /&gt;
====.list - зададим свой вид списка====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list{color: red; }&amp;quot;; // Меняем цвет&lt;br /&gt;
&lt;br /&gt;
====.title .icon .rating .numb вложенные в верхний уровень стили заголовка, иконки, рейтинга(для .start), порядкового номера(для .list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .title{color: red; }&amp;quot;; // Меняем цвет заголовков&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .numb { display:none; } &amp;quot;; // Скрываем отображение номера&lt;br /&gt;
&lt;br /&gt;
====Комбинация классов, зададим стиль иконок только для списка (.list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list .icon{background-color:white; margin:2px;}&amp;quot;; // Зададим белую рамку фона для иконок&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cacheinfo&amp;quot;]=&amp;quot;nocache&amp;quot;;  // Не кешировать страницу (при возврате назад страница будет грузиться заново по адресу)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;setcookie&amp;quot;][&amp;quot;name1&amp;quot;]=&amp;quot;value1&amp;quot;; // Аналог cookie вебсайтов. Запомнит для последующих запросов страниц с этого же домена в переменной $_GET[&amp;quot;cookie&amp;quot;][&amp;quot;name1&amp;quot;] значение value1&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;info&amp;quot;]=&amp;quot;Вам уведомление&amp;quot;; // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;confirm&amp;quot;]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Открыть вложенный CHannel?&amp;quot;,&amp;quot;channel&amp;quot;=&amp;gt;[&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://..&amp;quot;]];&lt;br /&gt;
&lt;br /&gt;
===cmd тег (как глобальный так и в playlist_url) - допустимые команды===&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в глобальном теге====&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;historyback(1);&amp;quot;  // Вернуться назад на 1 страницу&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Вам уведомление);&amp;quot;  // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;settitle(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый title&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;setdescription(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый description&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;reload(2);&amp;quot;  // Перезагрузить страницу через 2секунды&lt;br /&gt;
&lt;br /&gt;
В конец cmd к командам выше можно добавить &#039;&#039;&#039;stop();&#039;&#039;&#039; чтобы выполнить команду выше и остановить загрузку новой страницы &lt;br /&gt;
&lt;br /&gt;
например $_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Доступ к этой странице Вам запрещен);stop();&amp;quot; выведет уведомление но оставить пользователя на предыдущей странице.&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в $_CH[&amp;quot;playlist_url&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;cmd:&amp;lt;Команда из списка допустимых&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Например $_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;reload();&amp;quot;; перезагрузит страницу при нажатии&lt;br /&gt;
&lt;br /&gt;
==Глобальный тег aside для вывода бокового меню==&lt;br /&gt;
[[Файл:Aside menu.png|мини|Пример бокового меню Fork]]&lt;br /&gt;
$_PL[&amp;quot;aside&amp;quot;][&amp;quot;channels&amp;quot;][]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Home&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://site.com/&amp;quot;,&amp;quot;style&amp;quot;=&amp;gt;&amp;quot;color:blue;&amp;quot;,&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;https://static.vecteezy.com/system/resources/thumbnails/022/013/913/small/home-icon-illustration-image-vector.jpg&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;aside&amp;quot;][&amp;quot;channels&amp;quot;][]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Category 1&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://site.com/cat1&amp;quot;,&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;https://static.vecteezy.com/system/resources/thumbnails/022/013/913/small/home-icon-illustration-image-vector.jpg&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
Изменить стили бокового меню по умолчанию:&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;].=&amp;quot;.aside_default{margin:5px 0px;padding: 4px;border-radius: 8px;border: 2px solid transparent;}&lt;br /&gt;
&lt;br /&gt;
	.aside_selected{margin:5px 0px;padding: 4px;border-radius: 8px;border: 2px solid #5590e7;}&lt;br /&gt;
&lt;br /&gt;
	.aside_hide{width:30px;background:none;}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	.aside_show{width:auto;background-color:rgba(0, 0, 0, 0.8);}&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Если стили свои, то лучше вынести их в отдельный css файл&lt;br /&gt;
&lt;br /&gt;
==Подключения css файлов стилей==&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==Channel теги==&lt;br /&gt;
&lt;br /&gt;
===title===&lt;br /&gt;
Заголовок&lt;br /&gt;
&lt;br /&gt;
===playlist_url или stream_url===&lt;br /&gt;
Адрес страницы или адрес видеопотока (непустым может быть только один из этих тегов)&lt;br /&gt;
====stream_url мультиссылки с разными качествами и (или) несколькими источниками, Err format json link====&lt;br /&gt;
Для видеопотока можно задавать мультиссылки с разным качеством (можно и разные озвучки, но это будет не так явно для пользователя), выбор качества будет браться автоматически с настроек Fork(1080 или 720 и т.д.) и (или) несколькими источниками&lt;br /&gt;
&lt;br /&gt;
Пример использования в PHP с json_encode&lt;br /&gt;
В данном примере создается массив с различными ссылками на видеопотоки, и с помощью функции json_encode он преобразуется в JSON-формат для последующего использования:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 // Массив с данными для разных качеств видео и двумя источниками&lt;br /&gt;
 $stream_links = [&lt;br /&gt;
    &amp;quot;360&amp;quot; =&amp;gt; [&lt;br /&gt;
        &amp;quot;title&amp;quot; =&amp;gt; &amp;quot;360p&amp;quot;,&lt;br /&gt;
        &amp;quot;url&amp;quot; =&amp;gt; [&lt;br /&gt;
            &amp;quot;http://server.in/240.mp4&amp;quot;,&lt;br /&gt;
            &amp;quot;http://server2.in/hls/240.mp4&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;720&amp;quot; =&amp;gt; [&lt;br /&gt;
        &amp;quot;title&amp;quot; =&amp;gt; &amp;quot;720p&amp;quot;,&lt;br /&gt;
        &amp;quot;url&amp;quot; =&amp;gt; [&lt;br /&gt;
           &amp;quot;http://server.in/720.mp4&amp;quot;,&lt;br /&gt;
           &amp;quot;http://server2.in/hls/720.mp4&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    ]&lt;br /&gt;
 ];&lt;br /&gt;
 // Преобразование массива в JSON&lt;br /&gt;
 $json_stream_url = json_encode($stream_links);&lt;br /&gt;
 // Использование JSON в $_CH[&amp;quot;stream_url&amp;quot;]&lt;br /&gt;
 $_CH[&amp;quot;stream_url&amp;quot;] = $json_stream_url;&lt;br /&gt;
 // Вывод JSON для проверки&lt;br /&gt;
 echo $_CH[&amp;quot;stream_url&amp;quot;];&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Пример с несколькими источниками:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $stream_links = [&lt;br /&gt;
            &amp;quot;http://server.in/240.mp4&amp;quot;,&lt;br /&gt;
            &amp;quot;http://server2.in/hls/240.mp4&amp;quot;&lt;br /&gt;
        ];&lt;br /&gt;
 // Преобразование массива в JSON&lt;br /&gt;
 $json_stream_url = json_encode($stream_links);&lt;br /&gt;
 // Использование JSON в $_CH[&amp;quot;stream_url&amp;quot;]&lt;br /&gt;
 $_CH[&amp;quot;stream_url&amp;quot;] = $json_stream_url;&lt;br /&gt;
 // Вывод JSON для проверки&lt;br /&gt;
 echo $_CH[&amp;quot;stream_url&amp;quot;];&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===logo_30x30===&lt;br /&gt;
Адрес иконки&lt;br /&gt;
&lt;br /&gt;
===confirm - диалоговое окно с действиями при нажатии на элемент===&lt;br /&gt;
Пример подтверждения выхода с аккаунта&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Выйти&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;confirm&amp;quot;,&amp;quot;confirm&amp;quot;=&amp;gt;[&amp;quot;http://host/?do&amp;lt;nowiki&amp;gt;=exit&amp;quot;],&amp;quot;description&amp;quot;=&amp;gt;&amp;quot;Выйти с аккаунта?&amp;quot;];&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===menu - контекстное меню элемента===&lt;br /&gt;
$menu=[];&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню1&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню2&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;menu&amp;quot;]=$menu;&lt;br /&gt;
&lt;br /&gt;
===position при заданном $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;===&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;&amp;quot;; // - Плитка как в Стартовом меню размером 128х101px)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // - Пример элемента со своим дизайном в $_CH[&amp;quot;template&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;br&amp;quot;]=0; // Не переносить навигацию на новую строку&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание вида&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&amp;quot;width:242px;overflow:hidden;margin:4px;text-align:center;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;width:242px;height:171px;padding:2px 2px 0px 2px;&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;small&amp;gt;$description&amp;lt;/small&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
Элементы будут выстраиваться в ряд и навигация по ним будет предполагать что они в одном ряду&lt;br /&gt;
&lt;br /&gt;
=====$_CH[&amp;quot;br&amp;quot;]=====&lt;br /&gt;
В месте где навигация должна перейти на новую строку задайте $_CH[&amp;quot;br&amp;quot;]=1; При этом в before будет добавлено значение &amp;lt;nowiki&amp;gt;&amp;lt;br clear=both&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;fulleditline&amp;quot;; //- Поле ввода текста шириной почти на всю страницу====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;hlist&amp;quot;; // - горизонтальная ссылка (может быть несколько на одном горизонтальном уровне)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;list&amp;quot;; // -обычный вид списка шириной в половину экрана и с description справа====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;label&amp;quot;; // -невысокая строка на всю ширину экрана====&lt;br /&gt;
&lt;br /&gt;
===location===&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=1; // Переход c заменой текущей ссылки окна на новую (при перезапуске форкплеера будет открываться уже с этой новой ссылки)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=3; // Переход с отображением в текущем окне (при перезапуске форкплеера будет открываться старая ссылка и опять переадресовываться, необходимо если например используются устаревающие сессии)&lt;br /&gt;
&lt;br /&gt;
===after и before - свой html код после и перед элементом списка===&lt;br /&gt;
$_CH[&amp;quot;before&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст перед элементом&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;after&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст после элемента&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===SetTimeInterval - отправка событий клиентом через интервал и вывод сообщений===&lt;br /&gt;
$_CH[&amp;quot;SetTimeInterval&amp;quot;]=[&amp;quot;time&amp;quot;=&amp;gt;1,&amp;quot;onmenu&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onmenu&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;onplay&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onplay&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;time&#039;&#039;&#039; - интервал между отправкой событий в минутах&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onmenu -&#039;&#039;&#039; ссылка для отправки событий если пользователь находится в списке&lt;br /&gt;
&lt;br /&gt;
в ответ по ссылке onmenu &amp;lt;nowiki&amp;gt;http://193.30.240.2/try/ajax/send_status_log.php?action=onmenu&amp;lt;/nowiki&amp;gt; можно давать json &lt;br /&gt;
 {&amp;quot;message&amp;quot;:&amp;quot;Hello user&amp;quot;} &lt;br /&gt;
Это уведомление будет выводится вверху форкплеера&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onplay-&#039;&#039;&#039; ссылка для отправки событий если пользователь смотрит видео&lt;br /&gt;
&lt;br /&gt;
Можно использовать один или два сразу тега onmenu и onplay&lt;br /&gt;
&lt;br /&gt;
===parser - тег загрузки другой страницы перед переходом по playlist_url или stream_url===&lt;br /&gt;
Пример в XML&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
Пример в JSON FXML&lt;br /&gt;
 $_CH[&amp;quot;parser&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|&amp;lt;/nowiki&amp;gt;;&amp;quot;;&lt;br /&gt;
результат отдастся то что между js= и ; &lt;br /&gt;
&lt;br /&gt;
Регулярное выражение (по маркеру .*? )&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|&amp;lt;script&amp;gt;.*?js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
или&lt;br /&gt;
 &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|.*?js]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
преобразуется в RegExp(&amp;quot;&amp;lt;script&amp;gt;.*?js=(.*?);&amp;quot;,&amp;quot;i&amp;quot;) - результат отдастся тот что в () &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&amp;lt;title&amp;gt;Test &amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== #POST в playlist_url означает что все что после него будет передавать методом POST====&lt;br /&gt;
&lt;br /&gt;
В примере выше на адрес http://parser.co/ отправятся POST данные html=md5hash, где md5hash заменятся на полученное от parser&lt;br /&gt;
&lt;br /&gt;
====Допустимо в parser использовать curl запросы (доступны на андроид, частично если форк установлен в память ТВ, или через ремотефорк)====&lt;br /&gt;
&lt;br /&gt;
====Можно перечислить порядок методов запроса парсер, например &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
Сначала будет попытка запроса через remotefork (если включен), потом через андроид класс если Fork запущен на андроиде, потом прямой XHR запрос с попыткой установить заголовки, потом прямой XHR запрос без заголовков&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&lt;br /&gt;
  &amp;lt;title&amp;gt;Test curl and method&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;parser&amp;gt;&amp;lt;![CDATA[curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept-Encoding: deflate&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;]]&amp;gt;&lt;br /&gt;
  &amp;lt;/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Или в JSON&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;channels&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;title&amp;quot;: &amp;quot;Test curl and method&amp;quot;,&lt;br /&gt;
      &amp;quot;cors&amp;quot;: &amp;quot;rf|android|direct|directnoheader&amp;quot;,&lt;br /&gt;
      &amp;quot;playlist_url&amp;quot;: &amp;quot;http://parser.co/#POSThtml=md5hash&amp;quot;,&lt;br /&gt;
      &amp;quot;parser&amp;quot;: &#039;curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept-Encoding: deflate&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;&#039;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Результат будет в $_POST[&#039;html&#039;]&lt;br /&gt;
&lt;br /&gt;
Результат будет аналогично md5hash в $_GET[&#039;page&#039;]&lt;br /&gt;
&lt;br /&gt;
====Методом POST для видеоссылок ( stream_url )====&lt;br /&gt;
 &amp;lt;channel&amp;gt; &lt;br /&gt;
  &amp;lt;title&amp;gt;stream post&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;stream_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://test.ru/index.php#POSTs=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/stream_url&amp;gt;&lt;br /&gt;
  &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[https://yadi.sk/d/0BpgziSQ0VWiFg]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Будет идти отправка POST на &amp;lt;nowiki&amp;gt;http://test.ru/index.php#POSTs=md5hash&amp;lt;/nowiki&amp;gt; в $_POST[&amp;quot;s&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Ответ страницы попадет в проигрыватель в виде ссылки.&lt;br /&gt;
&lt;br /&gt;
Тоесть &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://test.ru/index.php&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; должен дать текст ссылки на медиафайл вида &amp;lt;nowiki&amp;gt;http://.../myvideo.mp4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Скачивание сторонней страницы по необходимости, страница &amp;lt;nowiki&amp;gt;http://parser.co/&amp;lt;/nowiki&amp;gt; может дать json ответ====&lt;br /&gt;
 {&amp;quot;parse&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8&amp;amp;gl=US&amp;amp;hl=en&amp;amp;has_verified=1&amp;amp;bpctr=9999999999&amp;lt;/nowiki&amp;gt;&amp;quot;}&lt;br /&gt;
Скачанная страница шлется в параметре  $_POST[&#039;remoteparse&#039;]&lt;br /&gt;
&lt;br /&gt;
==Построение произвольного положения элементов на странице (c &amp;quot;br&amp;quot; вместо &amp;quot;coordiantion&amp;quot;)==&lt;br /&gt;
&lt;br /&gt;
===Задаем странице вид плиткой (start)===&lt;br /&gt;
 $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Прописываем свои стили===&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;&lt;br /&gt;
&lt;br /&gt;
.myStyle1{&lt;br /&gt;
&lt;br /&gt;
width:242px;&lt;br /&gt;
&lt;br /&gt;
overflow:hidden;&lt;br /&gt;
&lt;br /&gt;
margin:4px;&lt;br /&gt;
&lt;br /&gt;
text-align:center;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.myStyle2{&lt;br /&gt;
width:242px;&lt;br /&gt;
height:171px;&lt;br /&gt;
padding:2px 2px 0px 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Задаем шаблон (template) каждому элементу списка===&lt;br /&gt;
&amp;lt;code&amp;gt;$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // Задает возможность использовать template&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;; // Заголовок - подставляет в шаблоне вместо $title&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;; // Иконка $logo_30x30&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание, если нужно&amp;quot;; // Описание- подставляет в шаблоне вместо $description&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;myStyle1&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;myStyle2&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Перенос на новую строке при html дизайне $_CH[&amp;quot;br&amp;quot;]=1;===&lt;br /&gt;
Для правильной навигации по странице нужно знать когда у вас там новая строка. Для этого в элементе с которого нужно чтоб начиналась новая строка присваиваем &lt;br /&gt;
 $_CH[&amp;quot;br&amp;quot;]=1;// Этот элемент разместится уже на новой строке&lt;br /&gt;
&lt;br /&gt;
==Горизонтальная прокрутка==&lt;br /&gt;
Задаем nowrap только для первого (обзначается br=1) элемента блока горизонтальной прокрутки&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;nowrap&amp;quot;=1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Первый элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Второй элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Третий элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Последний элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Новый элемент с новой строки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==Вывод результирующей страницы (на PHP)==&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Ваш код с наполнением массивов $_PL и $_CH информацией&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;channels&amp;quot;]=$_CH;&lt;br /&gt;
&lt;br /&gt;
print json_encode($_PL);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1943</id>
		<title>FXML</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1943"/>
		<updated>2024-12-14T13:32:10Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* Глобальный тег aside для вывода бокового меню */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;FXML&#039;&#039;&#039; (Fork eXtensible Markup Language) - что такое==&lt;br /&gt;
Это язык разметки документов во Всемирной паутине.  Для навигации по таким страницам не требуется мышь или сенсорный экран. Язык &#039;&#039;&#039;FXML&#039;&#039;&#039; интерпретируется такими приложениями как ForkPlayer, OTT Player, OTT-play. Полученный в результате интерпретации форматированный текст отображается на экране телевизора. &lt;br /&gt;
&lt;br /&gt;
====Например, следующий код (должен быть валидным JSON):====&lt;br /&gt;
 {&amp;quot;title&amp;quot;:&amp;quot;COOLTV - портал нового поколения&amp;quot;,&amp;quot;background-image&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;typeList&amp;quot;:&amp;quot;start&amp;quot;,&amp;quot;icon&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool23.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;channels&amp;quot;:[{&amp;quot;title&amp;quot;:&amp;quot;Вход&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/profle22.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/auth&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Новости &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/rss-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/news&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Поиск &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-search-folder-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/search.php&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Кинозал &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/1icons8-film-reel-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;AceStream &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-wave-arrows-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/12&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Обменник &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-next-100.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/obmen/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Сервисы &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8s3-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/9&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;IPTV &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-hdtv-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/8&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Мультимедиа &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-documentary-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/7&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Чат &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-chat-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/guest&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;FAQ &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-info-popup-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/faq/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Копилка&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-bad-piggies-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/copilka&amp;lt;/nowiki&amp;gt;&amp;quot;}]}&lt;br /&gt;
даст такой результат (в ForkPlayer):&lt;br /&gt;
[[Файл:Cooltv.png|мини|600x600пкс|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Все допустимые команды можно посмотреть в исходном коде страниц &lt;br /&gt;
&lt;br /&gt;
https://github.com/vengo634/kino.pub_forkplayerPHP/blob/master/index.php&lt;br /&gt;
&lt;br /&gt;
====Смотреть Исходный код любой страницы можно непосредственно в ForkPlayer====&lt;br /&gt;
[[Файл:VmGe53a9.png|мини|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
и FXML CMS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FXMLbaseparser PHP класс упрощающий верстку кода для Fork browser ==&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/FXMLbaseparser FXMLbaseparser PHP класс]&lt;br /&gt;
&lt;br /&gt;
==Новые теги и команды FXML==&lt;br /&gt;
Новые спецификации FXML добавляются в CHANGELOG, рекомендуем смотреть нужные команды также и там.&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;ping&amp;quot;][&amp;quot;link&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало 1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;; $_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;poster&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/CHANGELOG CHANGELOG]&lt;br /&gt;
&lt;br /&gt;
==Глобальные теги==&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;start&amp;quot;; // Плиточный + другой(с использованием $_CH[&amp;quot;position&amp;quot;] ) виды страницы&lt;br /&gt;
&lt;br /&gt;
====Стили сайта по умолчанию====&lt;br /&gt;
По умолчанию для вашей страницы задаются такие стили (вы их можете изменить задав нужные в $_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:700px; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;Смотреть CSS стили по умолчанию&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button {&lt;br /&gt;
    background-color: #bbbbbb;&lt;br /&gt;
    display: block;&lt;br /&gt;
    border-style: solid;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:decrement {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: transparent transparent #555555;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:increment {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: #555555 transparent transparent transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar {&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-track {&lt;br /&gt;
    background: #ddd;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb {&lt;br /&gt;
    background: #888;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb:hover {&lt;br /&gt;
    background: #777;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    ;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    margin-left: 4px;&lt;br /&gt;
    margin-top: 1px;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .rating {&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    display: none;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    height: 23px;&lt;br /&gt;
    width: 28px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    padding-left: 5px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .icon {&lt;br /&gt;
    padding: 2px 2px 0px 2px;&lt;br /&gt;
    height: 76%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .name {&lt;br /&gt;
    font-size: 17px;&lt;br /&gt;
    line-height: 0.9;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    bottom: 0px;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    max-height: 50%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .title {&lt;br /&gt;
    background: rgba(0, 0, 0, 0.65);&lt;br /&gt;
    border-radius: 3px;&lt;br /&gt;
    width: auto;&lt;br /&gt;
    display: display: inline-block;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    padding: 1px 4px 4px 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .side_icon {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list {&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px 0px 0px 4px;&lt;br /&gt;
    cursor: default;&lt;br /&gt;
    margin: 2px 0px;&lt;br /&gt;
    width: 48.87708333333334%;&lt;br /&gt;
    height: 35px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .contmenu {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    float: right;&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .numb {&lt;br /&gt;
    float: left;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
    font-size: 60%;&lt;br /&gt;
    min-width: 38px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .icon {&lt;br /&gt;
    margin: 0px 2px;&lt;br /&gt;
    padding-right: 2px;&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .title {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    float: left;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listsearch {&lt;br /&gt;
    background-color: #ddd;&lt;br /&gt;
    color: #333;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    padding: 3px;&lt;br /&gt;
    margin-top: 2px;&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
    width: 90%;&lt;br /&gt;
    height: 68%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolinktitle {&lt;br /&gt;
    height: 63%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolink {&lt;br /&gt;
    padding-left: 3px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default .contmenu {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected .contmenu {&lt;br /&gt;
    display: block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.html {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px solid transparent;&lt;br /&gt;
    margin: 0px 4px;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    max-width: 310px;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
    padding: 0px 4px;&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 28px;&lt;br /&gt;
    text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline {&lt;br /&gt;
    border: 1px solid transparent;&lt;br /&gt;
    width: 80%;&lt;br /&gt;
    margin: 1px 9%;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    font-size: 24px;&lt;br /&gt;
    height: 24px;&lt;br /&gt;
    margin: 3px;&lt;br /&gt;
    color: #2b2525;&lt;br /&gt;
    background-color: #eee;&lt;br /&gt;
    padding: 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .icon {&lt;br /&gt;
    float: right;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    margin: -2px 4%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    width: 92%;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    height: 26px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 20px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default {&lt;br /&gt;
    background: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected {&lt;br /&gt;
    background: rgba(180, 180, 180, 0.7);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listselected {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.site {&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    font-size: 27px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    color: rgb(238, 238, 238);&lt;br /&gt;
    margin: 0px;&lt;br /&gt;
    padding: 0px;&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    background-color: transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
small {&lt;br /&gt;
    font-size: 70%;&lt;br /&gt;
    color: gray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.buttons {&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    top: 80%;&lt;br /&gt;
    left: 50%;&lt;br /&gt;
    width: 47%;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    color: #cccccc;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
}&lt;br /&gt;
\#description {&lt;br /&gt;
    top: 0px;&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    font-size: 28px;&lt;br /&gt;
    left: 51%;&lt;br /&gt;
    width: 47.2%;&lt;br /&gt;
    word-break: break-word;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Пример своего стиля (пишите чистый css, он будет преобразован в одну строку)===&lt;br /&gt;
&lt;br /&gt;
===Если строка стилей очень большая, их лучше вынести в отдельный css файл===&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
====#content - стиль страницы (без description)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
====#rightHalf- стиль description====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;#content {font-size:25px;}  #rightHalf{font-size:10 px;} &amp;quot;; // Установим размер шрифта сайта и описания&lt;br /&gt;
&lt;br /&gt;
====.selected - стиль при выделении элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .selected {  color: black; } &amp;quot;; // Делаем смену цвета выделенного элемента&lt;br /&gt;
&lt;br /&gt;
====.default - стиль невыделенного элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .default{  color: gray; } &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.contmenu - визуальная кнопка контекстного меню====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .contmenu{ display:none; } &amp;quot;;  // Скрываем кнопку контекстного меню&lt;br /&gt;
&lt;br /&gt;
====.label, .start, .list, .fulleditline, .hlink, .html - стили(верхний уровень) для разных типов элементов $_CH[&amp;quot;position&amp;quot;]  [https://wiki.forkbrowser.top/wiki/FXML#position_.D0.BF.D1.80.D0.B8_.D0.B7.D0.B0.D0.B4.D0.B0.D0.BD.D0.BD.D0.BE.D0.BC_.24_PL.5B.22typeList.22.5D.3D.22start.22.3B]====&lt;br /&gt;
Если не задан $_CH[&amp;quot;position&amp;quot;] элемента то по умолчанию элементы отображаются на странице списком и классом .list&lt;br /&gt;
&lt;br /&gt;
Если при этом задано отображение плиткой ($_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot; ) то по умолчанию элементы отображаются с классом .start&lt;br /&gt;
&lt;br /&gt;
====.labelselected, .startselected, .listselected, .fulleditlineselected, .hlinkselected, .htmlselected - стили(верхний уровень) для выделенных элементов====&lt;br /&gt;
&lt;br /&gt;
=====Установим цвет для выделенных элементов только .list=====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .listselected{color: red; }&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.labeldefault, .startdefault, .listdefault, .fulleditlinedefault, .hlinkdefault, .htmldefault - стили(верхний уровень) для невыделенных элементов====&lt;br /&gt;
&lt;br /&gt;
====.list - зададим свой вид списка====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list{color: red; }&amp;quot;; // Меняем цвет&lt;br /&gt;
&lt;br /&gt;
====.title .icon .rating .numb вложенные в верхний уровень стили заголовка, иконки, рейтинга(для .start), порядкового номера(для .list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .title{color: red; }&amp;quot;; // Меняем цвет заголовков&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .numb { display:none; } &amp;quot;; // Скрываем отображение номера&lt;br /&gt;
&lt;br /&gt;
====Комбинация классов, зададим стиль иконок только для списка (.list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list .icon{background-color:white; margin:2px;}&amp;quot;; // Зададим белую рамку фона для иконок&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cacheinfo&amp;quot;]=&amp;quot;nocache&amp;quot;;  // Не кешировать страницу (при возврате назад страница будет грузиться заново по адресу)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;setcookie&amp;quot;][&amp;quot;name1&amp;quot;]=&amp;quot;value1&amp;quot;; // Аналог cookie вебсайтов. Запомнит для последующих запросов страниц с этого же домена в переменной $_GET[&amp;quot;cookie&amp;quot;][&amp;quot;name1&amp;quot;] значение value1&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;info&amp;quot;]=&amp;quot;Вам уведомление&amp;quot;; // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;confirm&amp;quot;]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Открыть вложенный CHannel?&amp;quot;,&amp;quot;channel&amp;quot;=&amp;gt;[&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://..&amp;quot;]];&lt;br /&gt;
&lt;br /&gt;
===cmd тег (как глобальный так и в playlist_url) - допустимые команды===&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в глобальном теге====&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;historyback(1);&amp;quot;  // Вернуться назад на 1 страницу&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Вам уведомление);&amp;quot;  // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;settitle(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый title&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;setdescription(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый description&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;reload(2);&amp;quot;  // Перезагрузить страницу через 2секунды&lt;br /&gt;
&lt;br /&gt;
В конец cmd к командам выше можно добавить &#039;&#039;&#039;stop();&#039;&#039;&#039; чтобы выполнить команду выше и остановить загрузку новой страницы &lt;br /&gt;
&lt;br /&gt;
например $_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Доступ к этой странице Вам запрещен);stop();&amp;quot; выведет уведомление но оставить пользователя на предыдущей странице.&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в $_CH[&amp;quot;playlist_url&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;cmd:&amp;lt;Команда из списка допустимых&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Например $_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;reload();&amp;quot;; перезагрузит страницу при нажатии&lt;br /&gt;
&lt;br /&gt;
==Глобальный тег aside для вывода бокового меню==&lt;br /&gt;
[[Файл:Aside menu.png|мини|Пример бокового меню Fork]]&lt;br /&gt;
$_PL[&amp;quot;aside&amp;quot;][&amp;quot;channels&amp;quot;][]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Home&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://site.com/&amp;quot;,&amp;quot;style&amp;quot;=&amp;gt;&amp;quot;color:blue;&amp;quot;,&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;https://static.vecteezy.com/system/resources/thumbnails/022/013/913/small/home-icon-illustration-image-vector.jpg&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;aside&amp;quot;][&amp;quot;channels&amp;quot;][]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Category 1&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://site.com/cat1&amp;quot;,&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;https://static.vecteezy.com/system/resources/thumbnails/022/013/913/small/home-icon-illustration-image-vector.jpg&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
Изменить стили бокового меню по умолчанию:&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;].=&amp;quot;.aside_default{margin:5px 0px;padding: 4px;border-radius: 8px;border: 2px solid transparent;}&lt;br /&gt;
&lt;br /&gt;
	.aside_selected{margin:5px 0px;padding: 4px;border-radius: 8px;border: 2px solid #5590e7;}&lt;br /&gt;
&lt;br /&gt;
	.aside_hide{width:30px;background:none;}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	.aside_show{width:auto;background-color:rgba(0, 0, 0, 0.8);}&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
==Channel теги==&lt;br /&gt;
&lt;br /&gt;
===title===&lt;br /&gt;
Заголовок&lt;br /&gt;
&lt;br /&gt;
===playlist_url или stream_url===&lt;br /&gt;
Адрес страницы или адрес видеопотока (непустым может быть только один из этих тегов)&lt;br /&gt;
====stream_url мультиссылки с разными качествами и (или) несколькими источниками, Err format json link====&lt;br /&gt;
Для видеопотока можно задавать мультиссылки с разным качеством (можно и разные озвучки, но это будет не так явно для пользователя), выбор качества будет браться автоматически с настроек Fork(1080 или 720 и т.д.) и (или) несколькими источниками&lt;br /&gt;
&lt;br /&gt;
Пример использования в PHP с json_encode&lt;br /&gt;
В данном примере создается массив с различными ссылками на видеопотоки, и с помощью функции json_encode он преобразуется в JSON-формат для последующего использования:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 // Массив с данными для разных качеств видео и двумя источниками&lt;br /&gt;
 $stream_links = [&lt;br /&gt;
    &amp;quot;360&amp;quot; =&amp;gt; [&lt;br /&gt;
        &amp;quot;title&amp;quot; =&amp;gt; &amp;quot;360p&amp;quot;,&lt;br /&gt;
        &amp;quot;url&amp;quot; =&amp;gt; [&lt;br /&gt;
            &amp;quot;http://server.in/240.mp4&amp;quot;,&lt;br /&gt;
            &amp;quot;http://server2.in/hls/240.mp4&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;720&amp;quot; =&amp;gt; [&lt;br /&gt;
        &amp;quot;title&amp;quot; =&amp;gt; &amp;quot;720p&amp;quot;,&lt;br /&gt;
        &amp;quot;url&amp;quot; =&amp;gt; [&lt;br /&gt;
           &amp;quot;http://server.in/720.mp4&amp;quot;,&lt;br /&gt;
           &amp;quot;http://server2.in/hls/720.mp4&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    ]&lt;br /&gt;
 ];&lt;br /&gt;
 // Преобразование массива в JSON&lt;br /&gt;
 $json_stream_url = json_encode($stream_links);&lt;br /&gt;
 // Использование JSON в $_CH[&amp;quot;stream_url&amp;quot;]&lt;br /&gt;
 $_CH[&amp;quot;stream_url&amp;quot;] = $json_stream_url;&lt;br /&gt;
 // Вывод JSON для проверки&lt;br /&gt;
 echo $_CH[&amp;quot;stream_url&amp;quot;];&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Пример с несколькими источниками:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $stream_links = [&lt;br /&gt;
            &amp;quot;http://server.in/240.mp4&amp;quot;,&lt;br /&gt;
            &amp;quot;http://server2.in/hls/240.mp4&amp;quot;&lt;br /&gt;
        ];&lt;br /&gt;
 // Преобразование массива в JSON&lt;br /&gt;
 $json_stream_url = json_encode($stream_links);&lt;br /&gt;
 // Использование JSON в $_CH[&amp;quot;stream_url&amp;quot;]&lt;br /&gt;
 $_CH[&amp;quot;stream_url&amp;quot;] = $json_stream_url;&lt;br /&gt;
 // Вывод JSON для проверки&lt;br /&gt;
 echo $_CH[&amp;quot;stream_url&amp;quot;];&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===logo_30x30===&lt;br /&gt;
Адрес иконки&lt;br /&gt;
&lt;br /&gt;
===confirm - диалоговое окно с действиями при нажатии на элемент===&lt;br /&gt;
Пример подтверждения выхода с аккаунта&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Выйти&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;confirm&amp;quot;,&amp;quot;confirm&amp;quot;=&amp;gt;[&amp;quot;http://host/?do&amp;lt;nowiki&amp;gt;=exit&amp;quot;],&amp;quot;description&amp;quot;=&amp;gt;&amp;quot;Выйти с аккаунта?&amp;quot;];&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===menu - контекстное меню элемента===&lt;br /&gt;
$menu=[];&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню1&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню2&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;menu&amp;quot;]=$menu;&lt;br /&gt;
&lt;br /&gt;
===position при заданном $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;===&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;&amp;quot;; // - Плитка как в Стартовом меню размером 128х101px)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // - Пример элемента со своим дизайном в $_CH[&amp;quot;template&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;br&amp;quot;]=0; // Не переносить навигацию на новую строку&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание вида&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&amp;quot;width:242px;overflow:hidden;margin:4px;text-align:center;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;width:242px;height:171px;padding:2px 2px 0px 2px;&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;small&amp;gt;$description&amp;lt;/small&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
Элементы будут выстраиваться в ряд и навигация по ним будет предполагать что они в одном ряду&lt;br /&gt;
&lt;br /&gt;
=====$_CH[&amp;quot;br&amp;quot;]=====&lt;br /&gt;
В месте где навигация должна перейти на новую строку задайте $_CH[&amp;quot;br&amp;quot;]=1; При этом в before будет добавлено значение &amp;lt;nowiki&amp;gt;&amp;lt;br clear=both&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;fulleditline&amp;quot;; //- Поле ввода текста шириной почти на всю страницу====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;hlist&amp;quot;; // - горизонтальная ссылка (может быть несколько на одном горизонтальном уровне)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;list&amp;quot;; // -обычный вид списка шириной в половину экрана и с description справа====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;label&amp;quot;; // -невысокая строка на всю ширину экрана====&lt;br /&gt;
&lt;br /&gt;
===location===&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=1; // Переход c заменой текущей ссылки окна на новую (при перезапуске форкплеера будет открываться уже с этой новой ссылки)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=3; // Переход с отображением в текущем окне (при перезапуске форкплеера будет открываться старая ссылка и опять переадресовываться, необходимо если например используются устаревающие сессии)&lt;br /&gt;
&lt;br /&gt;
===after и before - свой html код после и перед элементом списка===&lt;br /&gt;
$_CH[&amp;quot;before&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст перед элементом&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;after&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст после элемента&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===SetTimeInterval - отправка событий клиентом через интервал и вывод сообщений===&lt;br /&gt;
$_CH[&amp;quot;SetTimeInterval&amp;quot;]=[&amp;quot;time&amp;quot;=&amp;gt;1,&amp;quot;onmenu&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onmenu&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;onplay&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onplay&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;time&#039;&#039;&#039; - интервал между отправкой событий в минутах&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onmenu -&#039;&#039;&#039; ссылка для отправки событий если пользователь находится в списке&lt;br /&gt;
&lt;br /&gt;
в ответ по ссылке onmenu &amp;lt;nowiki&amp;gt;http://193.30.240.2/try/ajax/send_status_log.php?action=onmenu&amp;lt;/nowiki&amp;gt; можно давать json &lt;br /&gt;
 {&amp;quot;message&amp;quot;:&amp;quot;Hello user&amp;quot;} &lt;br /&gt;
Это уведомление будет выводится вверху форкплеера&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onplay-&#039;&#039;&#039; ссылка для отправки событий если пользователь смотрит видео&lt;br /&gt;
&lt;br /&gt;
Можно использовать один или два сразу тега onmenu и onplay&lt;br /&gt;
&lt;br /&gt;
===parser - тег загрузки другой страницы перед переходом по playlist_url или stream_url===&lt;br /&gt;
Пример в XML&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
Пример в JSON FXML&lt;br /&gt;
 $_CH[&amp;quot;parser&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|&amp;lt;/nowiki&amp;gt;;&amp;quot;;&lt;br /&gt;
результат отдастся то что между js= и ; &lt;br /&gt;
&lt;br /&gt;
Регулярное выражение (по маркеру .*? )&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|&amp;lt;script&amp;gt;.*?js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
или&lt;br /&gt;
 &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|.*?js]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
преобразуется в RegExp(&amp;quot;&amp;lt;script&amp;gt;.*?js=(.*?);&amp;quot;,&amp;quot;i&amp;quot;) - результат отдастся тот что в () &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&amp;lt;title&amp;gt;Test &amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== #POST в playlist_url означает что все что после него будет передавать методом POST====&lt;br /&gt;
&lt;br /&gt;
В примере выше на адрес http://parser.co/ отправятся POST данные html=md5hash, где md5hash заменятся на полученное от parser&lt;br /&gt;
&lt;br /&gt;
====Допустимо в parser использовать curl запросы (доступны на андроид, частично если форк установлен в память ТВ, или через ремотефорк)====&lt;br /&gt;
&lt;br /&gt;
====Можно перечислить порядок методов запроса парсер, например &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
Сначала будет попытка запроса через remotefork (если включен), потом через андроид класс если Fork запущен на андроиде, потом прямой XHR запрос с попыткой установить заголовки, потом прямой XHR запрос без заголовков&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&lt;br /&gt;
  &amp;lt;title&amp;gt;Test curl and method&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;parser&amp;gt;&amp;lt;![CDATA[curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept-Encoding: deflate&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;]]&amp;gt;&lt;br /&gt;
  &amp;lt;/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Или в JSON&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;channels&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;title&amp;quot;: &amp;quot;Test curl and method&amp;quot;,&lt;br /&gt;
      &amp;quot;cors&amp;quot;: &amp;quot;rf|android|direct|directnoheader&amp;quot;,&lt;br /&gt;
      &amp;quot;playlist_url&amp;quot;: &amp;quot;http://parser.co/#POSThtml=md5hash&amp;quot;,&lt;br /&gt;
      &amp;quot;parser&amp;quot;: &#039;curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept-Encoding: deflate&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;&#039;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Результат будет в $_POST[&#039;html&#039;]&lt;br /&gt;
&lt;br /&gt;
Результат будет аналогично md5hash в $_GET[&#039;page&#039;]&lt;br /&gt;
&lt;br /&gt;
====Методом POST для видеоссылок ( stream_url )====&lt;br /&gt;
 &amp;lt;channel&amp;gt; &lt;br /&gt;
  &amp;lt;title&amp;gt;stream post&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;stream_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://test.ru/index.php#POSTs=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/stream_url&amp;gt;&lt;br /&gt;
  &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[https://yadi.sk/d/0BpgziSQ0VWiFg]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Будет идти отправка POST на &amp;lt;nowiki&amp;gt;http://test.ru/index.php#POSTs=md5hash&amp;lt;/nowiki&amp;gt; в $_POST[&amp;quot;s&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Ответ страницы попадет в проигрыватель в виде ссылки.&lt;br /&gt;
&lt;br /&gt;
Тоесть &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://test.ru/index.php&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; должен дать текст ссылки на медиафайл вида &amp;lt;nowiki&amp;gt;http://.../myvideo.mp4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Скачивание сторонней страницы по необходимости, страница &amp;lt;nowiki&amp;gt;http://parser.co/&amp;lt;/nowiki&amp;gt; может дать json ответ====&lt;br /&gt;
 {&amp;quot;parse&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8&amp;amp;gl=US&amp;amp;hl=en&amp;amp;has_verified=1&amp;amp;bpctr=9999999999&amp;lt;/nowiki&amp;gt;&amp;quot;}&lt;br /&gt;
Скачанная страница шлется в параметре  $_POST[&#039;remoteparse&#039;]&lt;br /&gt;
&lt;br /&gt;
==Построение произвольного положения элементов на странице (c &amp;quot;br&amp;quot; вместо &amp;quot;coordiantion&amp;quot;)==&lt;br /&gt;
&lt;br /&gt;
===Задаем странице вид плиткой (start)===&lt;br /&gt;
 $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Прописываем свои стили===&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;&lt;br /&gt;
&lt;br /&gt;
.myStyle1{&lt;br /&gt;
&lt;br /&gt;
width:242px;&lt;br /&gt;
&lt;br /&gt;
overflow:hidden;&lt;br /&gt;
&lt;br /&gt;
margin:4px;&lt;br /&gt;
&lt;br /&gt;
text-align:center;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.myStyle2{&lt;br /&gt;
width:242px;&lt;br /&gt;
height:171px;&lt;br /&gt;
padding:2px 2px 0px 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Задаем шаблон (template) каждому элементу списка===&lt;br /&gt;
&amp;lt;code&amp;gt;$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // Задает возможность использовать template&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;; // Заголовок - подставляет в шаблоне вместо $title&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;; // Иконка $logo_30x30&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание, если нужно&amp;quot;; // Описание- подставляет в шаблоне вместо $description&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;myStyle1&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;myStyle2&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Перенос на новую строке при html дизайне $_CH[&amp;quot;br&amp;quot;]=1;===&lt;br /&gt;
Для правильной навигации по странице нужно знать когда у вас там новая строка. Для этого в элементе с которого нужно чтоб начиналась новая строка присваиваем &lt;br /&gt;
 $_CH[&amp;quot;br&amp;quot;]=1;// Этот элемент разместится уже на новой строке&lt;br /&gt;
&lt;br /&gt;
==Горизонтальная прокрутка==&lt;br /&gt;
Задаем nowrap только для первого (обзначается br=1) элемента блока горизонтальной прокрутки&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;nowrap&amp;quot;=1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Первый элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Второй элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Третий элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Последний элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Новый элемент с новой строки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==Вывод результирующей страницы (на PHP)==&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Ваш код с наполнением массивов $_PL и $_CH информацией&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;channels&amp;quot;]=$_CH;&lt;br /&gt;
&lt;br /&gt;
print json_encode($_PL);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1942</id>
		<title>FXML</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1942"/>
		<updated>2024-12-14T13:31:38Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* Channel теги */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;FXML&#039;&#039;&#039; (Fork eXtensible Markup Language) - что такое==&lt;br /&gt;
Это язык разметки документов во Всемирной паутине.  Для навигации по таким страницам не требуется мышь или сенсорный экран. Язык &#039;&#039;&#039;FXML&#039;&#039;&#039; интерпретируется такими приложениями как ForkPlayer, OTT Player, OTT-play. Полученный в результате интерпретации форматированный текст отображается на экране телевизора. &lt;br /&gt;
&lt;br /&gt;
====Например, следующий код (должен быть валидным JSON):====&lt;br /&gt;
 {&amp;quot;title&amp;quot;:&amp;quot;COOLTV - портал нового поколения&amp;quot;,&amp;quot;background-image&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;typeList&amp;quot;:&amp;quot;start&amp;quot;,&amp;quot;icon&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool23.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;channels&amp;quot;:[{&amp;quot;title&amp;quot;:&amp;quot;Вход&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/profle22.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/auth&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Новости &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/rss-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/news&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Поиск &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-search-folder-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/search.php&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Кинозал &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/1icons8-film-reel-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;AceStream &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-wave-arrows-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/12&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Обменник &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-next-100.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/obmen/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Сервисы &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8s3-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/9&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;IPTV &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-hdtv-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/8&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Мультимедиа &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-documentary-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/7&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Чат &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-chat-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/guest&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;FAQ &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-info-popup-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/faq/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Копилка&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-bad-piggies-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/copilka&amp;lt;/nowiki&amp;gt;&amp;quot;}]}&lt;br /&gt;
даст такой результат (в ForkPlayer):&lt;br /&gt;
[[Файл:Cooltv.png|мини|600x600пкс|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Все допустимые команды можно посмотреть в исходном коде страниц &lt;br /&gt;
&lt;br /&gt;
https://github.com/vengo634/kino.pub_forkplayerPHP/blob/master/index.php&lt;br /&gt;
&lt;br /&gt;
====Смотреть Исходный код любой страницы можно непосредственно в ForkPlayer====&lt;br /&gt;
[[Файл:VmGe53a9.png|мини|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
и FXML CMS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FXMLbaseparser PHP класс упрощающий верстку кода для Fork browser ==&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/FXMLbaseparser FXMLbaseparser PHP класс]&lt;br /&gt;
&lt;br /&gt;
==Новые теги и команды FXML==&lt;br /&gt;
Новые спецификации FXML добавляются в CHANGELOG, рекомендуем смотреть нужные команды также и там.&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;ping&amp;quot;][&amp;quot;link&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало 1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;; $_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;poster&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/CHANGELOG CHANGELOG]&lt;br /&gt;
&lt;br /&gt;
==Глобальные теги==&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;start&amp;quot;; // Плиточный + другой(с использованием $_CH[&amp;quot;position&amp;quot;] ) виды страницы&lt;br /&gt;
&lt;br /&gt;
====Стили сайта по умолчанию====&lt;br /&gt;
По умолчанию для вашей страницы задаются такие стили (вы их можете изменить задав нужные в $_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:700px; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;Смотреть CSS стили по умолчанию&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button {&lt;br /&gt;
    background-color: #bbbbbb;&lt;br /&gt;
    display: block;&lt;br /&gt;
    border-style: solid;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:decrement {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: transparent transparent #555555;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:increment {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: #555555 transparent transparent transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar {&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-track {&lt;br /&gt;
    background: #ddd;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb {&lt;br /&gt;
    background: #888;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb:hover {&lt;br /&gt;
    background: #777;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    ;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    margin-left: 4px;&lt;br /&gt;
    margin-top: 1px;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .rating {&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    display: none;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    height: 23px;&lt;br /&gt;
    width: 28px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    padding-left: 5px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .icon {&lt;br /&gt;
    padding: 2px 2px 0px 2px;&lt;br /&gt;
    height: 76%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .name {&lt;br /&gt;
    font-size: 17px;&lt;br /&gt;
    line-height: 0.9;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    bottom: 0px;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    max-height: 50%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .title {&lt;br /&gt;
    background: rgba(0, 0, 0, 0.65);&lt;br /&gt;
    border-radius: 3px;&lt;br /&gt;
    width: auto;&lt;br /&gt;
    display: display: inline-block;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    padding: 1px 4px 4px 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .side_icon {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list {&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px 0px 0px 4px;&lt;br /&gt;
    cursor: default;&lt;br /&gt;
    margin: 2px 0px;&lt;br /&gt;
    width: 48.87708333333334%;&lt;br /&gt;
    height: 35px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .contmenu {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    float: right;&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .numb {&lt;br /&gt;
    float: left;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
    font-size: 60%;&lt;br /&gt;
    min-width: 38px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .icon {&lt;br /&gt;
    margin: 0px 2px;&lt;br /&gt;
    padding-right: 2px;&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .title {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    float: left;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listsearch {&lt;br /&gt;
    background-color: #ddd;&lt;br /&gt;
    color: #333;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    padding: 3px;&lt;br /&gt;
    margin-top: 2px;&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
    width: 90%;&lt;br /&gt;
    height: 68%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolinktitle {&lt;br /&gt;
    height: 63%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolink {&lt;br /&gt;
    padding-left: 3px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default .contmenu {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected .contmenu {&lt;br /&gt;
    display: block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.html {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px solid transparent;&lt;br /&gt;
    margin: 0px 4px;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    max-width: 310px;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
    padding: 0px 4px;&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 28px;&lt;br /&gt;
    text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline {&lt;br /&gt;
    border: 1px solid transparent;&lt;br /&gt;
    width: 80%;&lt;br /&gt;
    margin: 1px 9%;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    font-size: 24px;&lt;br /&gt;
    height: 24px;&lt;br /&gt;
    margin: 3px;&lt;br /&gt;
    color: #2b2525;&lt;br /&gt;
    background-color: #eee;&lt;br /&gt;
    padding: 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .icon {&lt;br /&gt;
    float: right;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    margin: -2px 4%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    width: 92%;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    height: 26px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 20px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default {&lt;br /&gt;
    background: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected {&lt;br /&gt;
    background: rgba(180, 180, 180, 0.7);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listselected {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.site {&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    font-size: 27px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    color: rgb(238, 238, 238);&lt;br /&gt;
    margin: 0px;&lt;br /&gt;
    padding: 0px;&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    background-color: transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
small {&lt;br /&gt;
    font-size: 70%;&lt;br /&gt;
    color: gray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.buttons {&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    top: 80%;&lt;br /&gt;
    left: 50%;&lt;br /&gt;
    width: 47%;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    color: #cccccc;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
}&lt;br /&gt;
\#description {&lt;br /&gt;
    top: 0px;&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    font-size: 28px;&lt;br /&gt;
    left: 51%;&lt;br /&gt;
    width: 47.2%;&lt;br /&gt;
    word-break: break-word;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Пример своего стиля (пишите чистый css, он будет преобразован в одну строку)===&lt;br /&gt;
&lt;br /&gt;
===Если строка стилей очень большая, их лучше вынести в отдельный css файл===&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
====#content - стиль страницы (без description)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
====#rightHalf- стиль description====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;#content {font-size:25px;}  #rightHalf{font-size:10 px;} &amp;quot;; // Установим размер шрифта сайта и описания&lt;br /&gt;
&lt;br /&gt;
====.selected - стиль при выделении элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .selected {  color: black; } &amp;quot;; // Делаем смену цвета выделенного элемента&lt;br /&gt;
&lt;br /&gt;
====.default - стиль невыделенного элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .default{  color: gray; } &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.contmenu - визуальная кнопка контекстного меню====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .contmenu{ display:none; } &amp;quot;;  // Скрываем кнопку контекстного меню&lt;br /&gt;
&lt;br /&gt;
====.label, .start, .list, .fulleditline, .hlink, .html - стили(верхний уровень) для разных типов элементов $_CH[&amp;quot;position&amp;quot;]  [https://wiki.forkbrowser.top/wiki/FXML#position_.D0.BF.D1.80.D0.B8_.D0.B7.D0.B0.D0.B4.D0.B0.D0.BD.D0.BD.D0.BE.D0.BC_.24_PL.5B.22typeList.22.5D.3D.22start.22.3B]====&lt;br /&gt;
Если не задан $_CH[&amp;quot;position&amp;quot;] элемента то по умолчанию элементы отображаются на странице списком и классом .list&lt;br /&gt;
&lt;br /&gt;
Если при этом задано отображение плиткой ($_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot; ) то по умолчанию элементы отображаются с классом .start&lt;br /&gt;
&lt;br /&gt;
====.labelselected, .startselected, .listselected, .fulleditlineselected, .hlinkselected, .htmlselected - стили(верхний уровень) для выделенных элементов====&lt;br /&gt;
&lt;br /&gt;
=====Установим цвет для выделенных элементов только .list=====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .listselected{color: red; }&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.labeldefault, .startdefault, .listdefault, .fulleditlinedefault, .hlinkdefault, .htmldefault - стили(верхний уровень) для невыделенных элементов====&lt;br /&gt;
&lt;br /&gt;
====.list - зададим свой вид списка====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list{color: red; }&amp;quot;; // Меняем цвет&lt;br /&gt;
&lt;br /&gt;
====.title .icon .rating .numb вложенные в верхний уровень стили заголовка, иконки, рейтинга(для .start), порядкового номера(для .list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .title{color: red; }&amp;quot;; // Меняем цвет заголовков&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .numb { display:none; } &amp;quot;; // Скрываем отображение номера&lt;br /&gt;
&lt;br /&gt;
====Комбинация классов, зададим стиль иконок только для списка (.list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list .icon{background-color:white; margin:2px;}&amp;quot;; // Зададим белую рамку фона для иконок&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cacheinfo&amp;quot;]=&amp;quot;nocache&amp;quot;;  // Не кешировать страницу (при возврате назад страница будет грузиться заново по адресу)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;setcookie&amp;quot;][&amp;quot;name1&amp;quot;]=&amp;quot;value1&amp;quot;; // Аналог cookie вебсайтов. Запомнит для последующих запросов страниц с этого же домена в переменной $_GET[&amp;quot;cookie&amp;quot;][&amp;quot;name1&amp;quot;] значение value1&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;info&amp;quot;]=&amp;quot;Вам уведомление&amp;quot;; // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;confirm&amp;quot;]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Открыть вложенный CHannel?&amp;quot;,&amp;quot;channel&amp;quot;=&amp;gt;[&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://..&amp;quot;]];&lt;br /&gt;
&lt;br /&gt;
===cmd тег (как глобальный так и в playlist_url) - допустимые команды===&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в глобальном теге====&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;historyback(1);&amp;quot;  // Вернуться назад на 1 страницу&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Вам уведомление);&amp;quot;  // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;settitle(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый title&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;setdescription(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый description&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;reload(2);&amp;quot;  // Перезагрузить страницу через 2секунды&lt;br /&gt;
&lt;br /&gt;
В конец cmd к командам выше можно добавить &#039;&#039;&#039;stop();&#039;&#039;&#039; чтобы выполнить команду выше и остановить загрузку новой страницы &lt;br /&gt;
&lt;br /&gt;
например $_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Доступ к этой странице Вам запрещен);stop();&amp;quot; выведет уведомление но оставить пользователя на предыдущей странице.&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в $_CH[&amp;quot;playlist_url&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;cmd:&amp;lt;Команда из списка допустимых&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Например $_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;reload();&amp;quot;; перезагрузит страницу при нажатии&lt;br /&gt;
&lt;br /&gt;
==Глобальный тег aside для вывода бокового меню==&lt;br /&gt;
$_PL[&amp;quot;aside&amp;quot;][&amp;quot;channels&amp;quot;][]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Home&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://site.com/&amp;quot;,&amp;quot;style&amp;quot;=&amp;gt;&amp;quot;color:blue;&amp;quot;,&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;https://static.vecteezy.com/system/resources/thumbnails/022/013/913/small/home-icon-illustration-image-vector.jpg&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;aside&amp;quot;][&amp;quot;channels&amp;quot;][]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Category 1&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://site.com/cat1&amp;quot;,&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;https://static.vecteezy.com/system/resources/thumbnails/022/013/913/small/home-icon-illustration-image-vector.jpg&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
Изменить стили бокового меню по умолчанию:&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;].=&amp;quot;.aside_default{margin:5px 0px;padding: 4px;border-radius: 8px;border: 2px solid transparent;}&lt;br /&gt;
&lt;br /&gt;
	.aside_selected{margin:5px 0px;padding: 4px;border-radius: 8px;border: 2px solid #5590e7;}&lt;br /&gt;
&lt;br /&gt;
	.aside_hide{width:30px;background:none;}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	.aside_show{width:auto;background-color:rgba(0, 0, 0, 0.8);}&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Channel теги==&lt;br /&gt;
&lt;br /&gt;
===title===&lt;br /&gt;
Заголовок&lt;br /&gt;
&lt;br /&gt;
===playlist_url или stream_url===&lt;br /&gt;
Адрес страницы или адрес видеопотока (непустым может быть только один из этих тегов)&lt;br /&gt;
====stream_url мультиссылки с разными качествами и (или) несколькими источниками, Err format json link====&lt;br /&gt;
Для видеопотока можно задавать мультиссылки с разным качеством (можно и разные озвучки, но это будет не так явно для пользователя), выбор качества будет браться автоматически с настроек Fork(1080 или 720 и т.д.) и (или) несколькими источниками&lt;br /&gt;
&lt;br /&gt;
Пример использования в PHP с json_encode&lt;br /&gt;
В данном примере создается массив с различными ссылками на видеопотоки, и с помощью функции json_encode он преобразуется в JSON-формат для последующего использования:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 // Массив с данными для разных качеств видео и двумя источниками&lt;br /&gt;
 $stream_links = [&lt;br /&gt;
    &amp;quot;360&amp;quot; =&amp;gt; [&lt;br /&gt;
        &amp;quot;title&amp;quot; =&amp;gt; &amp;quot;360p&amp;quot;,&lt;br /&gt;
        &amp;quot;url&amp;quot; =&amp;gt; [&lt;br /&gt;
            &amp;quot;http://server.in/240.mp4&amp;quot;,&lt;br /&gt;
            &amp;quot;http://server2.in/hls/240.mp4&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;720&amp;quot; =&amp;gt; [&lt;br /&gt;
        &amp;quot;title&amp;quot; =&amp;gt; &amp;quot;720p&amp;quot;,&lt;br /&gt;
        &amp;quot;url&amp;quot; =&amp;gt; [&lt;br /&gt;
           &amp;quot;http://server.in/720.mp4&amp;quot;,&lt;br /&gt;
           &amp;quot;http://server2.in/hls/720.mp4&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    ]&lt;br /&gt;
 ];&lt;br /&gt;
 // Преобразование массива в JSON&lt;br /&gt;
 $json_stream_url = json_encode($stream_links);&lt;br /&gt;
 // Использование JSON в $_CH[&amp;quot;stream_url&amp;quot;]&lt;br /&gt;
 $_CH[&amp;quot;stream_url&amp;quot;] = $json_stream_url;&lt;br /&gt;
 // Вывод JSON для проверки&lt;br /&gt;
 echo $_CH[&amp;quot;stream_url&amp;quot;];&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Пример с несколькими источниками:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $stream_links = [&lt;br /&gt;
            &amp;quot;http://server.in/240.mp4&amp;quot;,&lt;br /&gt;
            &amp;quot;http://server2.in/hls/240.mp4&amp;quot;&lt;br /&gt;
        ];&lt;br /&gt;
 // Преобразование массива в JSON&lt;br /&gt;
 $json_stream_url = json_encode($stream_links);&lt;br /&gt;
 // Использование JSON в $_CH[&amp;quot;stream_url&amp;quot;]&lt;br /&gt;
 $_CH[&amp;quot;stream_url&amp;quot;] = $json_stream_url;&lt;br /&gt;
 // Вывод JSON для проверки&lt;br /&gt;
 echo $_CH[&amp;quot;stream_url&amp;quot;];&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===logo_30x30===&lt;br /&gt;
Адрес иконки&lt;br /&gt;
&lt;br /&gt;
===confirm - диалоговое окно с действиями при нажатии на элемент===&lt;br /&gt;
Пример подтверждения выхода с аккаунта&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Выйти&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;confirm&amp;quot;,&amp;quot;confirm&amp;quot;=&amp;gt;[&amp;quot;http://host/?do&amp;lt;nowiki&amp;gt;=exit&amp;quot;],&amp;quot;description&amp;quot;=&amp;gt;&amp;quot;Выйти с аккаунта?&amp;quot;];&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===menu - контекстное меню элемента===&lt;br /&gt;
$menu=[];&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню1&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню2&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;menu&amp;quot;]=$menu;&lt;br /&gt;
&lt;br /&gt;
===position при заданном $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;===&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;&amp;quot;; // - Плитка как в Стартовом меню размером 128х101px)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // - Пример элемента со своим дизайном в $_CH[&amp;quot;template&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;br&amp;quot;]=0; // Не переносить навигацию на новую строку&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание вида&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&amp;quot;width:242px;overflow:hidden;margin:4px;text-align:center;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;width:242px;height:171px;padding:2px 2px 0px 2px;&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;small&amp;gt;$description&amp;lt;/small&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
Элементы будут выстраиваться в ряд и навигация по ним будет предполагать что они в одном ряду&lt;br /&gt;
&lt;br /&gt;
=====$_CH[&amp;quot;br&amp;quot;]=====&lt;br /&gt;
В месте где навигация должна перейти на новую строку задайте $_CH[&amp;quot;br&amp;quot;]=1; При этом в before будет добавлено значение &amp;lt;nowiki&amp;gt;&amp;lt;br clear=both&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;fulleditline&amp;quot;; //- Поле ввода текста шириной почти на всю страницу====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;hlist&amp;quot;; // - горизонтальная ссылка (может быть несколько на одном горизонтальном уровне)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;list&amp;quot;; // -обычный вид списка шириной в половину экрана и с description справа====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;label&amp;quot;; // -невысокая строка на всю ширину экрана====&lt;br /&gt;
&lt;br /&gt;
===location===&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=1; // Переход c заменой текущей ссылки окна на новую (при перезапуске форкплеера будет открываться уже с этой новой ссылки)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=3; // Переход с отображением в текущем окне (при перезапуске форкплеера будет открываться старая ссылка и опять переадресовываться, необходимо если например используются устаревающие сессии)&lt;br /&gt;
&lt;br /&gt;
===after и before - свой html код после и перед элементом списка===&lt;br /&gt;
$_CH[&amp;quot;before&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст перед элементом&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;after&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст после элемента&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===SetTimeInterval - отправка событий клиентом через интервал и вывод сообщений===&lt;br /&gt;
$_CH[&amp;quot;SetTimeInterval&amp;quot;]=[&amp;quot;time&amp;quot;=&amp;gt;1,&amp;quot;onmenu&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onmenu&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;onplay&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onplay&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;time&#039;&#039;&#039; - интервал между отправкой событий в минутах&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onmenu -&#039;&#039;&#039; ссылка для отправки событий если пользователь находится в списке&lt;br /&gt;
&lt;br /&gt;
в ответ по ссылке onmenu &amp;lt;nowiki&amp;gt;http://193.30.240.2/try/ajax/send_status_log.php?action=onmenu&amp;lt;/nowiki&amp;gt; можно давать json &lt;br /&gt;
 {&amp;quot;message&amp;quot;:&amp;quot;Hello user&amp;quot;} &lt;br /&gt;
Это уведомление будет выводится вверху форкплеера&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onplay-&#039;&#039;&#039; ссылка для отправки событий если пользователь смотрит видео&lt;br /&gt;
&lt;br /&gt;
Можно использовать один или два сразу тега onmenu и onplay&lt;br /&gt;
&lt;br /&gt;
===parser - тег загрузки другой страницы перед переходом по playlist_url или stream_url===&lt;br /&gt;
Пример в XML&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
Пример в JSON FXML&lt;br /&gt;
 $_CH[&amp;quot;parser&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|&amp;lt;/nowiki&amp;gt;;&amp;quot;;&lt;br /&gt;
результат отдастся то что между js= и ; &lt;br /&gt;
&lt;br /&gt;
Регулярное выражение (по маркеру .*? )&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|&amp;lt;script&amp;gt;.*?js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
или&lt;br /&gt;
 &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|.*?js]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
преобразуется в RegExp(&amp;quot;&amp;lt;script&amp;gt;.*?js=(.*?);&amp;quot;,&amp;quot;i&amp;quot;) - результат отдастся тот что в () &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&amp;lt;title&amp;gt;Test &amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== #POST в playlist_url означает что все что после него будет передавать методом POST====&lt;br /&gt;
&lt;br /&gt;
В примере выше на адрес http://parser.co/ отправятся POST данные html=md5hash, где md5hash заменятся на полученное от parser&lt;br /&gt;
&lt;br /&gt;
====Допустимо в parser использовать curl запросы (доступны на андроид, частично если форк установлен в память ТВ, или через ремотефорк)====&lt;br /&gt;
&lt;br /&gt;
====Можно перечислить порядок методов запроса парсер, например &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
Сначала будет попытка запроса через remotefork (если включен), потом через андроид класс если Fork запущен на андроиде, потом прямой XHR запрос с попыткой установить заголовки, потом прямой XHR запрос без заголовков&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&lt;br /&gt;
  &amp;lt;title&amp;gt;Test curl and method&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;parser&amp;gt;&amp;lt;![CDATA[curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept-Encoding: deflate&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;]]&amp;gt;&lt;br /&gt;
  &amp;lt;/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Или в JSON&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;channels&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;title&amp;quot;: &amp;quot;Test curl and method&amp;quot;,&lt;br /&gt;
      &amp;quot;cors&amp;quot;: &amp;quot;rf|android|direct|directnoheader&amp;quot;,&lt;br /&gt;
      &amp;quot;playlist_url&amp;quot;: &amp;quot;http://parser.co/#POSThtml=md5hash&amp;quot;,&lt;br /&gt;
      &amp;quot;parser&amp;quot;: &#039;curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept-Encoding: deflate&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;&#039;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Результат будет в $_POST[&#039;html&#039;]&lt;br /&gt;
&lt;br /&gt;
Результат будет аналогично md5hash в $_GET[&#039;page&#039;]&lt;br /&gt;
&lt;br /&gt;
====Методом POST для видеоссылок ( stream_url )====&lt;br /&gt;
 &amp;lt;channel&amp;gt; &lt;br /&gt;
  &amp;lt;title&amp;gt;stream post&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;stream_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://test.ru/index.php#POSTs=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/stream_url&amp;gt;&lt;br /&gt;
  &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[https://yadi.sk/d/0BpgziSQ0VWiFg]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Будет идти отправка POST на &amp;lt;nowiki&amp;gt;http://test.ru/index.php#POSTs=md5hash&amp;lt;/nowiki&amp;gt; в $_POST[&amp;quot;s&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Ответ страницы попадет в проигрыватель в виде ссылки.&lt;br /&gt;
&lt;br /&gt;
Тоесть &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://test.ru/index.php&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; должен дать текст ссылки на медиафайл вида &amp;lt;nowiki&amp;gt;http://.../myvideo.mp4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Скачивание сторонней страницы по необходимости, страница &amp;lt;nowiki&amp;gt;http://parser.co/&amp;lt;/nowiki&amp;gt; может дать json ответ====&lt;br /&gt;
 {&amp;quot;parse&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8&amp;amp;gl=US&amp;amp;hl=en&amp;amp;has_verified=1&amp;amp;bpctr=9999999999&amp;lt;/nowiki&amp;gt;&amp;quot;}&lt;br /&gt;
Скачанная страница шлется в параметре  $_POST[&#039;remoteparse&#039;]&lt;br /&gt;
&lt;br /&gt;
==Построение произвольного положения элементов на странице (c &amp;quot;br&amp;quot; вместо &amp;quot;coordiantion&amp;quot;)==&lt;br /&gt;
&lt;br /&gt;
===Задаем странице вид плиткой (start)===&lt;br /&gt;
 $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Прописываем свои стили===&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;&lt;br /&gt;
&lt;br /&gt;
.myStyle1{&lt;br /&gt;
&lt;br /&gt;
width:242px;&lt;br /&gt;
&lt;br /&gt;
overflow:hidden;&lt;br /&gt;
&lt;br /&gt;
margin:4px;&lt;br /&gt;
&lt;br /&gt;
text-align:center;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.myStyle2{&lt;br /&gt;
width:242px;&lt;br /&gt;
height:171px;&lt;br /&gt;
padding:2px 2px 0px 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Задаем шаблон (template) каждому элементу списка===&lt;br /&gt;
&amp;lt;code&amp;gt;$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // Задает возможность использовать template&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;; // Заголовок - подставляет в шаблоне вместо $title&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;; // Иконка $logo_30x30&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание, если нужно&amp;quot;; // Описание- подставляет в шаблоне вместо $description&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;myStyle1&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;myStyle2&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Перенос на новую строке при html дизайне $_CH[&amp;quot;br&amp;quot;]=1;===&lt;br /&gt;
Для правильной навигации по странице нужно знать когда у вас там новая строка. Для этого в элементе с которого нужно чтоб начиналась новая строка присваиваем &lt;br /&gt;
 $_CH[&amp;quot;br&amp;quot;]=1;// Этот элемент разместится уже на новой строке&lt;br /&gt;
&lt;br /&gt;
==Горизонтальная прокрутка==&lt;br /&gt;
Задаем nowrap только для первого (обзначается br=1) элемента блока горизонтальной прокрутки&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;nowrap&amp;quot;=1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Первый элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Второй элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Третий элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Последний элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Новый элемент с новой строки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==Вывод результирующей страницы (на PHP)==&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Ваш код с наполнением массивов $_PL и $_CH информацией&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;channels&amp;quot;]=$_CH;&lt;br /&gt;
&lt;br /&gt;
print json_encode($_PL);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=CHANGELOG&amp;diff=1941</id>
		<title>CHANGELOG</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=CHANGELOG&amp;diff=1941"/>
		<updated>2024-12-14T13:29:52Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* 14.12.2024 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;История изменений в Fork browser в порядке убывания&lt;br /&gt;
==14.12.2024==&lt;br /&gt;
[[Файл:Aside menu.png|мини|Пример бокового меню Fork]]&lt;br /&gt;
===Добавлен глобальный тег aside для вывода бокового меню===&lt;br /&gt;
$_PL[&amp;quot;aside&amp;quot;][&amp;quot;channels&amp;quot;][]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Home&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://site.com/&amp;quot;,&amp;quot;style&amp;quot;=&amp;gt;&amp;quot;color:blue;&amp;quot;,&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;https://static.vecteezy.com/system/resources/thumbnails/022/013/913/small/home-icon-illustration-image-vector.jpg&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;aside&amp;quot;][&amp;quot;channels&amp;quot;][]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Category 1&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://site.com/cat1&amp;quot;,&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;https://static.vecteezy.com/system/resources/thumbnails/022/013/913/small/home-icon-illustration-image-vector.jpg&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
Изменить стили бокового меню по умолчанию:&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;].=&amp;quot;.aside_default{margin:5px 0px;padding: 4px;border-radius: 8px;border: 2px solid transparent;}&lt;br /&gt;
&lt;br /&gt;
	.aside_selected{margin:5px 0px;padding: 4px;border-radius: 8px;border: 2px solid #5590e7;}&lt;br /&gt;
&lt;br /&gt;
	.aside_hide{width:30px;background:none;}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	.aside_show{width:auto;background-color:rgba(0, 0, 0, 0.8);}&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
==13.05.2024==&lt;br /&gt;
===Добавлен глобальный тег ping для выполнения действий когда они станут доступны===&lt;br /&gt;
&lt;br /&gt;
Например в Fork browser можно отслеживать введение кода с телефона и загружать автоматически страницу&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;ping&amp;quot;][&amp;quot;link&amp;quot;]=&amp;quot;http://example.com/check.php?hash&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Если check.php отдает пустой ответ то Fork продолжает проверять страницу каждые 6сек.&lt;br /&gt;
&lt;br /&gt;
Если check.php отдает страницу с &amp;quot;channels&amp;quot; то загружается она&lt;br /&gt;
&lt;br /&gt;
(например $_PL[&amp;quot;channels&amp;quot;]=[[&amp;quot;location&amp;quot;=&amp;gt;1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Успешно вошли! Нажмите для переадресации...&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://example.com/&amp;quot;]];&lt;br /&gt;
&lt;br /&gt;
==25.02.2024==&lt;br /&gt;
===Добавлены дополнительные теги для видеоплеера===&lt;br /&gt;
Нужны для того чтобы на по разному выдавать информацию на сайте и видеоплеере&lt;br /&gt;
Например&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало 1 сезон 1 серия&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;;&lt;br /&gt;
[[Файл:Halo.png|мини|Вид экрана плеера]]&lt;br /&gt;
Плеер сначала ищет в первом теге, если он пустой то берет со второго, общего тега&lt;br /&gt;
&lt;br /&gt;
====Картинка в видеоплеере слева внизу====&lt;br /&gt;
$_CH[&amp;quot;poster&amp;quot;]=&amp;quot;http://example.com/videoposter.png&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
если он будет пустой то берет отсюда:&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo30x30&amp;quot;]=&amp;quot;http://example.com/videoposter.png&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====Название отображаемое над полосой прогреса====&lt;br /&gt;
$_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
если он будет пустой то берет отсюда:&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====Информация более мелким шрифтом под прогресом====&lt;br /&gt;
$_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
если он будет пустой то берет отсюда:&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
==15.09.2023==&lt;br /&gt;
===Добавлена поддержка css файлов===&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==24.08.2023==&lt;br /&gt;
Изменения для страниц типа $_PL[typeList]=html&lt;br /&gt;
===Добавлена горизонтальная прокрутка элементов списка===&lt;br /&gt;
&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/FXML#.D0.93.D0.BE.D1.80.D0.B8.D0.B7.D0.BE.D0.BD.D1.82.D0.B0.D0.BB.D1.8C.D0.BD.D0.B0.D1.8F_.D0.BF.D1.80.D0.BE.D0.BA.D1.80.D1.83.D1.82.D0.BA.D0.B0 Тег nowrap подробнее]&lt;br /&gt;
&lt;br /&gt;
===Перенос на новую строку теперь через тег $_CH[br]=1===&lt;br /&gt;
&lt;br /&gt;
===По умолчанию страницы теперь во весь экран===&lt;br /&gt;
Панель инструментов с адресной строкой вверху Fork браузера теперь автоматически скрываются, это позволяет делать порталы более информативными&lt;br /&gt;
&lt;br /&gt;
==03.07.2021==&lt;br /&gt;
&lt;br /&gt;
===Параметры ссылок добавлением # в конец ссылки===&lt;br /&gt;
&lt;br /&gt;
====#direct - если сайт требует чистой ссылки без каких либо добавлений====&lt;br /&gt;
например &amp;lt;nowiki&amp;gt;http://pastebin.com/yuUtYu56g#direct&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ссылка будет открываться в чистом виде &amp;lt;nowiki&amp;gt;http://pastebin.com/yuUtYu56g&amp;lt;/nowiki&amp;gt; без отправки параметров (обычно форкплеер добавляет к ссылке ваши параметры, кукис и идентификатор)&lt;br /&gt;
&lt;br /&gt;
====#stream_url открывать в плеере====&lt;br /&gt;
Ссылка откроется в видеоплеере&lt;br /&gt;
&lt;br /&gt;
==17.02.2021==&lt;br /&gt;
&lt;br /&gt;
===Выпадающий список (тег элемента - menu)===&lt;br /&gt;
[[Файл:Меню.png|мини|Пример выпадающего списка]]&lt;br /&gt;
Задается аналогично вложенным спискам только с тегом menu&lt;br /&gt;
&lt;br /&gt;
Пример выбора сезона на PHP&lt;br /&gt;
&lt;br /&gt;
$menu=[];&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Сезон 2&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; // Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Сезон 3&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; // Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Сезон 1 - нажмите для выбора сезона&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;menu&amp;quot;,&amp;quot;menu&amp;quot;=&amp;gt;$menu];&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==12.12.2020==&lt;br /&gt;
&lt;br /&gt;
===Прокрутка части большого описания кнопками переключения каналов (PG_UP, PG_DOWN)===&lt;br /&gt;
Добавьте в описание div с id &#039;&#039;scrolled&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&#039;MY TITLE STATIC&amp;lt;nowiki&amp;gt;&amp;lt;div id=&amp;quot;scrolled&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
PG_UP PG_DOWN &lt;br /&gt;
&lt;br /&gt;
large scrolled content&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
MY FOOTER STATIC&#039;;&lt;br /&gt;
&lt;br /&gt;
==06.09.2020==&lt;br /&gt;
&lt;br /&gt;
===Глобальный тег выравнивания (при виде плиткой) - по умолчанию по центру===&lt;br /&gt;
$_PL[&amp;quot;align&amp;quot;]=&amp;quot;left&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Новый вид элемента position=html Свой шаблон для элемента любого вида===&lt;br /&gt;
&lt;br /&gt;
===Новый тег элемента template (сработает при position=html)===&lt;br /&gt;
[[Файл:Координаты.png|мини]]&lt;br /&gt;
Обязательно наличие template с переменными $title и $logo_30x30 - вместо них будет подставлено значение из $_CH[&amp;quot;title&amp;quot;] и $_CH[&amp;quot;logo_30x30 &amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&amp;quot;width:242px;overflow:hidden;margin:4px;text-align:center;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;width:242px;height:171px;padding:2px 2px 0px 2px;&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
===Новый тег элемента coordination (нужно при template своего размера, для правильной навигации по странице)===&lt;br /&gt;
$_CH[&amp;quot;coordination&amp;quot;]=[x,y];&lt;br /&gt;
&lt;br /&gt;
Где x это позиция по горизонтали, y - по вертикали&lt;br /&gt;
&lt;br /&gt;
Начальный элемент идет с $_CH[&amp;quot;coordination&amp;quot;]=[0,0];&lt;br /&gt;
&lt;br /&gt;
Если следующий элемент идет например на новой строке то нужно ему присвоить $_CH[&amp;quot;coordination&amp;quot;]=[1,0];&lt;br /&gt;
&lt;br /&gt;
==14.06.2020==&lt;br /&gt;
[[Файл:SetIP.png|мини]]&lt;br /&gt;
&lt;br /&gt;
===Локальные переменные LOCAL_IP, TORRSERVE_IP, ACE_IP===&lt;br /&gt;
Прописываются пользователем форкплеера в настройках приложения.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Если не указан TORRSERVE_IP или ACE_IP&#039;&#039;&#039; то вместо них будет вставлен LOCAL_IP (устройство с ремотефорком)&lt;br /&gt;
&lt;br /&gt;
Если не указан также и LOCAL_IP то вместо них будет вставлен локальный IP 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
===Примеры TORRSERVE_IP, ACE_IP в торрент magnet ссылках вашего портала===&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;(magnet) &#039;&#039;&#039;acestream&#039;&#039;&#039; &amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://ACE_IP:6878/server/api?method=get_media_files&amp;amp;magnet=&amp;lt;/nowiki&amp;gt;&amp;quot;.urlencode(&amp;quot;&amp;lt;nowiki&amp;gt;magnet:?xt=urn:btih:642a36ec9dcb2c5ba7b08835bd04ae8738281bb1&amp;amp;dn=rutor.org_%D0%A1%D1%82%D0%B0%D1%80%D0%B8%D0%BA+%D0%B2+%D0%BF%D0%BE%D1%82%D1%91%D1%80%D1%82%D0%BE%D0%B9+%D1%88%D0%B8%D0%BD%D0%B5%D0%BB%D0%B8+%281964%29+SATRip-AVC+%D0%BE%D1%82+New-Team&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=retracker.local/announce&amp;lt;/nowiki&amp;gt;&amp;quot;)];&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;(magnet) &#039;&#039;&#039;torrserve&#039;&#039;&#039; &amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://TORRSERVE_IP:8090/torrent/play?m3u=true&amp;amp;link=&amp;lt;/nowiki&amp;gt;&amp;quot;.urlencode(&amp;quot;&amp;lt;nowiki&amp;gt;magnet:?xt=urn:btih:642a36ec9dcb2c5ba7b08835bd04ae8738281bb1&amp;amp;dn=rutor.org_%D0%A1%D1%82%D0%B0%D1%80%D0%B8%D0%BA+%D0%B2+%D0%BF%D0%BE%D1%82%D1%91%D1%80%D1%82%D0%BE%D0%B9+%D1%88%D0%B8%D0%BD%D0%B5%D0%BB%D0%B8+%281964%29+SATRip-AVC+%D0%BE%D1%82+New-Team&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=retracker.local/announce&amp;lt;/nowiki&amp;gt;&amp;quot;)];&lt;br /&gt;
&lt;br /&gt;
===Пример торрент магнет ссылки с автоматическим выбором torrserve или ace stream сервера===&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;(magnet) через ace stream или torrserve&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;magnet:?xt=urn:btih:642a36ec9dcb2c5ba7b08835bd04ae8738281bb1&amp;amp;dn=rutor.org_%D0%A1%D1%82%D0%B0%D1%80%D0%B8%D0%BA+%D0%B2+%D0%BF%D0%BE%D1%82%D1%91%D1%80%D1%82%D0%BE%D0%B9+%D1%88%D0%B8%D0%BD%D0%B5%D0%BB%D0%B8+%281964%29+SATRip-AVC+%D0%BE%D1%82+New-Team&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=retracker.local/announce&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==11.04.2020==&lt;br /&gt;
&lt;br /&gt;
===Теги after и before - свой html код после и перед элементом списка===&lt;br /&gt;
$_CH[&amp;quot;before&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст перед элементом&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;after&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст после элемента&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Тег url_tvg в FXML странице  - своя телепрограмма===&lt;br /&gt;
Поддерживается только формат xmltv (сжатый и нет)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;url_tvg&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://epg.it999.ru/edem.xml.gz&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Параметр url-tvg в M3U плейлисте  - своя телепрограмма===&lt;br /&gt;
Поддерживается только формат xmltv (сжатый и нет)&lt;br /&gt;
&lt;br /&gt;
Начало плейлиста делаем таким&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;EXTM3U url-tvg=&amp;quot;&amp;lt;nowiki&amp;gt;http://epg.it999.ru/edem.xml.gz&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==07.03.2020==&lt;br /&gt;
&lt;br /&gt;
===Тег subtitles - субтитры===&lt;br /&gt;
$_CH[&amp;quot;subtitles&amp;quot;][0]=[&amp;quot;UA&amp;quot;,&amp;quot;&amp;lt;nowiki&amp;gt;https://tortuga.wtf/player/subtitle/18625_ua.vtt&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;subtitles&amp;quot;][1]=[&amp;quot;EN&amp;quot;,&amp;quot;&amp;lt;nowiki&amp;gt;https://tortuga.wtf/player/subtitle/18625_en.vtt&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;subtitles&amp;quot;][2]=[&amp;quot;RU&amp;quot;,&amp;quot;&amp;lt;nowiki&amp;gt;https://tortuga.wtf/player/subtitle/18625_ru.vtt&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==04.02.2020==&lt;br /&gt;
&lt;br /&gt;
===Добавлена поддержка ссылок Яндекс диска.===&lt;br /&gt;
Ссылка должна быть в поле stream_url или в m3u плейлисте в формате https://yadi.sk/i/idfile&lt;br /&gt;
&lt;br /&gt;
==28.11.2019==&lt;br /&gt;
[[Файл:Position.png|мини]]&lt;br /&gt;
&lt;br /&gt;
===Тег position===&lt;br /&gt;
Тег указывает как позиционировать элемент списка на экране с видом &amp;quot;start&amp;quot;&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;; // При другом виде страницы не сработает&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;fulleditline&amp;quot;; //- Поле ввода текста шириной почти на всю страницу&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;hlist&amp;quot;; // - горизонтальная ссылка (может быть несколько на одном горизонтальном уровне)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;list&amp;quot;; // -обычный вид списка шириной в половину экрана и с  description справа&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;label&amp;quot;; // -невысокая строка на всю ширину экрана&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;bigtile&amp;quot;; // - Плитка увеличенной в 2 раза высоты (128х215px)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;&amp;quot;; // - Плитка обычного размера как в Стартовом меню (128х101px)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==14.11.2019==&lt;br /&gt;
&lt;br /&gt;
===Тег элемента списка location (Переадресация)===&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=1; // Переход c заменой текущей ссылки окна на новую (при перезапуске форкплеера будет открываться уже с этой новой ссылки)&lt;br /&gt;
Тот&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=3; // Переход с отображением в текущем окне (при перезапуске форкплеера будет открываться старая ссылка и опять переадресовываться, необходимо если например используются устаревающие сессии)&lt;br /&gt;
&lt;br /&gt;
==08.11.2019==&lt;br /&gt;
&lt;br /&gt;
===[[Подключение архива]] телепередач в iptv плейлисте m3u===&lt;br /&gt;
&lt;br /&gt;
==06.10.2019==&lt;br /&gt;
&lt;br /&gt;
===Разные качества в stream_url===&lt;br /&gt;
Пример на PHP&lt;br /&gt;
&lt;br /&gt;
$QualLinks=[&amp;quot;2040&amp;quot;=&amp;gt;[&amp;quot;url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://file_com/q1&amp;lt;/nowiki&amp;gt;&amp;quot;],&amp;quot;1080&amp;quot;=&amp;gt;[&amp;quot;url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://file_com/q2&amp;lt;/nowiki&amp;gt;&amp;quot;],&amp;quot;720&amp;quot;=&amp;gt;[&amp;quot;url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://file_com/q3&amp;lt;/nowiki&amp;gt;&amp;quot;] ];&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;stream_url&amp;quot;]=json_encode($QualLinks);&lt;br /&gt;
&lt;br /&gt;
В результате должна быть строка в формате JSON вида&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;stream_url&amp;quot;]=&#039;{&amp;quot;480&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://hls-c2&amp;lt;/nowiki&amp;gt;&amp;quot;},&amp;quot;720&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://hls-c1&amp;lt;/nowiki&amp;gt;&amp;quot;},&amp;quot;1080&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://hls-c0&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;}}&#039;;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==12.09.2019==&lt;br /&gt;
&lt;br /&gt;
===Автообновление страницы через заданное время (в секундах)===&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;reload(3);&amp;quot;; - где 3 это три секунды&lt;br /&gt;
&lt;br /&gt;
[[Файл:[[Медиа:Пример.jpg]]&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Вставьте сюда текст, который не нужно форматировать&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
== Вставьте сюда текст, который не нужно форматировать ==&lt;br /&gt;
[[[http://www.example.com заголовок ссылки]]&#039;&#039;&#039;&#039;&#039;Курсивное начертание&#039;&#039;&#039;&#039;&#039;]&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;]]==29.08.2019==&lt;br /&gt;
&lt;br /&gt;
===Добавлены тип ссылки Iframe.===&lt;br /&gt;
На место элемента списка вставляется содержимое из ссылки. Использовать можно например для поиска по очереди по нескольким плейлистам (Глобальный поиск).&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Поиск Terminator в filmix.red&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;https://filmix.red/fork/search?search=Terminator&amp;lt;/nowiki&amp;gt;&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;iframe&amp;quot;=&amp;gt;&amp;quot;4&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;timeout&amp;quot;=&amp;gt;8&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
Где &amp;quot;iframe&amp;quot; обязательный параметр. Число обозначает сколько показать ссылок из дочерней ссылки сразу, остальное будет внизу списка. &amp;quot;iframe&amp;quot;=&amp;gt;&amp;quot;0&amp;quot; - значит показать все.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;timeout&amp;quot; это таймаут ожиданния получения содержимого из дочерней ссылки&lt;br /&gt;
&lt;br /&gt;
===Глобальный поиск перенесен на spiderxml.com===&lt;br /&gt;
поиск идет через Iframe, в подсказках подбираются кроме ранее вводимых значений еще и история&lt;br /&gt;
&lt;br /&gt;
==19.06.2019==&lt;br /&gt;
&lt;br /&gt;
===Восстановление предыдущего виртуального идентификатора (мак адреса)===&lt;br /&gt;
Если у вас сменился виртуальный мак адрес ( например при сбросе тв к заводским или прочих сбоях памяти тв), то его можно восстановить войдя в аккаунт в ForkPlayer / Мой аккаунт / Настройки / Восстановить идентификатор ( мак адрес)&lt;br /&gt;
&lt;br /&gt;
Такая возможность доступна только если вы ранее уже входили в аккаунт и не вышли с него!&lt;br /&gt;
&lt;br /&gt;
==11.06.2019==&lt;br /&gt;
&lt;br /&gt;
===Новая переменная box_user в GET запросах===&lt;br /&gt;
Если в ForkPlayer войти в аккаунт (Меню/Настройки/Мой аккаунт) то в переменной $_GET[&amp;quot;box_user&amp;quot;] будет передаваться ваш емайл, если например открывать портал &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://nserv.host/&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
То ForkPlayer отправит запрос c такими идентификаторами&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;http://nserv.host/?box_mac=&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;your_mac_addres&#039;&#039;&#039;&amp;amp;box_user=&#039;&#039;&#039;your_forkplayer_tv@email&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==04.06.2019==&lt;br /&gt;
&lt;br /&gt;
===Изменения внешнего вида поисковых полей, клавиатуры===&lt;br /&gt;
&lt;br /&gt;
===Изменен формат Истории===&lt;br /&gt;
&lt;br /&gt;
==16.05.2019==&lt;br /&gt;
&lt;br /&gt;
===JWplayer добавлен тип плеера===&lt;br /&gt;
В настройках форкплеера добавлен тип плеера JW Player [https://jwplayer.com], он построен на базе HTML5 потому поддерживается только на устройствах где работает HTML5 плеер (все новые тв Tizen, webOS, Android)&lt;br /&gt;
&lt;br /&gt;
Рекомендуется для HLS предусматривающего поддержку адаптивного битрейта (например moonwalk, kinopub) чтобы работал режим автоматического качества&lt;br /&gt;
&lt;br /&gt;
==14.05.2019==&lt;br /&gt;
&lt;br /&gt;
===Отправка на сервер событий видеоплеера при старте и остановке видео===&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;hidden&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Video&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;http://...&amp;quot;,&amp;quot;event&amp;quot;=&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[&amp;quot;onstartvideo&amp;quot;=&amp;gt;&amp;quot;$siteurl/?event=onstartvideo&amp;amp;videoid=1&amp;quot;,&amp;quot;onstopvideo&amp;quot;=&amp;gt;&amp;quot;$siteurl/?event=onstopvideo&amp;amp;curTime=[curTime]&amp;amp;totalTime=[totalTime]&amp;amp;videoid=1&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
[curTime] и [totalTime] заменяются на время остановки и общее время видео в секундах&lt;br /&gt;
&lt;br /&gt;
===Предлагать пользователю начать просмотр видео с определенного времени===&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;hidden&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Video&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;http://...&amp;quot;,&amp;quot;start_time&amp;quot;=&amp;gt;340]&lt;br /&gt;
&lt;br /&gt;
start_time - время в секундах (предлагается в плеере на кнопке Play только если пользователь ранее не смотрел это видео, иначе ему нужно сначала отметить видео не просмотренным в Меню / Отметить непросмотренным)&lt;br /&gt;
&lt;br /&gt;
==13.05.2019==&lt;br /&gt;
&lt;br /&gt;
===Поддержка плейлистов с плеера hdgo (ссылки на плеер вида [https://vio.to/video/playlist/16778/ https://vio.to/video/playlist/])===&lt;br /&gt;
&lt;br /&gt;
==01.05.2019==&lt;br /&gt;
&lt;br /&gt;
====Обработка в полях playlist_url AddFavorite(); и AddFavorite(title,logo,url); и AddSearch(title,logo,url)====&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;none&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Добавить этот портал в закладки / стартовое меню&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;AddFavorite(Кинопаб,&amp;lt;nowiki&amp;gt;https://kino.pub/images/logo.png,http://195.88.208.101/kinopub/&amp;lt;/nowiki&amp;gt;);&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;none&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Добавить этот портал в Глобальный поиск&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;AddSearch(Кинопаб,&amp;lt;nowiki&amp;gt;https://kino.pub/images/logo.png,http://195.88.208.101/kinopub/?cat=search&amp;lt;/nowiki&amp;gt;);&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
(пример всей странички на PHP на примере [https://github.com/alexkdpu/kino.pub_forkplayerPHP/blob/master/index.php Кинопаб]   )&lt;br /&gt;
&lt;br /&gt;
==29.04.2019==&lt;br /&gt;
&lt;br /&gt;
====В YouTube реализовано проигрывание похожих видео при окончании одного.====&lt;br /&gt;
[[В]] своем плейлисте реализация такая (на PHP)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
$PLAYLIST=[];&lt;br /&gt;
&lt;br /&gt;
$PLAYLIST[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Похожее видео которое запустится по окончании основного 1&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=http://www.youtube.com/watch?v=ZNLZla2xHUQ&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$PLAYLIST[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Похожее видео которое запустится по окончании основного 2&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=http://www.youtube.com/watch?v=ZNLZla2xHUQ&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Основное видео&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=xhFCmwrSxCU&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist&amp;quot;=&amp;gt;$PLAYLIST];&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;channels&amp;quot;]=$_CH;&lt;br /&gt;
&lt;br /&gt;
print json_encode($_PL);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=CHANGELOG&amp;diff=1940</id>
		<title>CHANGELOG</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=CHANGELOG&amp;diff=1940"/>
		<updated>2024-12-14T13:21:31Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* Добавлен глобальный тег aside для вывода бокового меню */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;История изменений в Fork browser в порядке убывания&lt;br /&gt;
==14.12.2024==&lt;br /&gt;
===Добавлен глобальный тег aside для вывода бокового меню===&lt;br /&gt;
[[Файл:Aside menu.png|мини|Пример бокового меню Fork]]&lt;br /&gt;
$_PL[&amp;quot;aside&amp;quot;][&amp;quot;channels&amp;quot;][]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Home&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;/&amp;quot;,&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;https://static.vecteezy.com/system/resources/thumbnails/022/013/913/small/home-icon-illustration-image-vector.jpg&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==13.05.2024==&lt;br /&gt;
===Добавлен глобальный тег ping для выполнения действий когда они станут доступны===&lt;br /&gt;
&lt;br /&gt;
Например в Fork browser можно отслеживать введение кода с телефона и загружать автоматически страницу&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;ping&amp;quot;][&amp;quot;link&amp;quot;]=&amp;quot;http://example.com/check.php?hash&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Если check.php отдает пустой ответ то Fork продолжает проверять страницу каждые 6сек.&lt;br /&gt;
&lt;br /&gt;
Если check.php отдает страницу с &amp;quot;channels&amp;quot; то загружается она&lt;br /&gt;
&lt;br /&gt;
(например $_PL[&amp;quot;channels&amp;quot;]=[[&amp;quot;location&amp;quot;=&amp;gt;1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Успешно вошли! Нажмите для переадресации...&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://example.com/&amp;quot;]];&lt;br /&gt;
&lt;br /&gt;
==25.02.2024==&lt;br /&gt;
===Добавлены дополнительные теги для видеоплеера===&lt;br /&gt;
Нужны для того чтобы на по разному выдавать информацию на сайте и видеоплеере&lt;br /&gt;
Например&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало 1 сезон 1 серия&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;;&lt;br /&gt;
[[Файл:Halo.png|мини|Вид экрана плеера]]&lt;br /&gt;
Плеер сначала ищет в первом теге, если он пустой то берет со второго, общего тега&lt;br /&gt;
&lt;br /&gt;
====Картинка в видеоплеере слева внизу====&lt;br /&gt;
$_CH[&amp;quot;poster&amp;quot;]=&amp;quot;http://example.com/videoposter.png&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
если он будет пустой то берет отсюда:&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo30x30&amp;quot;]=&amp;quot;http://example.com/videoposter.png&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====Название отображаемое над полосой прогреса====&lt;br /&gt;
$_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
если он будет пустой то берет отсюда:&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====Информация более мелким шрифтом под прогресом====&lt;br /&gt;
$_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
если он будет пустой то берет отсюда:&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
==15.09.2023==&lt;br /&gt;
===Добавлена поддержка css файлов===&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==24.08.2023==&lt;br /&gt;
Изменения для страниц типа $_PL[typeList]=html&lt;br /&gt;
===Добавлена горизонтальная прокрутка элементов списка===&lt;br /&gt;
&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/FXML#.D0.93.D0.BE.D1.80.D0.B8.D0.B7.D0.BE.D0.BD.D1.82.D0.B0.D0.BB.D1.8C.D0.BD.D0.B0.D1.8F_.D0.BF.D1.80.D0.BE.D0.BA.D1.80.D1.83.D1.82.D0.BA.D0.B0 Тег nowrap подробнее]&lt;br /&gt;
&lt;br /&gt;
===Перенос на новую строку теперь через тег $_CH[br]=1===&lt;br /&gt;
&lt;br /&gt;
===По умолчанию страницы теперь во весь экран===&lt;br /&gt;
Панель инструментов с адресной строкой вверху Fork браузера теперь автоматически скрываются, это позволяет делать порталы более информативными&lt;br /&gt;
&lt;br /&gt;
==03.07.2021==&lt;br /&gt;
&lt;br /&gt;
===Параметры ссылок добавлением # в конец ссылки===&lt;br /&gt;
&lt;br /&gt;
====#direct - если сайт требует чистой ссылки без каких либо добавлений====&lt;br /&gt;
например &amp;lt;nowiki&amp;gt;http://pastebin.com/yuUtYu56g#direct&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ссылка будет открываться в чистом виде &amp;lt;nowiki&amp;gt;http://pastebin.com/yuUtYu56g&amp;lt;/nowiki&amp;gt; без отправки параметров (обычно форкплеер добавляет к ссылке ваши параметры, кукис и идентификатор)&lt;br /&gt;
&lt;br /&gt;
====#stream_url открывать в плеере====&lt;br /&gt;
Ссылка откроется в видеоплеере&lt;br /&gt;
&lt;br /&gt;
==17.02.2021==&lt;br /&gt;
&lt;br /&gt;
===Выпадающий список (тег элемента - menu)===&lt;br /&gt;
[[Файл:Меню.png|мини|Пример выпадающего списка]]&lt;br /&gt;
Задается аналогично вложенным спискам только с тегом menu&lt;br /&gt;
&lt;br /&gt;
Пример выбора сезона на PHP&lt;br /&gt;
&lt;br /&gt;
$menu=[];&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Сезон 2&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; // Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Сезон 3&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; // Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Сезон 1 - нажмите для выбора сезона&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;menu&amp;quot;,&amp;quot;menu&amp;quot;=&amp;gt;$menu];&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==12.12.2020==&lt;br /&gt;
&lt;br /&gt;
===Прокрутка части большого описания кнопками переключения каналов (PG_UP, PG_DOWN)===&lt;br /&gt;
Добавьте в описание div с id &#039;&#039;scrolled&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&#039;MY TITLE STATIC&amp;lt;nowiki&amp;gt;&amp;lt;div id=&amp;quot;scrolled&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
PG_UP PG_DOWN &lt;br /&gt;
&lt;br /&gt;
large scrolled content&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
MY FOOTER STATIC&#039;;&lt;br /&gt;
&lt;br /&gt;
==06.09.2020==&lt;br /&gt;
&lt;br /&gt;
===Глобальный тег выравнивания (при виде плиткой) - по умолчанию по центру===&lt;br /&gt;
$_PL[&amp;quot;align&amp;quot;]=&amp;quot;left&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Новый вид элемента position=html Свой шаблон для элемента любого вида===&lt;br /&gt;
&lt;br /&gt;
===Новый тег элемента template (сработает при position=html)===&lt;br /&gt;
[[Файл:Координаты.png|мини]]&lt;br /&gt;
Обязательно наличие template с переменными $title и $logo_30x30 - вместо них будет подставлено значение из $_CH[&amp;quot;title&amp;quot;] и $_CH[&amp;quot;logo_30x30 &amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&amp;quot;width:242px;overflow:hidden;margin:4px;text-align:center;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;width:242px;height:171px;padding:2px 2px 0px 2px;&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
===Новый тег элемента coordination (нужно при template своего размера, для правильной навигации по странице)===&lt;br /&gt;
$_CH[&amp;quot;coordination&amp;quot;]=[x,y];&lt;br /&gt;
&lt;br /&gt;
Где x это позиция по горизонтали, y - по вертикали&lt;br /&gt;
&lt;br /&gt;
Начальный элемент идет с $_CH[&amp;quot;coordination&amp;quot;]=[0,0];&lt;br /&gt;
&lt;br /&gt;
Если следующий элемент идет например на новой строке то нужно ему присвоить $_CH[&amp;quot;coordination&amp;quot;]=[1,0];&lt;br /&gt;
&lt;br /&gt;
==14.06.2020==&lt;br /&gt;
[[Файл:SetIP.png|мини]]&lt;br /&gt;
&lt;br /&gt;
===Локальные переменные LOCAL_IP, TORRSERVE_IP, ACE_IP===&lt;br /&gt;
Прописываются пользователем форкплеера в настройках приложения.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Если не указан TORRSERVE_IP или ACE_IP&#039;&#039;&#039; то вместо них будет вставлен LOCAL_IP (устройство с ремотефорком)&lt;br /&gt;
&lt;br /&gt;
Если не указан также и LOCAL_IP то вместо них будет вставлен локальный IP 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
===Примеры TORRSERVE_IP, ACE_IP в торрент magnet ссылках вашего портала===&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;(magnet) &#039;&#039;&#039;acestream&#039;&#039;&#039; &amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://ACE_IP:6878/server/api?method=get_media_files&amp;amp;magnet=&amp;lt;/nowiki&amp;gt;&amp;quot;.urlencode(&amp;quot;&amp;lt;nowiki&amp;gt;magnet:?xt=urn:btih:642a36ec9dcb2c5ba7b08835bd04ae8738281bb1&amp;amp;dn=rutor.org_%D0%A1%D1%82%D0%B0%D1%80%D0%B8%D0%BA+%D0%B2+%D0%BF%D0%BE%D1%82%D1%91%D1%80%D1%82%D0%BE%D0%B9+%D1%88%D0%B8%D0%BD%D0%B5%D0%BB%D0%B8+%281964%29+SATRip-AVC+%D0%BE%D1%82+New-Team&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=retracker.local/announce&amp;lt;/nowiki&amp;gt;&amp;quot;)];&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;(magnet) &#039;&#039;&#039;torrserve&#039;&#039;&#039; &amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://TORRSERVE_IP:8090/torrent/play?m3u=true&amp;amp;link=&amp;lt;/nowiki&amp;gt;&amp;quot;.urlencode(&amp;quot;&amp;lt;nowiki&amp;gt;magnet:?xt=urn:btih:642a36ec9dcb2c5ba7b08835bd04ae8738281bb1&amp;amp;dn=rutor.org_%D0%A1%D1%82%D0%B0%D1%80%D0%B8%D0%BA+%D0%B2+%D0%BF%D0%BE%D1%82%D1%91%D1%80%D1%82%D0%BE%D0%B9+%D1%88%D0%B8%D0%BD%D0%B5%D0%BB%D0%B8+%281964%29+SATRip-AVC+%D0%BE%D1%82+New-Team&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=retracker.local/announce&amp;lt;/nowiki&amp;gt;&amp;quot;)];&lt;br /&gt;
&lt;br /&gt;
===Пример торрент магнет ссылки с автоматическим выбором torrserve или ace stream сервера===&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;(magnet) через ace stream или torrserve&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;magnet:?xt=urn:btih:642a36ec9dcb2c5ba7b08835bd04ae8738281bb1&amp;amp;dn=rutor.org_%D0%A1%D1%82%D0%B0%D1%80%D0%B8%D0%BA+%D0%B2+%D0%BF%D0%BE%D1%82%D1%91%D1%80%D1%82%D0%BE%D0%B9+%D1%88%D0%B8%D0%BD%D0%B5%D0%BB%D0%B8+%281964%29+SATRip-AVC+%D0%BE%D1%82+New-Team&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=retracker.local/announce&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==11.04.2020==&lt;br /&gt;
&lt;br /&gt;
===Теги after и before - свой html код после и перед элементом списка===&lt;br /&gt;
$_CH[&amp;quot;before&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст перед элементом&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;after&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст после элемента&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Тег url_tvg в FXML странице  - своя телепрограмма===&lt;br /&gt;
Поддерживается только формат xmltv (сжатый и нет)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;url_tvg&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://epg.it999.ru/edem.xml.gz&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Параметр url-tvg в M3U плейлисте  - своя телепрограмма===&lt;br /&gt;
Поддерживается только формат xmltv (сжатый и нет)&lt;br /&gt;
&lt;br /&gt;
Начало плейлиста делаем таким&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;EXTM3U url-tvg=&amp;quot;&amp;lt;nowiki&amp;gt;http://epg.it999.ru/edem.xml.gz&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==07.03.2020==&lt;br /&gt;
&lt;br /&gt;
===Тег subtitles - субтитры===&lt;br /&gt;
$_CH[&amp;quot;subtitles&amp;quot;][0]=[&amp;quot;UA&amp;quot;,&amp;quot;&amp;lt;nowiki&amp;gt;https://tortuga.wtf/player/subtitle/18625_ua.vtt&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;subtitles&amp;quot;][1]=[&amp;quot;EN&amp;quot;,&amp;quot;&amp;lt;nowiki&amp;gt;https://tortuga.wtf/player/subtitle/18625_en.vtt&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;subtitles&amp;quot;][2]=[&amp;quot;RU&amp;quot;,&amp;quot;&amp;lt;nowiki&amp;gt;https://tortuga.wtf/player/subtitle/18625_ru.vtt&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==04.02.2020==&lt;br /&gt;
&lt;br /&gt;
===Добавлена поддержка ссылок Яндекс диска.===&lt;br /&gt;
Ссылка должна быть в поле stream_url или в m3u плейлисте в формате https://yadi.sk/i/idfile&lt;br /&gt;
&lt;br /&gt;
==28.11.2019==&lt;br /&gt;
[[Файл:Position.png|мини]]&lt;br /&gt;
&lt;br /&gt;
===Тег position===&lt;br /&gt;
Тег указывает как позиционировать элемент списка на экране с видом &amp;quot;start&amp;quot;&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;; // При другом виде страницы не сработает&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;fulleditline&amp;quot;; //- Поле ввода текста шириной почти на всю страницу&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;hlist&amp;quot;; // - горизонтальная ссылка (может быть несколько на одном горизонтальном уровне)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;list&amp;quot;; // -обычный вид списка шириной в половину экрана и с  description справа&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;label&amp;quot;; // -невысокая строка на всю ширину экрана&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;bigtile&amp;quot;; // - Плитка увеличенной в 2 раза высоты (128х215px)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;&amp;quot;; // - Плитка обычного размера как в Стартовом меню (128х101px)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==14.11.2019==&lt;br /&gt;
&lt;br /&gt;
===Тег элемента списка location (Переадресация)===&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=1; // Переход c заменой текущей ссылки окна на новую (при перезапуске форкплеера будет открываться уже с этой новой ссылки)&lt;br /&gt;
Тот&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=3; // Переход с отображением в текущем окне (при перезапуске форкплеера будет открываться старая ссылка и опять переадресовываться, необходимо если например используются устаревающие сессии)&lt;br /&gt;
&lt;br /&gt;
==08.11.2019==&lt;br /&gt;
&lt;br /&gt;
===[[Подключение архива]] телепередач в iptv плейлисте m3u===&lt;br /&gt;
&lt;br /&gt;
==06.10.2019==&lt;br /&gt;
&lt;br /&gt;
===Разные качества в stream_url===&lt;br /&gt;
Пример на PHP&lt;br /&gt;
&lt;br /&gt;
$QualLinks=[&amp;quot;2040&amp;quot;=&amp;gt;[&amp;quot;url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://file_com/q1&amp;lt;/nowiki&amp;gt;&amp;quot;],&amp;quot;1080&amp;quot;=&amp;gt;[&amp;quot;url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://file_com/q2&amp;lt;/nowiki&amp;gt;&amp;quot;],&amp;quot;720&amp;quot;=&amp;gt;[&amp;quot;url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://file_com/q3&amp;lt;/nowiki&amp;gt;&amp;quot;] ];&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;stream_url&amp;quot;]=json_encode($QualLinks);&lt;br /&gt;
&lt;br /&gt;
В результате должна быть строка в формате JSON вида&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;stream_url&amp;quot;]=&#039;{&amp;quot;480&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://hls-c2&amp;lt;/nowiki&amp;gt;&amp;quot;},&amp;quot;720&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://hls-c1&amp;lt;/nowiki&amp;gt;&amp;quot;},&amp;quot;1080&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://hls-c0&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;}}&#039;;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==12.09.2019==&lt;br /&gt;
&lt;br /&gt;
===Автообновление страницы через заданное время (в секундах)===&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;reload(3);&amp;quot;; - где 3 это три секунды&lt;br /&gt;
&lt;br /&gt;
[[Файл:[[Медиа:Пример.jpg]]&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Вставьте сюда текст, который не нужно форматировать&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
== Вставьте сюда текст, который не нужно форматировать ==&lt;br /&gt;
[[[http://www.example.com заголовок ссылки]]&#039;&#039;&#039;&#039;&#039;Курсивное начертание&#039;&#039;&#039;&#039;&#039;]&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;]]==29.08.2019==&lt;br /&gt;
&lt;br /&gt;
===Добавлены тип ссылки Iframe.===&lt;br /&gt;
На место элемента списка вставляется содержимое из ссылки. Использовать можно например для поиска по очереди по нескольким плейлистам (Глобальный поиск).&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Поиск Terminator в filmix.red&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;https://filmix.red/fork/search?search=Terminator&amp;lt;/nowiki&amp;gt;&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;iframe&amp;quot;=&amp;gt;&amp;quot;4&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;timeout&amp;quot;=&amp;gt;8&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
Где &amp;quot;iframe&amp;quot; обязательный параметр. Число обозначает сколько показать ссылок из дочерней ссылки сразу, остальное будет внизу списка. &amp;quot;iframe&amp;quot;=&amp;gt;&amp;quot;0&amp;quot; - значит показать все.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;timeout&amp;quot; это таймаут ожиданния получения содержимого из дочерней ссылки&lt;br /&gt;
&lt;br /&gt;
===Глобальный поиск перенесен на spiderxml.com===&lt;br /&gt;
поиск идет через Iframe, в подсказках подбираются кроме ранее вводимых значений еще и история&lt;br /&gt;
&lt;br /&gt;
==19.06.2019==&lt;br /&gt;
&lt;br /&gt;
===Восстановление предыдущего виртуального идентификатора (мак адреса)===&lt;br /&gt;
Если у вас сменился виртуальный мак адрес ( например при сбросе тв к заводским или прочих сбоях памяти тв), то его можно восстановить войдя в аккаунт в ForkPlayer / Мой аккаунт / Настройки / Восстановить идентификатор ( мак адрес)&lt;br /&gt;
&lt;br /&gt;
Такая возможность доступна только если вы ранее уже входили в аккаунт и не вышли с него!&lt;br /&gt;
&lt;br /&gt;
==11.06.2019==&lt;br /&gt;
&lt;br /&gt;
===Новая переменная box_user в GET запросах===&lt;br /&gt;
Если в ForkPlayer войти в аккаунт (Меню/Настройки/Мой аккаунт) то в переменной $_GET[&amp;quot;box_user&amp;quot;] будет передаваться ваш емайл, если например открывать портал &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://nserv.host/&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
То ForkPlayer отправит запрос c такими идентификаторами&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;http://nserv.host/?box_mac=&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;your_mac_addres&#039;&#039;&#039;&amp;amp;box_user=&#039;&#039;&#039;your_forkplayer_tv@email&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==04.06.2019==&lt;br /&gt;
&lt;br /&gt;
===Изменения внешнего вида поисковых полей, клавиатуры===&lt;br /&gt;
&lt;br /&gt;
===Изменен формат Истории===&lt;br /&gt;
&lt;br /&gt;
==16.05.2019==&lt;br /&gt;
&lt;br /&gt;
===JWplayer добавлен тип плеера===&lt;br /&gt;
В настройках форкплеера добавлен тип плеера JW Player [https://jwplayer.com], он построен на базе HTML5 потому поддерживается только на устройствах где работает HTML5 плеер (все новые тв Tizen, webOS, Android)&lt;br /&gt;
&lt;br /&gt;
Рекомендуется для HLS предусматривающего поддержку адаптивного битрейта (например moonwalk, kinopub) чтобы работал режим автоматического качества&lt;br /&gt;
&lt;br /&gt;
==14.05.2019==&lt;br /&gt;
&lt;br /&gt;
===Отправка на сервер событий видеоплеера при старте и остановке видео===&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;hidden&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Video&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;http://...&amp;quot;,&amp;quot;event&amp;quot;=&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[&amp;quot;onstartvideo&amp;quot;=&amp;gt;&amp;quot;$siteurl/?event=onstartvideo&amp;amp;videoid=1&amp;quot;,&amp;quot;onstopvideo&amp;quot;=&amp;gt;&amp;quot;$siteurl/?event=onstopvideo&amp;amp;curTime=[curTime]&amp;amp;totalTime=[totalTime]&amp;amp;videoid=1&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
[curTime] и [totalTime] заменяются на время остановки и общее время видео в секундах&lt;br /&gt;
&lt;br /&gt;
===Предлагать пользователю начать просмотр видео с определенного времени===&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;hidden&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Video&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;http://...&amp;quot;,&amp;quot;start_time&amp;quot;=&amp;gt;340]&lt;br /&gt;
&lt;br /&gt;
start_time - время в секундах (предлагается в плеере на кнопке Play только если пользователь ранее не смотрел это видео, иначе ему нужно сначала отметить видео не просмотренным в Меню / Отметить непросмотренным)&lt;br /&gt;
&lt;br /&gt;
==13.05.2019==&lt;br /&gt;
&lt;br /&gt;
===Поддержка плейлистов с плеера hdgo (ссылки на плеер вида [https://vio.to/video/playlist/16778/ https://vio.to/video/playlist/])===&lt;br /&gt;
&lt;br /&gt;
==01.05.2019==&lt;br /&gt;
&lt;br /&gt;
====Обработка в полях playlist_url AddFavorite(); и AddFavorite(title,logo,url); и AddSearch(title,logo,url)====&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;none&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Добавить этот портал в закладки / стартовое меню&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;AddFavorite(Кинопаб,&amp;lt;nowiki&amp;gt;https://kino.pub/images/logo.png,http://195.88.208.101/kinopub/&amp;lt;/nowiki&amp;gt;);&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;none&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Добавить этот портал в Глобальный поиск&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;AddSearch(Кинопаб,&amp;lt;nowiki&amp;gt;https://kino.pub/images/logo.png,http://195.88.208.101/kinopub/?cat=search&amp;lt;/nowiki&amp;gt;);&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
(пример всей странички на PHP на примере [https://github.com/alexkdpu/kino.pub_forkplayerPHP/blob/master/index.php Кинопаб]   )&lt;br /&gt;
&lt;br /&gt;
==29.04.2019==&lt;br /&gt;
&lt;br /&gt;
====В YouTube реализовано проигрывание похожих видео при окончании одного.====&lt;br /&gt;
[[В]] своем плейлисте реализация такая (на PHP)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
$PLAYLIST=[];&lt;br /&gt;
&lt;br /&gt;
$PLAYLIST[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Похожее видео которое запустится по окончании основного 1&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=http://www.youtube.com/watch?v=ZNLZla2xHUQ&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$PLAYLIST[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Похожее видео которое запустится по окончании основного 2&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=http://www.youtube.com/watch?v=ZNLZla2xHUQ&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Основное видео&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=xhFCmwrSxCU&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist&amp;quot;=&amp;gt;$PLAYLIST];&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;channels&amp;quot;]=$_CH;&lt;br /&gt;
&lt;br /&gt;
print json_encode($_PL);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Aside_menu.png&amp;diff=1939</id>
		<title>Файл:Aside menu.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Aside_menu.png&amp;diff=1939"/>
		<updated>2024-12-14T13:15:37Z</updated>

		<summary type="html">&lt;p&gt;Mentos: Боковое меню в FXML $_PL[&amp;quot;aside&amp;quot;]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Краткое описание ==&lt;br /&gt;
Боковое меню в FXML $_PL[&amp;quot;aside&amp;quot;]&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=CHANGELOG&amp;diff=1938</id>
		<title>CHANGELOG</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=CHANGELOG&amp;diff=1938"/>
		<updated>2024-12-14T13:14:15Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* 13.05.2024 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;История изменений в Fork browser в порядке убывания&lt;br /&gt;
==14.12.2024==&lt;br /&gt;
===Добавлен глобальный тег aside для вывода бокового меню===&lt;br /&gt;
$_PL[&amp;quot;aside&amp;quot;][&amp;quot;channels&amp;quot;][]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Home&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;/&amp;quot;,&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;https://static.vecteezy.com/system/resources/thumbnails/022/013/913/small/home-icon-illustration-image-vector.jpg&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==13.05.2024==&lt;br /&gt;
===Добавлен глобальный тег ping для выполнения действий когда они станут доступны===&lt;br /&gt;
&lt;br /&gt;
Например в Fork browser можно отслеживать введение кода с телефона и загружать автоматически страницу&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;ping&amp;quot;][&amp;quot;link&amp;quot;]=&amp;quot;http://example.com/check.php?hash&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Если check.php отдает пустой ответ то Fork продолжает проверять страницу каждые 6сек.&lt;br /&gt;
&lt;br /&gt;
Если check.php отдает страницу с &amp;quot;channels&amp;quot; то загружается она&lt;br /&gt;
&lt;br /&gt;
(например $_PL[&amp;quot;channels&amp;quot;]=[[&amp;quot;location&amp;quot;=&amp;gt;1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Успешно вошли! Нажмите для переадресации...&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://example.com/&amp;quot;]];&lt;br /&gt;
&lt;br /&gt;
==25.02.2024==&lt;br /&gt;
===Добавлены дополнительные теги для видеоплеера===&lt;br /&gt;
Нужны для того чтобы на по разному выдавать информацию на сайте и видеоплеере&lt;br /&gt;
Например&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало 1 сезон 1 серия&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;;&lt;br /&gt;
[[Файл:Halo.png|мини|Вид экрана плеера]]&lt;br /&gt;
Плеер сначала ищет в первом теге, если он пустой то берет со второго, общего тега&lt;br /&gt;
&lt;br /&gt;
====Картинка в видеоплеере слева внизу====&lt;br /&gt;
$_CH[&amp;quot;poster&amp;quot;]=&amp;quot;http://example.com/videoposter.png&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
если он будет пустой то берет отсюда:&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo30x30&amp;quot;]=&amp;quot;http://example.com/videoposter.png&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====Название отображаемое над полосой прогреса====&lt;br /&gt;
$_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
если он будет пустой то берет отсюда:&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====Информация более мелким шрифтом под прогресом====&lt;br /&gt;
$_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
если он будет пустой то берет отсюда:&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
==15.09.2023==&lt;br /&gt;
===Добавлена поддержка css файлов===&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==24.08.2023==&lt;br /&gt;
Изменения для страниц типа $_PL[typeList]=html&lt;br /&gt;
===Добавлена горизонтальная прокрутка элементов списка===&lt;br /&gt;
&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/FXML#.D0.93.D0.BE.D1.80.D0.B8.D0.B7.D0.BE.D0.BD.D1.82.D0.B0.D0.BB.D1.8C.D0.BD.D0.B0.D1.8F_.D0.BF.D1.80.D0.BE.D0.BA.D1.80.D1.83.D1.82.D0.BA.D0.B0 Тег nowrap подробнее]&lt;br /&gt;
&lt;br /&gt;
===Перенос на новую строку теперь через тег $_CH[br]=1===&lt;br /&gt;
&lt;br /&gt;
===По умолчанию страницы теперь во весь экран===&lt;br /&gt;
Панель инструментов с адресной строкой вверху Fork браузера теперь автоматически скрываются, это позволяет делать порталы более информативными&lt;br /&gt;
&lt;br /&gt;
==03.07.2021==&lt;br /&gt;
&lt;br /&gt;
===Параметры ссылок добавлением # в конец ссылки===&lt;br /&gt;
&lt;br /&gt;
====#direct - если сайт требует чистой ссылки без каких либо добавлений====&lt;br /&gt;
например &amp;lt;nowiki&amp;gt;http://pastebin.com/yuUtYu56g#direct&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ссылка будет открываться в чистом виде &amp;lt;nowiki&amp;gt;http://pastebin.com/yuUtYu56g&amp;lt;/nowiki&amp;gt; без отправки параметров (обычно форкплеер добавляет к ссылке ваши параметры, кукис и идентификатор)&lt;br /&gt;
&lt;br /&gt;
====#stream_url открывать в плеере====&lt;br /&gt;
Ссылка откроется в видеоплеере&lt;br /&gt;
&lt;br /&gt;
==17.02.2021==&lt;br /&gt;
&lt;br /&gt;
===Выпадающий список (тег элемента - menu)===&lt;br /&gt;
[[Файл:Меню.png|мини|Пример выпадающего списка]]&lt;br /&gt;
Задается аналогично вложенным спискам только с тегом menu&lt;br /&gt;
&lt;br /&gt;
Пример выбора сезона на PHP&lt;br /&gt;
&lt;br /&gt;
$menu=[];&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Сезон 2&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; // Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Сезон 3&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; // Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Сезон 1 - нажмите для выбора сезона&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;menu&amp;quot;,&amp;quot;menu&amp;quot;=&amp;gt;$menu];&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==12.12.2020==&lt;br /&gt;
&lt;br /&gt;
===Прокрутка части большого описания кнопками переключения каналов (PG_UP, PG_DOWN)===&lt;br /&gt;
Добавьте в описание div с id &#039;&#039;scrolled&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&#039;MY TITLE STATIC&amp;lt;nowiki&amp;gt;&amp;lt;div id=&amp;quot;scrolled&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
PG_UP PG_DOWN &lt;br /&gt;
&lt;br /&gt;
large scrolled content&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
MY FOOTER STATIC&#039;;&lt;br /&gt;
&lt;br /&gt;
==06.09.2020==&lt;br /&gt;
&lt;br /&gt;
===Глобальный тег выравнивания (при виде плиткой) - по умолчанию по центру===&lt;br /&gt;
$_PL[&amp;quot;align&amp;quot;]=&amp;quot;left&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Новый вид элемента position=html Свой шаблон для элемента любого вида===&lt;br /&gt;
&lt;br /&gt;
===Новый тег элемента template (сработает при position=html)===&lt;br /&gt;
[[Файл:Координаты.png|мини]]&lt;br /&gt;
Обязательно наличие template с переменными $title и $logo_30x30 - вместо них будет подставлено значение из $_CH[&amp;quot;title&amp;quot;] и $_CH[&amp;quot;logo_30x30 &amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&amp;quot;width:242px;overflow:hidden;margin:4px;text-align:center;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;width:242px;height:171px;padding:2px 2px 0px 2px;&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
===Новый тег элемента coordination (нужно при template своего размера, для правильной навигации по странице)===&lt;br /&gt;
$_CH[&amp;quot;coordination&amp;quot;]=[x,y];&lt;br /&gt;
&lt;br /&gt;
Где x это позиция по горизонтали, y - по вертикали&lt;br /&gt;
&lt;br /&gt;
Начальный элемент идет с $_CH[&amp;quot;coordination&amp;quot;]=[0,0];&lt;br /&gt;
&lt;br /&gt;
Если следующий элемент идет например на новой строке то нужно ему присвоить $_CH[&amp;quot;coordination&amp;quot;]=[1,0];&lt;br /&gt;
&lt;br /&gt;
==14.06.2020==&lt;br /&gt;
[[Файл:SetIP.png|мини]]&lt;br /&gt;
&lt;br /&gt;
===Локальные переменные LOCAL_IP, TORRSERVE_IP, ACE_IP===&lt;br /&gt;
Прописываются пользователем форкплеера в настройках приложения.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Если не указан TORRSERVE_IP или ACE_IP&#039;&#039;&#039; то вместо них будет вставлен LOCAL_IP (устройство с ремотефорком)&lt;br /&gt;
&lt;br /&gt;
Если не указан также и LOCAL_IP то вместо них будет вставлен локальный IP 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
===Примеры TORRSERVE_IP, ACE_IP в торрент magnet ссылках вашего портала===&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;(magnet) &#039;&#039;&#039;acestream&#039;&#039;&#039; &amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://ACE_IP:6878/server/api?method=get_media_files&amp;amp;magnet=&amp;lt;/nowiki&amp;gt;&amp;quot;.urlencode(&amp;quot;&amp;lt;nowiki&amp;gt;magnet:?xt=urn:btih:642a36ec9dcb2c5ba7b08835bd04ae8738281bb1&amp;amp;dn=rutor.org_%D0%A1%D1%82%D0%B0%D1%80%D0%B8%D0%BA+%D0%B2+%D0%BF%D0%BE%D1%82%D1%91%D1%80%D1%82%D0%BE%D0%B9+%D1%88%D0%B8%D0%BD%D0%B5%D0%BB%D0%B8+%281964%29+SATRip-AVC+%D0%BE%D1%82+New-Team&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=retracker.local/announce&amp;lt;/nowiki&amp;gt;&amp;quot;)];&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;(magnet) &#039;&#039;&#039;torrserve&#039;&#039;&#039; &amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://TORRSERVE_IP:8090/torrent/play?m3u=true&amp;amp;link=&amp;lt;/nowiki&amp;gt;&amp;quot;.urlencode(&amp;quot;&amp;lt;nowiki&amp;gt;magnet:?xt=urn:btih:642a36ec9dcb2c5ba7b08835bd04ae8738281bb1&amp;amp;dn=rutor.org_%D0%A1%D1%82%D0%B0%D1%80%D0%B8%D0%BA+%D0%B2+%D0%BF%D0%BE%D1%82%D1%91%D1%80%D1%82%D0%BE%D0%B9+%D1%88%D0%B8%D0%BD%D0%B5%D0%BB%D0%B8+%281964%29+SATRip-AVC+%D0%BE%D1%82+New-Team&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=retracker.local/announce&amp;lt;/nowiki&amp;gt;&amp;quot;)];&lt;br /&gt;
&lt;br /&gt;
===Пример торрент магнет ссылки с автоматическим выбором torrserve или ace stream сервера===&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;(magnet) через ace stream или torrserve&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;magnet:?xt=urn:btih:642a36ec9dcb2c5ba7b08835bd04ae8738281bb1&amp;amp;dn=rutor.org_%D0%A1%D1%82%D0%B0%D1%80%D0%B8%D0%BA+%D0%B2+%D0%BF%D0%BE%D1%82%D1%91%D1%80%D1%82%D0%BE%D0%B9+%D1%88%D0%B8%D0%BD%D0%B5%D0%BB%D0%B8+%281964%29+SATRip-AVC+%D0%BE%D1%82+New-Team&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=retracker.local/announce&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==11.04.2020==&lt;br /&gt;
&lt;br /&gt;
===Теги after и before - свой html код после и перед элементом списка===&lt;br /&gt;
$_CH[&amp;quot;before&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст перед элементом&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;after&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст после элемента&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Тег url_tvg в FXML странице  - своя телепрограмма===&lt;br /&gt;
Поддерживается только формат xmltv (сжатый и нет)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;url_tvg&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://epg.it999.ru/edem.xml.gz&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Параметр url-tvg в M3U плейлисте  - своя телепрограмма===&lt;br /&gt;
Поддерживается только формат xmltv (сжатый и нет)&lt;br /&gt;
&lt;br /&gt;
Начало плейлиста делаем таким&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;EXTM3U url-tvg=&amp;quot;&amp;lt;nowiki&amp;gt;http://epg.it999.ru/edem.xml.gz&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==07.03.2020==&lt;br /&gt;
&lt;br /&gt;
===Тег subtitles - субтитры===&lt;br /&gt;
$_CH[&amp;quot;subtitles&amp;quot;][0]=[&amp;quot;UA&amp;quot;,&amp;quot;&amp;lt;nowiki&amp;gt;https://tortuga.wtf/player/subtitle/18625_ua.vtt&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;subtitles&amp;quot;][1]=[&amp;quot;EN&amp;quot;,&amp;quot;&amp;lt;nowiki&amp;gt;https://tortuga.wtf/player/subtitle/18625_en.vtt&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;subtitles&amp;quot;][2]=[&amp;quot;RU&amp;quot;,&amp;quot;&amp;lt;nowiki&amp;gt;https://tortuga.wtf/player/subtitle/18625_ru.vtt&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==04.02.2020==&lt;br /&gt;
&lt;br /&gt;
===Добавлена поддержка ссылок Яндекс диска.===&lt;br /&gt;
Ссылка должна быть в поле stream_url или в m3u плейлисте в формате https://yadi.sk/i/idfile&lt;br /&gt;
&lt;br /&gt;
==28.11.2019==&lt;br /&gt;
[[Файл:Position.png|мини]]&lt;br /&gt;
&lt;br /&gt;
===Тег position===&lt;br /&gt;
Тег указывает как позиционировать элемент списка на экране с видом &amp;quot;start&amp;quot;&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;; // При другом виде страницы не сработает&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;fulleditline&amp;quot;; //- Поле ввода текста шириной почти на всю страницу&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;hlist&amp;quot;; // - горизонтальная ссылка (может быть несколько на одном горизонтальном уровне)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;list&amp;quot;; // -обычный вид списка шириной в половину экрана и с  description справа&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;label&amp;quot;; // -невысокая строка на всю ширину экрана&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;bigtile&amp;quot;; // - Плитка увеличенной в 2 раза высоты (128х215px)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;&amp;quot;; // - Плитка обычного размера как в Стартовом меню (128х101px)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==14.11.2019==&lt;br /&gt;
&lt;br /&gt;
===Тег элемента списка location (Переадресация)===&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=1; // Переход c заменой текущей ссылки окна на новую (при перезапуске форкплеера будет открываться уже с этой новой ссылки)&lt;br /&gt;
Тот&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=3; // Переход с отображением в текущем окне (при перезапуске форкплеера будет открываться старая ссылка и опять переадресовываться, необходимо если например используются устаревающие сессии)&lt;br /&gt;
&lt;br /&gt;
==08.11.2019==&lt;br /&gt;
&lt;br /&gt;
===[[Подключение архива]] телепередач в iptv плейлисте m3u===&lt;br /&gt;
&lt;br /&gt;
==06.10.2019==&lt;br /&gt;
&lt;br /&gt;
===Разные качества в stream_url===&lt;br /&gt;
Пример на PHP&lt;br /&gt;
&lt;br /&gt;
$QualLinks=[&amp;quot;2040&amp;quot;=&amp;gt;[&amp;quot;url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://file_com/q1&amp;lt;/nowiki&amp;gt;&amp;quot;],&amp;quot;1080&amp;quot;=&amp;gt;[&amp;quot;url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://file_com/q2&amp;lt;/nowiki&amp;gt;&amp;quot;],&amp;quot;720&amp;quot;=&amp;gt;[&amp;quot;url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://file_com/q3&amp;lt;/nowiki&amp;gt;&amp;quot;] ];&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;stream_url&amp;quot;]=json_encode($QualLinks);&lt;br /&gt;
&lt;br /&gt;
В результате должна быть строка в формате JSON вида&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;stream_url&amp;quot;]=&#039;{&amp;quot;480&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://hls-c2&amp;lt;/nowiki&amp;gt;&amp;quot;},&amp;quot;720&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://hls-c1&amp;lt;/nowiki&amp;gt;&amp;quot;},&amp;quot;1080&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://hls-c0&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;}}&#039;;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==12.09.2019==&lt;br /&gt;
&lt;br /&gt;
===Автообновление страницы через заданное время (в секундах)===&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;reload(3);&amp;quot;; - где 3 это три секунды&lt;br /&gt;
&lt;br /&gt;
[[Файл:[[Медиа:Пример.jpg]]&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Вставьте сюда текст, который не нужно форматировать&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
== Вставьте сюда текст, который не нужно форматировать ==&lt;br /&gt;
[[[http://www.example.com заголовок ссылки]]&#039;&#039;&#039;&#039;&#039;Курсивное начертание&#039;&#039;&#039;&#039;&#039;]&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;]]==29.08.2019==&lt;br /&gt;
&lt;br /&gt;
===Добавлены тип ссылки Iframe.===&lt;br /&gt;
На место элемента списка вставляется содержимое из ссылки. Использовать можно например для поиска по очереди по нескольким плейлистам (Глобальный поиск).&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Поиск Terminator в filmix.red&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;https://filmix.red/fork/search?search=Terminator&amp;lt;/nowiki&amp;gt;&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;iframe&amp;quot;=&amp;gt;&amp;quot;4&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;timeout&amp;quot;=&amp;gt;8&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
Где &amp;quot;iframe&amp;quot; обязательный параметр. Число обозначает сколько показать ссылок из дочерней ссылки сразу, остальное будет внизу списка. &amp;quot;iframe&amp;quot;=&amp;gt;&amp;quot;0&amp;quot; - значит показать все.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;timeout&amp;quot; это таймаут ожиданния получения содержимого из дочерней ссылки&lt;br /&gt;
&lt;br /&gt;
===Глобальный поиск перенесен на spiderxml.com===&lt;br /&gt;
поиск идет через Iframe, в подсказках подбираются кроме ранее вводимых значений еще и история&lt;br /&gt;
&lt;br /&gt;
==19.06.2019==&lt;br /&gt;
&lt;br /&gt;
===Восстановление предыдущего виртуального идентификатора (мак адреса)===&lt;br /&gt;
Если у вас сменился виртуальный мак адрес ( например при сбросе тв к заводским или прочих сбоях памяти тв), то его можно восстановить войдя в аккаунт в ForkPlayer / Мой аккаунт / Настройки / Восстановить идентификатор ( мак адрес)&lt;br /&gt;
&lt;br /&gt;
Такая возможность доступна только если вы ранее уже входили в аккаунт и не вышли с него!&lt;br /&gt;
&lt;br /&gt;
==11.06.2019==&lt;br /&gt;
&lt;br /&gt;
===Новая переменная box_user в GET запросах===&lt;br /&gt;
Если в ForkPlayer войти в аккаунт (Меню/Настройки/Мой аккаунт) то в переменной $_GET[&amp;quot;box_user&amp;quot;] будет передаваться ваш емайл, если например открывать портал &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://nserv.host/&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
То ForkPlayer отправит запрос c такими идентификаторами&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;http://nserv.host/?box_mac=&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;your_mac_addres&#039;&#039;&#039;&amp;amp;box_user=&#039;&#039;&#039;your_forkplayer_tv@email&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==04.06.2019==&lt;br /&gt;
&lt;br /&gt;
===Изменения внешнего вида поисковых полей, клавиатуры===&lt;br /&gt;
&lt;br /&gt;
===Изменен формат Истории===&lt;br /&gt;
&lt;br /&gt;
==16.05.2019==&lt;br /&gt;
&lt;br /&gt;
===JWplayer добавлен тип плеера===&lt;br /&gt;
В настройках форкплеера добавлен тип плеера JW Player [https://jwplayer.com], он построен на базе HTML5 потому поддерживается только на устройствах где работает HTML5 плеер (все новые тв Tizen, webOS, Android)&lt;br /&gt;
&lt;br /&gt;
Рекомендуется для HLS предусматривающего поддержку адаптивного битрейта (например moonwalk, kinopub) чтобы работал режим автоматического качества&lt;br /&gt;
&lt;br /&gt;
==14.05.2019==&lt;br /&gt;
&lt;br /&gt;
===Отправка на сервер событий видеоплеера при старте и остановке видео===&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;hidden&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Video&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;http://...&amp;quot;,&amp;quot;event&amp;quot;=&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[&amp;quot;onstartvideo&amp;quot;=&amp;gt;&amp;quot;$siteurl/?event=onstartvideo&amp;amp;videoid=1&amp;quot;,&amp;quot;onstopvideo&amp;quot;=&amp;gt;&amp;quot;$siteurl/?event=onstopvideo&amp;amp;curTime=[curTime]&amp;amp;totalTime=[totalTime]&amp;amp;videoid=1&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
[curTime] и [totalTime] заменяются на время остановки и общее время видео в секундах&lt;br /&gt;
&lt;br /&gt;
===Предлагать пользователю начать просмотр видео с определенного времени===&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;hidden&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Video&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;http://...&amp;quot;,&amp;quot;start_time&amp;quot;=&amp;gt;340]&lt;br /&gt;
&lt;br /&gt;
start_time - время в секундах (предлагается в плеере на кнопке Play только если пользователь ранее не смотрел это видео, иначе ему нужно сначала отметить видео не просмотренным в Меню / Отметить непросмотренным)&lt;br /&gt;
&lt;br /&gt;
==13.05.2019==&lt;br /&gt;
&lt;br /&gt;
===Поддержка плейлистов с плеера hdgo (ссылки на плеер вида [https://vio.to/video/playlist/16778/ https://vio.to/video/playlist/])===&lt;br /&gt;
&lt;br /&gt;
==01.05.2019==&lt;br /&gt;
&lt;br /&gt;
====Обработка в полях playlist_url AddFavorite(); и AddFavorite(title,logo,url); и AddSearch(title,logo,url)====&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;none&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Добавить этот портал в закладки / стартовое меню&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;AddFavorite(Кинопаб,&amp;lt;nowiki&amp;gt;https://kino.pub/images/logo.png,http://195.88.208.101/kinopub/&amp;lt;/nowiki&amp;gt;);&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;none&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Добавить этот портал в Глобальный поиск&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;AddSearch(Кинопаб,&amp;lt;nowiki&amp;gt;https://kino.pub/images/logo.png,http://195.88.208.101/kinopub/?cat=search&amp;lt;/nowiki&amp;gt;);&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
(пример всей странички на PHP на примере [https://github.com/alexkdpu/kino.pub_forkplayerPHP/blob/master/index.php Кинопаб]   )&lt;br /&gt;
&lt;br /&gt;
==29.04.2019==&lt;br /&gt;
&lt;br /&gt;
====В YouTube реализовано проигрывание похожих видео при окончании одного.====&lt;br /&gt;
[[В]] своем плейлисте реализация такая (на PHP)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
$PLAYLIST=[];&lt;br /&gt;
&lt;br /&gt;
$PLAYLIST[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Похожее видео которое запустится по окончании основного 1&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=http://www.youtube.com/watch?v=ZNLZla2xHUQ&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$PLAYLIST[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Похожее видео которое запустится по окончании основного 2&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=http://www.youtube.com/watch?v=ZNLZla2xHUQ&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Основное видео&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=xhFCmwrSxCU&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist&amp;quot;=&amp;gt;$PLAYLIST];&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;channels&amp;quot;]=$_CH;&lt;br /&gt;
&lt;br /&gt;
print json_encode($_PL);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=CHANGELOG&amp;diff=1922</id>
		<title>CHANGELOG</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=CHANGELOG&amp;diff=1922"/>
		<updated>2024-11-08T10:53:33Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* Тег subtitles - субтитры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;История изменений в Fork browser в порядке убывания&lt;br /&gt;
==13.05.2024==&lt;br /&gt;
===Добавлен глобальный тег ping для выполнения действий когда они станут доступны===&lt;br /&gt;
&lt;br /&gt;
Например в Fork browser можно отслеживать введение кода с телефона и загружать автоматически страницу&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;ping&amp;quot;][&amp;quot;link&amp;quot;]=&amp;quot;http://example.com/check.php?hash&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Если check.php отдает пустой ответ то Fork продолжает проверять страницу каждые 6сек.&lt;br /&gt;
&lt;br /&gt;
Если check.php отдает страницу с &amp;quot;channels&amp;quot; то загружается она&lt;br /&gt;
&lt;br /&gt;
(например $_PL[&amp;quot;channels&amp;quot;]=[[&amp;quot;location&amp;quot;=&amp;gt;1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Успешно вошли! Нажмите для переадресации...&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://example.com/&amp;quot;]]; &lt;br /&gt;
&lt;br /&gt;
==25.02.2024==&lt;br /&gt;
===Добавлены дополнительные теги для видеоплеера===&lt;br /&gt;
Нужны для того чтобы на по разному выдавать информацию на сайте и видеоплеере&lt;br /&gt;
Например&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало 1 сезон 1 серия&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;;&lt;br /&gt;
[[Файл:Halo.png|мини|Вид экрана плеера]]&lt;br /&gt;
Плеер сначала ищет в первом теге, если он пустой то берет со второго, общего тега&lt;br /&gt;
&lt;br /&gt;
====Картинка в видеоплеере слева внизу====&lt;br /&gt;
$_CH[&amp;quot;poster&amp;quot;]=&amp;quot;http://example.com/videoposter.png&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
если он будет пустой то берет отсюда:&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo30x30&amp;quot;]=&amp;quot;http://example.com/videoposter.png&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====Название отображаемое над полосой прогреса====&lt;br /&gt;
$_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
если он будет пустой то берет отсюда:&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====Информация более мелким шрифтом под прогресом====&lt;br /&gt;
$_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
если он будет пустой то берет отсюда:&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
==15.09.2023==&lt;br /&gt;
===Добавлена поддержка css файлов===&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==24.08.2023==&lt;br /&gt;
Изменения для страниц типа $_PL[typeList]=html&lt;br /&gt;
===Добавлена горизонтальная прокрутка элементов списка===&lt;br /&gt;
&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/FXML#.D0.93.D0.BE.D1.80.D0.B8.D0.B7.D0.BE.D0.BD.D1.82.D0.B0.D0.BB.D1.8C.D0.BD.D0.B0.D1.8F_.D0.BF.D1.80.D0.BE.D0.BA.D1.80.D1.83.D1.82.D0.BA.D0.B0 Тег nowrap подробнее]&lt;br /&gt;
&lt;br /&gt;
===Перенос на новую строку теперь через тег $_CH[br]=1===&lt;br /&gt;
&lt;br /&gt;
===По умолчанию страницы теперь во весь экран===&lt;br /&gt;
Панель инструментов с адресной строкой вверху Fork браузера теперь автоматически скрываются, это позволяет делать порталы более информативными&lt;br /&gt;
&lt;br /&gt;
==03.07.2021==&lt;br /&gt;
&lt;br /&gt;
===Параметры ссылок добавлением # в конец ссылки===&lt;br /&gt;
&lt;br /&gt;
====#direct - если сайт требует чистой ссылки без каких либо добавлений====&lt;br /&gt;
например &amp;lt;nowiki&amp;gt;http://pastebin.com/yuUtYu56g#direct&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ссылка будет открываться в чистом виде &amp;lt;nowiki&amp;gt;http://pastebin.com/yuUtYu56g&amp;lt;/nowiki&amp;gt; без отправки параметров (обычно форкплеер добавляет к ссылке ваши параметры, кукис и идентификатор)&lt;br /&gt;
&lt;br /&gt;
====#stream_url открывать в плеере====&lt;br /&gt;
Ссылка откроется в видеоплеере&lt;br /&gt;
&lt;br /&gt;
==17.02.2021==&lt;br /&gt;
&lt;br /&gt;
===Выпадающий список (тег элемента - menu)===&lt;br /&gt;
[[Файл:Меню.png|мини|Пример выпадающего списка]]&lt;br /&gt;
Задается аналогично вложенным спискам только с тегом menu&lt;br /&gt;
&lt;br /&gt;
Пример выбора сезона на PHP&lt;br /&gt;
&lt;br /&gt;
$menu=[];&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Сезон 2&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; // Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Сезон 3&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; // Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Сезон 1 - нажмите для выбора сезона&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;menu&amp;quot;,&amp;quot;menu&amp;quot;=&amp;gt;$menu];&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==12.12.2020==&lt;br /&gt;
&lt;br /&gt;
===Прокрутка части большого описания кнопками переключения каналов (PG_UP, PG_DOWN)===&lt;br /&gt;
Добавьте в описание div с id &#039;&#039;scrolled&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&#039;MY TITLE STATIC&amp;lt;nowiki&amp;gt;&amp;lt;div id=&amp;quot;scrolled&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
PG_UP PG_DOWN &lt;br /&gt;
&lt;br /&gt;
large scrolled content&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
MY FOOTER STATIC&#039;;&lt;br /&gt;
&lt;br /&gt;
==06.09.2020==&lt;br /&gt;
&lt;br /&gt;
===Глобальный тег выравнивания (при виде плиткой) - по умолчанию по центру===&lt;br /&gt;
$_PL[&amp;quot;align&amp;quot;]=&amp;quot;left&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Новый вид элемента position=html Свой шаблон для элемента любого вида===&lt;br /&gt;
&lt;br /&gt;
===Новый тег элемента template (сработает при position=html)===&lt;br /&gt;
[[Файл:Координаты.png|мини]]&lt;br /&gt;
Обязательно наличие template с переменными $title и $logo_30x30 - вместо них будет подставлено значение из $_CH[&amp;quot;title&amp;quot;] и $_CH[&amp;quot;logo_30x30 &amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&amp;quot;width:242px;overflow:hidden;margin:4px;text-align:center;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;width:242px;height:171px;padding:2px 2px 0px 2px;&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
===Новый тег элемента coordination (нужно при template своего размера, для правильной навигации по странице)===&lt;br /&gt;
$_CH[&amp;quot;coordination&amp;quot;]=[x,y];&lt;br /&gt;
&lt;br /&gt;
Где x это позиция по горизонтали, y - по вертикали&lt;br /&gt;
&lt;br /&gt;
Начальный элемент идет с $_CH[&amp;quot;coordination&amp;quot;]=[0,0];&lt;br /&gt;
&lt;br /&gt;
Если следующий элемент идет например на новой строке то нужно ему присвоить $_CH[&amp;quot;coordination&amp;quot;]=[1,0];&lt;br /&gt;
&lt;br /&gt;
==14.06.2020==&lt;br /&gt;
[[Файл:SetIP.png|мини]]&lt;br /&gt;
&lt;br /&gt;
===Локальные переменные LOCAL_IP, TORRSERVE_IP, ACE_IP===&lt;br /&gt;
Прописываются пользователем форкплеера в настройках приложения.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Если не указан TORRSERVE_IP или ACE_IP&#039;&#039;&#039; то вместо них будет вставлен LOCAL_IP (устройство с ремотефорком)&lt;br /&gt;
&lt;br /&gt;
Если не указан также и LOCAL_IP то вместо них будет вставлен локальный IP 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
===Примеры TORRSERVE_IP, ACE_IP в торрент magnet ссылках вашего портала===&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;(magnet) &#039;&#039;&#039;acestream&#039;&#039;&#039; &amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://ACE_IP:6878/server/api?method=get_media_files&amp;amp;magnet=&amp;lt;/nowiki&amp;gt;&amp;quot;.urlencode(&amp;quot;&amp;lt;nowiki&amp;gt;magnet:?xt=urn:btih:642a36ec9dcb2c5ba7b08835bd04ae8738281bb1&amp;amp;dn=rutor.org_%D0%A1%D1%82%D0%B0%D1%80%D0%B8%D0%BA+%D0%B2+%D0%BF%D0%BE%D1%82%D1%91%D1%80%D1%82%D0%BE%D0%B9+%D1%88%D0%B8%D0%BD%D0%B5%D0%BB%D0%B8+%281964%29+SATRip-AVC+%D0%BE%D1%82+New-Team&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=retracker.local/announce&amp;lt;/nowiki&amp;gt;&amp;quot;)];&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;(magnet) &#039;&#039;&#039;torrserve&#039;&#039;&#039; &amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://TORRSERVE_IP:8090/torrent/play?m3u=true&amp;amp;link=&amp;lt;/nowiki&amp;gt;&amp;quot;.urlencode(&amp;quot;&amp;lt;nowiki&amp;gt;magnet:?xt=urn:btih:642a36ec9dcb2c5ba7b08835bd04ae8738281bb1&amp;amp;dn=rutor.org_%D0%A1%D1%82%D0%B0%D1%80%D0%B8%D0%BA+%D0%B2+%D0%BF%D0%BE%D1%82%D1%91%D1%80%D1%82%D0%BE%D0%B9+%D1%88%D0%B8%D0%BD%D0%B5%D0%BB%D0%B8+%281964%29+SATRip-AVC+%D0%BE%D1%82+New-Team&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=retracker.local/announce&amp;lt;/nowiki&amp;gt;&amp;quot;)];&lt;br /&gt;
&lt;br /&gt;
===Пример торрент магнет ссылки с автоматическим выбором torrserve или ace stream сервера===&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;(magnet) через ace stream или torrserve&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;magnet:?xt=urn:btih:642a36ec9dcb2c5ba7b08835bd04ae8738281bb1&amp;amp;dn=rutor.org_%D0%A1%D1%82%D0%B0%D1%80%D0%B8%D0%BA+%D0%B2+%D0%BF%D0%BE%D1%82%D1%91%D1%80%D1%82%D0%BE%D0%B9+%D1%88%D0%B8%D0%BD%D0%B5%D0%BB%D0%B8+%281964%29+SATRip-AVC+%D0%BE%D1%82+New-Team&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=udp://opentor.org:2710&amp;amp;tr=retracker.local/announce&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==11.04.2020==&lt;br /&gt;
&lt;br /&gt;
===Теги after и before - свой html код после и перед элементом списка===&lt;br /&gt;
$_CH[&amp;quot;before&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст перед элементом&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;after&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст после элемента&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Тег url_tvg в FXML странице  - своя телепрограмма===&lt;br /&gt;
Поддерживается только формат xmltv (сжатый и нет)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;url_tvg&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://epg.it999.ru/edem.xml.gz&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Параметр url-tvg в M3U плейлисте  - своя телепрограмма===&lt;br /&gt;
Поддерживается только формат xmltv (сжатый и нет)&lt;br /&gt;
&lt;br /&gt;
Начало плейлиста делаем таким&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;EXTM3U url-tvg=&amp;quot;&amp;lt;nowiki&amp;gt;http://epg.it999.ru/edem.xml.gz&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==07.03.2020==&lt;br /&gt;
&lt;br /&gt;
===Тег subtitles - субтитры===&lt;br /&gt;
$_CH[&amp;quot;subtitles&amp;quot;][0]=[&amp;quot;UA&amp;quot;,&amp;quot;&amp;lt;nowiki&amp;gt;https://tortuga.wtf/player/subtitle/18625_ua.vtt&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;subtitles&amp;quot;][1]=[&amp;quot;EN&amp;quot;,&amp;quot;&amp;lt;nowiki&amp;gt;https://tortuga.wtf/player/subtitle/18625_en.vtt&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;subtitles&amp;quot;][2]=[&amp;quot;RU&amp;quot;,&amp;quot;&amp;lt;nowiki&amp;gt;https://tortuga.wtf/player/subtitle/18625_ru.vtt&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==04.02.2020==&lt;br /&gt;
&lt;br /&gt;
===Добавлена поддержка ссылок Яндекс диска.===&lt;br /&gt;
Ссылка должна быть в поле stream_url или в m3u плейлисте в формате https://yadi.sk/i/idfile&lt;br /&gt;
&lt;br /&gt;
==28.11.2019==&lt;br /&gt;
[[Файл:Position.png|мини]]&lt;br /&gt;
&lt;br /&gt;
===Тег position===&lt;br /&gt;
Тег указывает как позиционировать элемент списка на экране с видом &amp;quot;start&amp;quot;&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;; // При другом виде страницы не сработает&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;fulleditline&amp;quot;; //- Поле ввода текста шириной почти на всю страницу&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;hlist&amp;quot;; // - горизонтальная ссылка (может быть несколько на одном горизонтальном уровне)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;list&amp;quot;; // -обычный вид списка шириной в половину экрана и с  description справа&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;label&amp;quot;; // -невысокая строка на всю ширину экрана&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;bigtile&amp;quot;; // - Плитка увеличенной в 2 раза высоты (128х215px)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;&amp;quot;; // - Плитка обычного размера как в Стартовом меню (128х101px)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==14.11.2019==&lt;br /&gt;
&lt;br /&gt;
===Тег элемента списка location (Переадресация)===&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=1; // Переход c заменой текущей ссылки окна на новую (при перезапуске форкплеера будет открываться уже с этой новой ссылки)&lt;br /&gt;
Тот&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=3; // Переход с отображением в текущем окне (при перезапуске форкплеера будет открываться старая ссылка и опять переадресовываться, необходимо если например используются устаревающие сессии)&lt;br /&gt;
&lt;br /&gt;
==08.11.2019==&lt;br /&gt;
&lt;br /&gt;
===[[Подключение архива]] телепередач в iptv плейлисте m3u===&lt;br /&gt;
&lt;br /&gt;
==06.10.2019==&lt;br /&gt;
&lt;br /&gt;
===Разные качества в stream_url===&lt;br /&gt;
Пример на PHP&lt;br /&gt;
&lt;br /&gt;
$QualLinks=[&amp;quot;2040&amp;quot;=&amp;gt;[&amp;quot;url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://file_com/q1&amp;lt;/nowiki&amp;gt;&amp;quot;],&amp;quot;1080&amp;quot;=&amp;gt;[&amp;quot;url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://file_com/q2&amp;lt;/nowiki&amp;gt;&amp;quot;],&amp;quot;720&amp;quot;=&amp;gt;[&amp;quot;url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://file_com/q3&amp;lt;/nowiki&amp;gt;&amp;quot;] ];&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;stream_url&amp;quot;]=json_encode($QualLinks);&lt;br /&gt;
&lt;br /&gt;
В результате должна быть строка в формате JSON вида&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;stream_url&amp;quot;]=&#039;{&amp;quot;480&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://hls-c2&amp;lt;/nowiki&amp;gt;&amp;quot;},&amp;quot;720&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://hls-c1&amp;lt;/nowiki&amp;gt;&amp;quot;},&amp;quot;1080&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://hls-c0&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;}}&#039;;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==12.09.2019==&lt;br /&gt;
&lt;br /&gt;
===Автообновление страницы через заданное время (в секундах)===&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;reload(3);&amp;quot;; - где 3 это три секунды&lt;br /&gt;
&lt;br /&gt;
[[Файл:[[Медиа:Пример.jpg]]&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Вставьте сюда текст, который не нужно форматировать&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
== Вставьте сюда текст, который не нужно форматировать ==&lt;br /&gt;
[[[http://www.example.com заголовок ссылки]]&#039;&#039;&#039;&#039;&#039;Курсивное начертание&#039;&#039;&#039;&#039;&#039;]&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;]]==29.08.2019==&lt;br /&gt;
&lt;br /&gt;
===Добавлены тип ссылки Iframe.===&lt;br /&gt;
На место элемента списка вставляется содержимое из ссылки. Использовать можно например для поиска по очереди по нескольким плейлистам (Глобальный поиск).&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Поиск Terminator в filmix.red&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;https://filmix.red/fork/search?search=Terminator&amp;lt;/nowiki&amp;gt;&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;iframe&amp;quot;=&amp;gt;&amp;quot;4&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;timeout&amp;quot;=&amp;gt;8&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
Где &amp;quot;iframe&amp;quot; обязательный параметр. Число обозначает сколько показать ссылок из дочерней ссылки сразу, остальное будет внизу списка. &amp;quot;iframe&amp;quot;=&amp;gt;&amp;quot;0&amp;quot; - значит показать все.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;timeout&amp;quot; это таймаут ожиданния получения содержимого из дочерней ссылки&lt;br /&gt;
&lt;br /&gt;
===Глобальный поиск перенесен на spiderxml.com===&lt;br /&gt;
поиск идет через Iframe, в подсказках подбираются кроме ранее вводимых значений еще и история&lt;br /&gt;
&lt;br /&gt;
==19.06.2019==&lt;br /&gt;
&lt;br /&gt;
===Восстановление предыдущего виртуального идентификатора (мак адреса)===&lt;br /&gt;
Если у вас сменился виртуальный мак адрес ( например при сбросе тв к заводским или прочих сбоях памяти тв), то его можно восстановить войдя в аккаунт в ForkPlayer / Мой аккаунт / Настройки / Восстановить идентификатор ( мак адрес)&lt;br /&gt;
&lt;br /&gt;
Такая возможность доступна только если вы ранее уже входили в аккаунт и не вышли с него!&lt;br /&gt;
&lt;br /&gt;
==11.06.2019==&lt;br /&gt;
&lt;br /&gt;
===Новая переменная box_user в GET запросах===&lt;br /&gt;
Если в ForkPlayer войти в аккаунт (Меню/Настройки/Мой аккаунт) то в переменной $_GET[&amp;quot;box_user&amp;quot;] будет передаваться ваш емайл, если например открывать портал &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://nserv.host/&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
То ForkPlayer отправит запрос c такими идентификаторами&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;http://nserv.host/?box_mac=&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;your_mac_addres&#039;&#039;&#039;&amp;amp;box_user=&#039;&#039;&#039;your_forkplayer_tv@email&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==04.06.2019==&lt;br /&gt;
&lt;br /&gt;
===Изменения внешнего вида поисковых полей, клавиатуры===&lt;br /&gt;
&lt;br /&gt;
===Изменен формат Истории===&lt;br /&gt;
&lt;br /&gt;
==16.05.2019==&lt;br /&gt;
&lt;br /&gt;
===JWplayer добавлен тип плеера===&lt;br /&gt;
В настройках форкплеера добавлен тип плеера JW Player [https://jwplayer.com], он построен на базе HTML5 потому поддерживается только на устройствах где работает HTML5 плеер (все новые тв Tizen, webOS, Android)&lt;br /&gt;
&lt;br /&gt;
Рекомендуется для HLS предусматривающего поддержку адаптивного битрейта (например moonwalk, kinopub) чтобы работал режим автоматического качества&lt;br /&gt;
&lt;br /&gt;
==14.05.2019==&lt;br /&gt;
&lt;br /&gt;
===Отправка на сервер событий видеоплеера при старте и остановке видео===&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;hidden&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Video&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;http://...&amp;quot;,&amp;quot;event&amp;quot;=&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[&amp;quot;onstartvideo&amp;quot;=&amp;gt;&amp;quot;$siteurl/?event=onstartvideo&amp;amp;videoid=1&amp;quot;,&amp;quot;onstopvideo&amp;quot;=&amp;gt;&amp;quot;$siteurl/?event=onstopvideo&amp;amp;curTime=[curTime]&amp;amp;totalTime=[totalTime]&amp;amp;videoid=1&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
[curTime] и [totalTime] заменяются на время остановки и общее время видео в секундах&lt;br /&gt;
&lt;br /&gt;
===Предлагать пользователю начать просмотр видео с определенного времени===&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;hidden&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Video&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;http://...&amp;quot;,&amp;quot;start_time&amp;quot;=&amp;gt;340]&lt;br /&gt;
&lt;br /&gt;
start_time - время в секундах (предлагается в плеере на кнопке Play только если пользователь ранее не смотрел это видео, иначе ему нужно сначала отметить видео не просмотренным в Меню / Отметить непросмотренным)&lt;br /&gt;
&lt;br /&gt;
==13.05.2019==&lt;br /&gt;
&lt;br /&gt;
===Поддержка плейлистов с плеера hdgo (ссылки на плеер вида [https://vio.to/video/playlist/16778/ https://vio.to/video/playlist/])===&lt;br /&gt;
&lt;br /&gt;
==01.05.2019==&lt;br /&gt;
&lt;br /&gt;
====Обработка в полях playlist_url AddFavorite(); и AddFavorite(title,logo,url); и AddSearch(title,logo,url)====&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;none&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Добавить этот портал в закладки / стартовое меню&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;AddFavorite(Кинопаб,&amp;lt;nowiki&amp;gt;https://kino.pub/images/logo.png,http://195.88.208.101/kinopub/&amp;lt;/nowiki&amp;gt;);&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;logo_30x30&amp;quot;=&amp;gt;&amp;quot;none&amp;quot;,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Добавить этот портал в Глобальный поиск&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;AddSearch(Кинопаб,&amp;lt;nowiki&amp;gt;https://kino.pub/images/logo.png,http://195.88.208.101/kinopub/?cat=search&amp;lt;/nowiki&amp;gt;);&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
(пример всей странички на PHP на примере [https://github.com/alexkdpu/kino.pub_forkplayerPHP/blob/master/index.php Кинопаб]   )&lt;br /&gt;
&lt;br /&gt;
==29.04.2019==&lt;br /&gt;
&lt;br /&gt;
====В YouTube реализовано проигрывание похожих видео при окончании одного.====&lt;br /&gt;
[[В]] своем плейлисте реализация такая (на PHP)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
$PLAYLIST=[];&lt;br /&gt;
&lt;br /&gt;
$PLAYLIST[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Похожее видео которое запустится по окончании основного 1&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=http://www.youtube.com/watch?v=ZNLZla2xHUQ&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$PLAYLIST[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Похожее видео которое запустится по окончании основного 2&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=http://www.youtube.com/watch?v=ZNLZla2xHUQ&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Основное видео&amp;quot;,&amp;quot;stream_url&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=xhFCmwrSxCU&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist&amp;quot;=&amp;gt;$PLAYLIST];&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;channels&amp;quot;]=$_CH;&lt;br /&gt;
&lt;br /&gt;
print json_encode($_PL);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1919</id>
		<title>FXML</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1919"/>
		<updated>2024-10-15T00:24:28Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* FXMLbaseparser PHP класс упрощающий верстку кода для Fork browser */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;FXML&#039;&#039;&#039; (Fork eXtensible Markup Language) - что такое==&lt;br /&gt;
Это язык разметки документов во Всемирной паутине.  Для навигации по таким страницам не требуется мышь или сенсорный экран. Язык &#039;&#039;&#039;FXML&#039;&#039;&#039; интерпретируется такими приложениями как ForkPlayer, OTT Player, OTT-play. Полученный в результате интерпретации форматированный текст отображается на экране телевизора. &lt;br /&gt;
&lt;br /&gt;
====Например, следующий код (должен быть валидным JSON):====&lt;br /&gt;
 {&amp;quot;title&amp;quot;:&amp;quot;COOLTV - портал нового поколения&amp;quot;,&amp;quot;background-image&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;typeList&amp;quot;:&amp;quot;start&amp;quot;,&amp;quot;icon&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool23.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;channels&amp;quot;:[{&amp;quot;title&amp;quot;:&amp;quot;Вход&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/profle22.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/auth&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Новости &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/rss-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/news&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Поиск &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-search-folder-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/search.php&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Кинозал &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/1icons8-film-reel-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;AceStream &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-wave-arrows-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/12&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Обменник &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-next-100.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/obmen/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Сервисы &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8s3-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/9&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;IPTV &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-hdtv-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/8&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Мультимедиа &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-documentary-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/7&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Чат &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-chat-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/guest&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;FAQ &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-info-popup-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/faq/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Копилка&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-bad-piggies-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/copilka&amp;lt;/nowiki&amp;gt;&amp;quot;}]}&lt;br /&gt;
даст такой результат (в ForkPlayer):&lt;br /&gt;
[[Файл:Cooltv.png|мини|600x600пкс|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Все допустимые команды можно посмотреть в исходном коде страниц &lt;br /&gt;
&lt;br /&gt;
https://github.com/vengo634/kino.pub_forkplayerPHP/blob/master/index.php&lt;br /&gt;
&lt;br /&gt;
====Смотреть Исходный код любой страницы можно непосредственно в ForkPlayer====&lt;br /&gt;
[[Файл:VmGe53a9.png|мини|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
и FXML CMS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FXMLbaseparser PHP класс упрощающий верстку кода для Fork browser ==&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/FXMLbaseparser FXMLbaseparser PHP класс]&lt;br /&gt;
&lt;br /&gt;
==Новые теги и команды FXML==&lt;br /&gt;
Новые спецификации FXML добавляются в CHANGELOG, рекомендуем смотреть нужные команды также и там.&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;ping&amp;quot;][&amp;quot;link&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало 1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;; $_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;poster&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/CHANGELOG CHANGELOG]&lt;br /&gt;
&lt;br /&gt;
==Глобальные теги==&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;start&amp;quot;; // Плиточный + другой(с использованием $_CH[&amp;quot;position&amp;quot;] ) виды страницы&lt;br /&gt;
&lt;br /&gt;
====Стили сайта по умолчанию====&lt;br /&gt;
По умолчанию для вашей страницы задаются такие стили (вы их можете изменить задав нужные в $_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:700px; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;Смотреть CSS стили по умолчанию&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button {&lt;br /&gt;
    background-color: #bbbbbb;&lt;br /&gt;
    display: block;&lt;br /&gt;
    border-style: solid;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:decrement {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: transparent transparent #555555;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:increment {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: #555555 transparent transparent transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar {&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-track {&lt;br /&gt;
    background: #ddd;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb {&lt;br /&gt;
    background: #888;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb:hover {&lt;br /&gt;
    background: #777;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    ;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    margin-left: 4px;&lt;br /&gt;
    margin-top: 1px;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .rating {&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    display: none;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    height: 23px;&lt;br /&gt;
    width: 28px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    padding-left: 5px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .icon {&lt;br /&gt;
    padding: 2px 2px 0px 2px;&lt;br /&gt;
    height: 76%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .name {&lt;br /&gt;
    font-size: 17px;&lt;br /&gt;
    line-height: 0.9;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    bottom: 0px;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    max-height: 50%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .title {&lt;br /&gt;
    background: rgba(0, 0, 0, 0.65);&lt;br /&gt;
    border-radius: 3px;&lt;br /&gt;
    width: auto;&lt;br /&gt;
    display: display: inline-block;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    padding: 1px 4px 4px 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .side_icon {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list {&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px 0px 0px 4px;&lt;br /&gt;
    cursor: default;&lt;br /&gt;
    margin: 2px 0px;&lt;br /&gt;
    width: 48.87708333333334%;&lt;br /&gt;
    height: 35px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .contmenu {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    float: right;&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .numb {&lt;br /&gt;
    float: left;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
    font-size: 60%;&lt;br /&gt;
    min-width: 38px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .icon {&lt;br /&gt;
    margin: 0px 2px;&lt;br /&gt;
    padding-right: 2px;&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .title {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    float: left;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listsearch {&lt;br /&gt;
    background-color: #ddd;&lt;br /&gt;
    color: #333;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    padding: 3px;&lt;br /&gt;
    margin-top: 2px;&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
    width: 90%;&lt;br /&gt;
    height: 68%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolinktitle {&lt;br /&gt;
    height: 63%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolink {&lt;br /&gt;
    padding-left: 3px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default .contmenu {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected .contmenu {&lt;br /&gt;
    display: block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.html {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px solid transparent;&lt;br /&gt;
    margin: 0px 4px;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    max-width: 310px;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
    padding: 0px 4px;&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 28px;&lt;br /&gt;
    text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline {&lt;br /&gt;
    border: 1px solid transparent;&lt;br /&gt;
    width: 80%;&lt;br /&gt;
    margin: 1px 9%;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    font-size: 24px;&lt;br /&gt;
    height: 24px;&lt;br /&gt;
    margin: 3px;&lt;br /&gt;
    color: #2b2525;&lt;br /&gt;
    background-color: #eee;&lt;br /&gt;
    padding: 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .icon {&lt;br /&gt;
    float: right;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    margin: -2px 4%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    width: 92%;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    height: 26px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 20px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default {&lt;br /&gt;
    background: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected {&lt;br /&gt;
    background: rgba(180, 180, 180, 0.7);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listselected {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.site {&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    font-size: 27px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    color: rgb(238, 238, 238);&lt;br /&gt;
    margin: 0px;&lt;br /&gt;
    padding: 0px;&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    background-color: transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
small {&lt;br /&gt;
    font-size: 70%;&lt;br /&gt;
    color: gray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.buttons {&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    top: 80%;&lt;br /&gt;
    left: 50%;&lt;br /&gt;
    width: 47%;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    color: #cccccc;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
}&lt;br /&gt;
\#description {&lt;br /&gt;
    top: 0px;&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    font-size: 28px;&lt;br /&gt;
    left: 51%;&lt;br /&gt;
    width: 47.2%;&lt;br /&gt;
    word-break: break-word;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Пример своего стиля (пишите чистый css, он будет преобразован в одну строку)===&lt;br /&gt;
&lt;br /&gt;
===Если строка стилей очень большая, их лучше вынести в отдельный css файл===&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
====#content - стиль страницы (без description)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
====#rightHalf- стиль description====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;#content {font-size:25px;}  #rightHalf{font-size:10 px;} &amp;quot;; // Установим размер шрифта сайта и описания&lt;br /&gt;
&lt;br /&gt;
====.selected - стиль при выделении элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .selected {  color: black; } &amp;quot;; // Делаем смену цвета выделенного элемента&lt;br /&gt;
&lt;br /&gt;
====.default - стиль невыделенного элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .default{  color: gray; } &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.contmenu - визуальная кнопка контекстного меню====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .contmenu{ display:none; } &amp;quot;;  // Скрываем кнопку контекстного меню&lt;br /&gt;
&lt;br /&gt;
====.label, .start, .list, .fulleditline, .hlink, .html - стили(верхний уровень) для разных типов элементов $_CH[&amp;quot;position&amp;quot;]  [https://wiki.forkbrowser.top/wiki/FXML#position_.D0.BF.D1.80.D0.B8_.D0.B7.D0.B0.D0.B4.D0.B0.D0.BD.D0.BD.D0.BE.D0.BC_.24_PL.5B.22typeList.22.5D.3D.22start.22.3B]====&lt;br /&gt;
Если не задан $_CH[&amp;quot;position&amp;quot;] элемента то по умолчанию элементы отображаются на странице списком и классом .list&lt;br /&gt;
&lt;br /&gt;
Если при этом задано отображение плиткой ($_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot; ) то по умолчанию элементы отображаются с классом .start&lt;br /&gt;
&lt;br /&gt;
====.labelselected, .startselected, .listselected, .fulleditlineselected, .hlinkselected, .htmlselected - стили(верхний уровень) для выделенных элементов====&lt;br /&gt;
&lt;br /&gt;
=====Установим цвет для выделенных элементов только .list=====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .listselected{color: red; }&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.labeldefault, .startdefault, .listdefault, .fulleditlinedefault, .hlinkdefault, .htmldefault - стили(верхний уровень) для невыделенных элементов====&lt;br /&gt;
&lt;br /&gt;
====.list - зададим свой вид списка====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list{color: red; }&amp;quot;; // Меняем цвет&lt;br /&gt;
&lt;br /&gt;
====.title .icon .rating .numb вложенные в верхний уровень стили заголовка, иконки, рейтинга(для .start), порядкового номера(для .list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .title{color: red; }&amp;quot;; // Меняем цвет заголовков&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .numb { display:none; } &amp;quot;; // Скрываем отображение номера&lt;br /&gt;
&lt;br /&gt;
====Комбинация классов, зададим стиль иконок только для списка (.list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list .icon{background-color:white; margin:2px;}&amp;quot;; // Зададим белую рамку фона для иконок&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cacheinfo&amp;quot;]=&amp;quot;nocache&amp;quot;;  // Не кешировать страницу (при возврате назад страница будет грузиться заново по адресу)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;setcookie&amp;quot;][&amp;quot;name1&amp;quot;]=&amp;quot;value1&amp;quot;; // Аналог cookie вебсайтов. Запомнит для последующих запросов страниц с этого же домена в переменной $_GET[&amp;quot;cookie&amp;quot;][&amp;quot;name1&amp;quot;] значение value1&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;info&amp;quot;]=&amp;quot;Вам уведомление&amp;quot;; // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;confirm&amp;quot;]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Открыть вложенный CHannel?&amp;quot;,&amp;quot;channel&amp;quot;=&amp;gt;[&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://..&amp;quot;]];&lt;br /&gt;
&lt;br /&gt;
===cmd тег (как глобальный так и в playlist_url) - допустимые команды===&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в глобальном теге====&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;historyback(1);&amp;quot;  // Вернуться назад на 1 страницу&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Вам уведомление);&amp;quot;  // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;settitle(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый title&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;setdescription(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый description&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;reload(2);&amp;quot;  // Перезагрузить страницу через 2секунды&lt;br /&gt;
&lt;br /&gt;
В конец cmd к командам выше можно добавить &#039;&#039;&#039;stop();&#039;&#039;&#039; чтобы выполнить команду выше и остановить загрузку новой страницы &lt;br /&gt;
&lt;br /&gt;
например $_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Доступ к этой странице Вам запрещен);stop();&amp;quot; выведет уведомление но оставить пользователя на предыдущей странице.&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в $_CH[&amp;quot;playlist_url&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;cmd:&amp;lt;Команда из списка допустимых&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Например $_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;reload();&amp;quot;; перезагрузит страницу при нажатии&lt;br /&gt;
&lt;br /&gt;
==Channel теги==&lt;br /&gt;
&lt;br /&gt;
===title===&lt;br /&gt;
Заголовок&lt;br /&gt;
&lt;br /&gt;
===playlist_url или stream_url===&lt;br /&gt;
Адрес страницы или адрес видеопотока (непустым может быть только один из этих тегов)&lt;br /&gt;
====stream_url мультиссылки с разными качествами и (или) несколькими источниками, Err format json link====&lt;br /&gt;
Для видеопотока можно задавать мультиссылки с разным качеством (можно и разные озвучки, но это будет не так явно для пользователя), выбор качества будет браться автоматически с настроек Fork(1080 или 720 и т.д.) и (или) несколькими источниками&lt;br /&gt;
&lt;br /&gt;
Пример использования в PHP с json_encode&lt;br /&gt;
В данном примере создается массив с различными ссылками на видеопотоки, и с помощью функции json_encode он преобразуется в JSON-формат для последующего использования:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 // Массив с данными для разных качеств видео и двумя источниками&lt;br /&gt;
 $stream_links = [&lt;br /&gt;
    &amp;quot;360&amp;quot; =&amp;gt; [&lt;br /&gt;
        &amp;quot;title&amp;quot; =&amp;gt; &amp;quot;360p&amp;quot;,&lt;br /&gt;
        &amp;quot;url&amp;quot; =&amp;gt; [&lt;br /&gt;
            &amp;quot;http://server.in/240.mp4&amp;quot;,&lt;br /&gt;
            &amp;quot;http://server2.in/hls/240.mp4&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;720&amp;quot; =&amp;gt; [&lt;br /&gt;
        &amp;quot;title&amp;quot; =&amp;gt; &amp;quot;720p&amp;quot;,&lt;br /&gt;
        &amp;quot;url&amp;quot; =&amp;gt; [&lt;br /&gt;
           &amp;quot;http://server.in/720.mp4&amp;quot;,&lt;br /&gt;
           &amp;quot;http://server2.in/hls/720.mp4&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    ]&lt;br /&gt;
 ];&lt;br /&gt;
 // Преобразование массива в JSON&lt;br /&gt;
 $json_stream_url = json_encode($stream_links);&lt;br /&gt;
 // Использование JSON в $_CH[&amp;quot;stream_url&amp;quot;]&lt;br /&gt;
 $_CH[&amp;quot;stream_url&amp;quot;] = $json_stream_url;&lt;br /&gt;
 // Вывод JSON для проверки&lt;br /&gt;
 echo $_CH[&amp;quot;stream_url&amp;quot;];&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Пример с несколькими источниками:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $stream_links = [&lt;br /&gt;
            &amp;quot;http://server.in/240.mp4&amp;quot;,&lt;br /&gt;
            &amp;quot;http://server2.in/hls/240.mp4&amp;quot;&lt;br /&gt;
        ];&lt;br /&gt;
 // Преобразование массива в JSON&lt;br /&gt;
 $json_stream_url = json_encode($stream_links);&lt;br /&gt;
 // Использование JSON в $_CH[&amp;quot;stream_url&amp;quot;]&lt;br /&gt;
 $_CH[&amp;quot;stream_url&amp;quot;] = $json_stream_url;&lt;br /&gt;
 // Вывод JSON для проверки&lt;br /&gt;
 echo $_CH[&amp;quot;stream_url&amp;quot;];&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===logo_30x30===&lt;br /&gt;
Адрес иконки&lt;br /&gt;
&lt;br /&gt;
===confirm - диалоговое окно с действиями при нажатии на элемент===&lt;br /&gt;
Пример подтверждения выхода с аккаунта&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Выйти&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;confirm&amp;quot;,&amp;quot;confirm&amp;quot;=&amp;gt;[&amp;quot;http://host/?do&amp;lt;nowiki&amp;gt;=exit&amp;quot;],&amp;quot;description&amp;quot;=&amp;gt;&amp;quot;Выйти с аккаунта?&amp;quot;];&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===menu - контекстное меню элемента===&lt;br /&gt;
$menu=[];&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню1&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню2&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;menu&amp;quot;]=$menu;&lt;br /&gt;
&lt;br /&gt;
===position при заданном $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;===&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;&amp;quot;; // - Плитка как в Стартовом меню размером 128х101px)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // - Пример элемента со своим дизайном в $_CH[&amp;quot;template&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;br&amp;quot;]=0; // Не переносить навигацию на новую строку&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание вида&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&amp;quot;width:242px;overflow:hidden;margin:4px;text-align:center;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;width:242px;height:171px;padding:2px 2px 0px 2px;&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;small&amp;gt;$description&amp;lt;/small&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
Элементы будут выстраиваться в ряд и навигация по ним будет предполагать что они в одном ряду&lt;br /&gt;
&lt;br /&gt;
=====$_CH[&amp;quot;br&amp;quot;]=====&lt;br /&gt;
В месте где навигация должна перейти на новую строку задайте $_CH[&amp;quot;br&amp;quot;]=1; При этом в before будет добавлено значение &amp;lt;nowiki&amp;gt;&amp;lt;br clear=both&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;fulleditline&amp;quot;; //- Поле ввода текста шириной почти на всю страницу====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;hlist&amp;quot;; // - горизонтальная ссылка (может быть несколько на одном горизонтальном уровне)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;list&amp;quot;; // -обычный вид списка шириной в половину экрана и с description справа====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;label&amp;quot;; // -невысокая строка на всю ширину экрана====&lt;br /&gt;
&lt;br /&gt;
===location===&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=1; // Переход c заменой текущей ссылки окна на новую (при перезапуске форкплеера будет открываться уже с этой новой ссылки)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=3; // Переход с отображением в текущем окне (при перезапуске форкплеера будет открываться старая ссылка и опять переадресовываться, необходимо если например используются устаревающие сессии)&lt;br /&gt;
&lt;br /&gt;
===after и before - свой html код после и перед элементом списка===&lt;br /&gt;
$_CH[&amp;quot;before&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст перед элементом&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;after&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст после элемента&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===SetTimeInterval - отправка событий клиентом через интервал и вывод сообщений===&lt;br /&gt;
$_CH[&amp;quot;SetTimeInterval&amp;quot;]=[&amp;quot;time&amp;quot;=&amp;gt;1,&amp;quot;onmenu&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onmenu&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;onplay&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onplay&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;time&#039;&#039;&#039; - интервал между отправкой событий в минутах&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onmenu -&#039;&#039;&#039; ссылка для отправки событий если пользователь находится в списке&lt;br /&gt;
&lt;br /&gt;
в ответ по ссылке onmenu &amp;lt;nowiki&amp;gt;http://193.30.240.2/try/ajax/send_status_log.php?action=onmenu&amp;lt;/nowiki&amp;gt; можно давать json &lt;br /&gt;
 {&amp;quot;message&amp;quot;:&amp;quot;Hello user&amp;quot;} &lt;br /&gt;
Это уведомление будет выводится вверху форкплеера&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onplay-&#039;&#039;&#039; ссылка для отправки событий если пользователь смотрит видео&lt;br /&gt;
&lt;br /&gt;
Можно использовать один или два сразу тега onmenu и onplay&lt;br /&gt;
&lt;br /&gt;
===parser - тег загрузки другой страницы перед переходом по playlist_url или stream_url===&lt;br /&gt;
Пример в XML&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
Пример в JSON FXML&lt;br /&gt;
 $_CH[&amp;quot;parser&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|&amp;lt;/nowiki&amp;gt;;&amp;quot;;&lt;br /&gt;
результат отдастся то что между js= и ; &lt;br /&gt;
&lt;br /&gt;
Регулярное выражение (по маркеру .*? )&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|&amp;lt;script&amp;gt;.*?js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
или&lt;br /&gt;
 &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|.*?js]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
преобразуется в RegExp(&amp;quot;&amp;lt;script&amp;gt;.*?js=(.*?);&amp;quot;,&amp;quot;i&amp;quot;) - результат отдастся тот что в () &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&amp;lt;title&amp;gt;Test &amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== #POST в playlist_url означает что все что после него будет передавать методом POST====&lt;br /&gt;
&lt;br /&gt;
В примере выше на адрес http://parser.co/ отправятся POST данные html=md5hash, где md5hash заменятся на полученное от parser&lt;br /&gt;
&lt;br /&gt;
====Допустимо в parser использовать curl запросы (доступны на андроид, частично если форк установлен в память ТВ, или через ремотефорк)====&lt;br /&gt;
&lt;br /&gt;
====Можно перечислить порядок методов запроса парсер, например &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
Сначала будет попытка запроса через remotefork (если включен), потом через андроид класс если Fork запущен на андроиде, потом прямой XHR запрос с попыткой установить заголовки, потом прямой XHR запрос без заголовков&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&lt;br /&gt;
  &amp;lt;title&amp;gt;Test curl and method&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;parser&amp;gt;&amp;lt;![CDATA[curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept-Encoding: deflate&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;]]&amp;gt;&lt;br /&gt;
  &amp;lt;/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Или в JSON&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;channels&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;title&amp;quot;: &amp;quot;Test curl and method&amp;quot;,&lt;br /&gt;
      &amp;quot;cors&amp;quot;: &amp;quot;rf|android|direct|directnoheader&amp;quot;,&lt;br /&gt;
      &amp;quot;playlist_url&amp;quot;: &amp;quot;http://parser.co/#POSThtml=md5hash&amp;quot;,&lt;br /&gt;
      &amp;quot;parser&amp;quot;: &#039;curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept-Encoding: deflate&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;&#039;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Результат будет в $_POST[&#039;html&#039;]&lt;br /&gt;
&lt;br /&gt;
Результат будет аналогично md5hash в $_GET[&#039;page&#039;]&lt;br /&gt;
&lt;br /&gt;
====Методом POST для видеоссылок ( stream_url )====&lt;br /&gt;
 &amp;lt;channel&amp;gt; &lt;br /&gt;
  &amp;lt;title&amp;gt;stream post&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;stream_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://test.ru/index.php#POSTs=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/stream_url&amp;gt;&lt;br /&gt;
  &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[https://yadi.sk/d/0BpgziSQ0VWiFg]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Будет идти отправка POST на &amp;lt;nowiki&amp;gt;http://test.ru/index.php#POSTs=md5hash&amp;lt;/nowiki&amp;gt; в $_POST[&amp;quot;s&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Ответ страницы попадет в проигрыватель в виде ссылки.&lt;br /&gt;
&lt;br /&gt;
Тоесть &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://test.ru/index.php&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; должен дать текст ссылки на медиафайл вида &amp;lt;nowiki&amp;gt;http://.../myvideo.mp4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Скачивание сторонней страницы по необходимости, страница &amp;lt;nowiki&amp;gt;http://parser.co/&amp;lt;/nowiki&amp;gt; может дать json ответ====&lt;br /&gt;
 {&amp;quot;parse&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8&amp;amp;gl=US&amp;amp;hl=en&amp;amp;has_verified=1&amp;amp;bpctr=9999999999&amp;lt;/nowiki&amp;gt;&amp;quot;}&lt;br /&gt;
Скачанная страница шлется в параметре  $_POST[&#039;remoteparse&#039;]&lt;br /&gt;
&lt;br /&gt;
==Построение произвольного положения элементов на странице (c &amp;quot;br&amp;quot; вместо &amp;quot;coordiantion&amp;quot;)==&lt;br /&gt;
&lt;br /&gt;
===Задаем странице вид плиткой (start)===&lt;br /&gt;
 $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Прописываем свои стили===&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;&lt;br /&gt;
&lt;br /&gt;
.myStyle1{&lt;br /&gt;
&lt;br /&gt;
width:242px;&lt;br /&gt;
&lt;br /&gt;
overflow:hidden;&lt;br /&gt;
&lt;br /&gt;
margin:4px;&lt;br /&gt;
&lt;br /&gt;
text-align:center;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.myStyle2{&lt;br /&gt;
width:242px;&lt;br /&gt;
height:171px;&lt;br /&gt;
padding:2px 2px 0px 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Задаем шаблон (template) каждому элементу списка===&lt;br /&gt;
&amp;lt;code&amp;gt;$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // Задает возможность использовать template&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;; // Заголовок - подставляет в шаблоне вместо $title&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;; // Иконка $logo_30x30&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание, если нужно&amp;quot;; // Описание- подставляет в шаблоне вместо $description&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;myStyle1&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;myStyle2&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Перенос на новую строке при html дизайне $_CH[&amp;quot;br&amp;quot;]=1;===&lt;br /&gt;
Для правильной навигации по странице нужно знать когда у вас там новая строка. Для этого в элементе с которого нужно чтоб начиналась новая строка присваиваем &lt;br /&gt;
 $_CH[&amp;quot;br&amp;quot;]=1;// Этот элемент разместится уже на новой строке&lt;br /&gt;
&lt;br /&gt;
==Горизонтальная прокрутка==&lt;br /&gt;
Задаем nowrap только для первого (обзначается br=1) элемента блока горизонтальной прокрутки&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;nowrap&amp;quot;=1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Первый элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Второй элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Третий элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Последний элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Новый элемент с новой строки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==Вывод результирующей страницы (на PHP)==&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Ваш код с наполнением массивов $_PL и $_CH информацией&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;channels&amp;quot;]=$_CH;&lt;br /&gt;
&lt;br /&gt;
print json_encode($_PL);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1918</id>
		<title>FXML</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1918"/>
		<updated>2024-10-15T00:24:13Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* FXML (Fork eXtensible Markup Language) - что такое */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;FXML&#039;&#039;&#039; (Fork eXtensible Markup Language) - что такое==&lt;br /&gt;
Это язык разметки документов во Всемирной паутине.  Для навигации по таким страницам не требуется мышь или сенсорный экран. Язык &#039;&#039;&#039;FXML&#039;&#039;&#039; интерпретируется такими приложениями как ForkPlayer, OTT Player, OTT-play. Полученный в результате интерпретации форматированный текст отображается на экране телевизора. &lt;br /&gt;
&lt;br /&gt;
====Например, следующий код (должен быть валидным JSON):====&lt;br /&gt;
 {&amp;quot;title&amp;quot;:&amp;quot;COOLTV - портал нового поколения&amp;quot;,&amp;quot;background-image&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;typeList&amp;quot;:&amp;quot;start&amp;quot;,&amp;quot;icon&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool23.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;channels&amp;quot;:[{&amp;quot;title&amp;quot;:&amp;quot;Вход&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/profle22.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/auth&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Новости &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/rss-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/news&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Поиск &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-search-folder-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/search.php&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Кинозал &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/1icons8-film-reel-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;AceStream &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-wave-arrows-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/12&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Обменник &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-next-100.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/obmen/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Сервисы &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8s3-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/9&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;IPTV &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-hdtv-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/8&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Мультимедиа &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-documentary-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/7&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Чат &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-chat-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/guest&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;FAQ &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-info-popup-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/faq/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Копилка&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-bad-piggies-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/copilka&amp;lt;/nowiki&amp;gt;&amp;quot;}]}&lt;br /&gt;
даст такой результат (в ForkPlayer):&lt;br /&gt;
[[Файл:Cooltv.png|мини|600x600пкс|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Все допустимые команды можно посмотреть в исходном коде страниц &lt;br /&gt;
&lt;br /&gt;
https://github.com/vengo634/kino.pub_forkplayerPHP/blob/master/index.php&lt;br /&gt;
&lt;br /&gt;
====Смотреть Исходный код любой страницы можно непосредственно в ForkPlayer====&lt;br /&gt;
[[Файл:VmGe53a9.png|мини|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
и FXML CMS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===FXMLbaseparser PHP класс упрощающий верстку кода для Fork browser ===&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/FXMLbaseparser FXMLbaseparser PHP класс]&lt;br /&gt;
&lt;br /&gt;
==Новые теги и команды FXML==&lt;br /&gt;
Новые спецификации FXML добавляются в CHANGELOG, рекомендуем смотреть нужные команды также и там.&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;ping&amp;quot;][&amp;quot;link&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало 1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;; $_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;poster&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/CHANGELOG CHANGELOG]&lt;br /&gt;
&lt;br /&gt;
==Глобальные теги==&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;start&amp;quot;; // Плиточный + другой(с использованием $_CH[&amp;quot;position&amp;quot;] ) виды страницы&lt;br /&gt;
&lt;br /&gt;
====Стили сайта по умолчанию====&lt;br /&gt;
По умолчанию для вашей страницы задаются такие стили (вы их можете изменить задав нужные в $_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:700px; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;Смотреть CSS стили по умолчанию&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button {&lt;br /&gt;
    background-color: #bbbbbb;&lt;br /&gt;
    display: block;&lt;br /&gt;
    border-style: solid;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:decrement {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: transparent transparent #555555;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:increment {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: #555555 transparent transparent transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar {&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-track {&lt;br /&gt;
    background: #ddd;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb {&lt;br /&gt;
    background: #888;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb:hover {&lt;br /&gt;
    background: #777;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    ;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    margin-left: 4px;&lt;br /&gt;
    margin-top: 1px;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .rating {&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    display: none;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    height: 23px;&lt;br /&gt;
    width: 28px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    padding-left: 5px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .icon {&lt;br /&gt;
    padding: 2px 2px 0px 2px;&lt;br /&gt;
    height: 76%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .name {&lt;br /&gt;
    font-size: 17px;&lt;br /&gt;
    line-height: 0.9;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    bottom: 0px;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    max-height: 50%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .title {&lt;br /&gt;
    background: rgba(0, 0, 0, 0.65);&lt;br /&gt;
    border-radius: 3px;&lt;br /&gt;
    width: auto;&lt;br /&gt;
    display: display: inline-block;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    padding: 1px 4px 4px 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .side_icon {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list {&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px 0px 0px 4px;&lt;br /&gt;
    cursor: default;&lt;br /&gt;
    margin: 2px 0px;&lt;br /&gt;
    width: 48.87708333333334%;&lt;br /&gt;
    height: 35px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .contmenu {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    float: right;&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .numb {&lt;br /&gt;
    float: left;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
    font-size: 60%;&lt;br /&gt;
    min-width: 38px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .icon {&lt;br /&gt;
    margin: 0px 2px;&lt;br /&gt;
    padding-right: 2px;&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .title {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    float: left;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listsearch {&lt;br /&gt;
    background-color: #ddd;&lt;br /&gt;
    color: #333;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    padding: 3px;&lt;br /&gt;
    margin-top: 2px;&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
    width: 90%;&lt;br /&gt;
    height: 68%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolinktitle {&lt;br /&gt;
    height: 63%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolink {&lt;br /&gt;
    padding-left: 3px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default .contmenu {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected .contmenu {&lt;br /&gt;
    display: block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.html {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px solid transparent;&lt;br /&gt;
    margin: 0px 4px;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    max-width: 310px;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
    padding: 0px 4px;&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 28px;&lt;br /&gt;
    text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline {&lt;br /&gt;
    border: 1px solid transparent;&lt;br /&gt;
    width: 80%;&lt;br /&gt;
    margin: 1px 9%;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    font-size: 24px;&lt;br /&gt;
    height: 24px;&lt;br /&gt;
    margin: 3px;&lt;br /&gt;
    color: #2b2525;&lt;br /&gt;
    background-color: #eee;&lt;br /&gt;
    padding: 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .icon {&lt;br /&gt;
    float: right;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    margin: -2px 4%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    width: 92%;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    height: 26px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 20px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default {&lt;br /&gt;
    background: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected {&lt;br /&gt;
    background: rgba(180, 180, 180, 0.7);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listselected {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.site {&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    font-size: 27px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    color: rgb(238, 238, 238);&lt;br /&gt;
    margin: 0px;&lt;br /&gt;
    padding: 0px;&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    background-color: transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
small {&lt;br /&gt;
    font-size: 70%;&lt;br /&gt;
    color: gray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.buttons {&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    top: 80%;&lt;br /&gt;
    left: 50%;&lt;br /&gt;
    width: 47%;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    color: #cccccc;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
}&lt;br /&gt;
\#description {&lt;br /&gt;
    top: 0px;&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    font-size: 28px;&lt;br /&gt;
    left: 51%;&lt;br /&gt;
    width: 47.2%;&lt;br /&gt;
    word-break: break-word;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Пример своего стиля (пишите чистый css, он будет преобразован в одну строку)===&lt;br /&gt;
&lt;br /&gt;
===Если строка стилей очень большая, их лучше вынести в отдельный css файл===&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
====#content - стиль страницы (без description)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
====#rightHalf- стиль description====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;#content {font-size:25px;}  #rightHalf{font-size:10 px;} &amp;quot;; // Установим размер шрифта сайта и описания&lt;br /&gt;
&lt;br /&gt;
====.selected - стиль при выделении элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .selected {  color: black; } &amp;quot;; // Делаем смену цвета выделенного элемента&lt;br /&gt;
&lt;br /&gt;
====.default - стиль невыделенного элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .default{  color: gray; } &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.contmenu - визуальная кнопка контекстного меню====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .contmenu{ display:none; } &amp;quot;;  // Скрываем кнопку контекстного меню&lt;br /&gt;
&lt;br /&gt;
====.label, .start, .list, .fulleditline, .hlink, .html - стили(верхний уровень) для разных типов элементов $_CH[&amp;quot;position&amp;quot;]  [https://wiki.forkbrowser.top/wiki/FXML#position_.D0.BF.D1.80.D0.B8_.D0.B7.D0.B0.D0.B4.D0.B0.D0.BD.D0.BD.D0.BE.D0.BC_.24_PL.5B.22typeList.22.5D.3D.22start.22.3B]====&lt;br /&gt;
Если не задан $_CH[&amp;quot;position&amp;quot;] элемента то по умолчанию элементы отображаются на странице списком и классом .list&lt;br /&gt;
&lt;br /&gt;
Если при этом задано отображение плиткой ($_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot; ) то по умолчанию элементы отображаются с классом .start&lt;br /&gt;
&lt;br /&gt;
====.labelselected, .startselected, .listselected, .fulleditlineselected, .hlinkselected, .htmlselected - стили(верхний уровень) для выделенных элементов====&lt;br /&gt;
&lt;br /&gt;
=====Установим цвет для выделенных элементов только .list=====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .listselected{color: red; }&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.labeldefault, .startdefault, .listdefault, .fulleditlinedefault, .hlinkdefault, .htmldefault - стили(верхний уровень) для невыделенных элементов====&lt;br /&gt;
&lt;br /&gt;
====.list - зададим свой вид списка====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list{color: red; }&amp;quot;; // Меняем цвет&lt;br /&gt;
&lt;br /&gt;
====.title .icon .rating .numb вложенные в верхний уровень стили заголовка, иконки, рейтинга(для .start), порядкового номера(для .list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .title{color: red; }&amp;quot;; // Меняем цвет заголовков&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .numb { display:none; } &amp;quot;; // Скрываем отображение номера&lt;br /&gt;
&lt;br /&gt;
====Комбинация классов, зададим стиль иконок только для списка (.list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list .icon{background-color:white; margin:2px;}&amp;quot;; // Зададим белую рамку фона для иконок&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cacheinfo&amp;quot;]=&amp;quot;nocache&amp;quot;;  // Не кешировать страницу (при возврате назад страница будет грузиться заново по адресу)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;setcookie&amp;quot;][&amp;quot;name1&amp;quot;]=&amp;quot;value1&amp;quot;; // Аналог cookie вебсайтов. Запомнит для последующих запросов страниц с этого же домена в переменной $_GET[&amp;quot;cookie&amp;quot;][&amp;quot;name1&amp;quot;] значение value1&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;info&amp;quot;]=&amp;quot;Вам уведомление&amp;quot;; // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;confirm&amp;quot;]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Открыть вложенный CHannel?&amp;quot;,&amp;quot;channel&amp;quot;=&amp;gt;[&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://..&amp;quot;]];&lt;br /&gt;
&lt;br /&gt;
===cmd тег (как глобальный так и в playlist_url) - допустимые команды===&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в глобальном теге====&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;historyback(1);&amp;quot;  // Вернуться назад на 1 страницу&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Вам уведомление);&amp;quot;  // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;settitle(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый title&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;setdescription(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый description&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;reload(2);&amp;quot;  // Перезагрузить страницу через 2секунды&lt;br /&gt;
&lt;br /&gt;
В конец cmd к командам выше можно добавить &#039;&#039;&#039;stop();&#039;&#039;&#039; чтобы выполнить команду выше и остановить загрузку новой страницы &lt;br /&gt;
&lt;br /&gt;
например $_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Доступ к этой странице Вам запрещен);stop();&amp;quot; выведет уведомление но оставить пользователя на предыдущей странице.&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в $_CH[&amp;quot;playlist_url&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;cmd:&amp;lt;Команда из списка допустимых&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Например $_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;reload();&amp;quot;; перезагрузит страницу при нажатии&lt;br /&gt;
&lt;br /&gt;
==Channel теги==&lt;br /&gt;
&lt;br /&gt;
===title===&lt;br /&gt;
Заголовок&lt;br /&gt;
&lt;br /&gt;
===playlist_url или stream_url===&lt;br /&gt;
Адрес страницы или адрес видеопотока (непустым может быть только один из этих тегов)&lt;br /&gt;
====stream_url мультиссылки с разными качествами и (или) несколькими источниками, Err format json link====&lt;br /&gt;
Для видеопотока можно задавать мультиссылки с разным качеством (можно и разные озвучки, но это будет не так явно для пользователя), выбор качества будет браться автоматически с настроек Fork(1080 или 720 и т.д.) и (или) несколькими источниками&lt;br /&gt;
&lt;br /&gt;
Пример использования в PHP с json_encode&lt;br /&gt;
В данном примере создается массив с различными ссылками на видеопотоки, и с помощью функции json_encode он преобразуется в JSON-формат для последующего использования:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 // Массив с данными для разных качеств видео и двумя источниками&lt;br /&gt;
 $stream_links = [&lt;br /&gt;
    &amp;quot;360&amp;quot; =&amp;gt; [&lt;br /&gt;
        &amp;quot;title&amp;quot; =&amp;gt; &amp;quot;360p&amp;quot;,&lt;br /&gt;
        &amp;quot;url&amp;quot; =&amp;gt; [&lt;br /&gt;
            &amp;quot;http://server.in/240.mp4&amp;quot;,&lt;br /&gt;
            &amp;quot;http://server2.in/hls/240.mp4&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;720&amp;quot; =&amp;gt; [&lt;br /&gt;
        &amp;quot;title&amp;quot; =&amp;gt; &amp;quot;720p&amp;quot;,&lt;br /&gt;
        &amp;quot;url&amp;quot; =&amp;gt; [&lt;br /&gt;
           &amp;quot;http://server.in/720.mp4&amp;quot;,&lt;br /&gt;
           &amp;quot;http://server2.in/hls/720.mp4&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    ]&lt;br /&gt;
 ];&lt;br /&gt;
 // Преобразование массива в JSON&lt;br /&gt;
 $json_stream_url = json_encode($stream_links);&lt;br /&gt;
 // Использование JSON в $_CH[&amp;quot;stream_url&amp;quot;]&lt;br /&gt;
 $_CH[&amp;quot;stream_url&amp;quot;] = $json_stream_url;&lt;br /&gt;
 // Вывод JSON для проверки&lt;br /&gt;
 echo $_CH[&amp;quot;stream_url&amp;quot;];&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Пример с несколькими источниками:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $stream_links = [&lt;br /&gt;
            &amp;quot;http://server.in/240.mp4&amp;quot;,&lt;br /&gt;
            &amp;quot;http://server2.in/hls/240.mp4&amp;quot;&lt;br /&gt;
        ];&lt;br /&gt;
 // Преобразование массива в JSON&lt;br /&gt;
 $json_stream_url = json_encode($stream_links);&lt;br /&gt;
 // Использование JSON в $_CH[&amp;quot;stream_url&amp;quot;]&lt;br /&gt;
 $_CH[&amp;quot;stream_url&amp;quot;] = $json_stream_url;&lt;br /&gt;
 // Вывод JSON для проверки&lt;br /&gt;
 echo $_CH[&amp;quot;stream_url&amp;quot;];&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===logo_30x30===&lt;br /&gt;
Адрес иконки&lt;br /&gt;
&lt;br /&gt;
===confirm - диалоговое окно с действиями при нажатии на элемент===&lt;br /&gt;
Пример подтверждения выхода с аккаунта&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Выйти&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;confirm&amp;quot;,&amp;quot;confirm&amp;quot;=&amp;gt;[&amp;quot;http://host/?do&amp;lt;nowiki&amp;gt;=exit&amp;quot;],&amp;quot;description&amp;quot;=&amp;gt;&amp;quot;Выйти с аккаунта?&amp;quot;];&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===menu - контекстное меню элемента===&lt;br /&gt;
$menu=[];&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню1&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню2&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;menu&amp;quot;]=$menu;&lt;br /&gt;
&lt;br /&gt;
===position при заданном $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;===&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;&amp;quot;; // - Плитка как в Стартовом меню размером 128х101px)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // - Пример элемента со своим дизайном в $_CH[&amp;quot;template&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;br&amp;quot;]=0; // Не переносить навигацию на новую строку&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание вида&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&amp;quot;width:242px;overflow:hidden;margin:4px;text-align:center;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;width:242px;height:171px;padding:2px 2px 0px 2px;&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;small&amp;gt;$description&amp;lt;/small&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
Элементы будут выстраиваться в ряд и навигация по ним будет предполагать что они в одном ряду&lt;br /&gt;
&lt;br /&gt;
=====$_CH[&amp;quot;br&amp;quot;]=====&lt;br /&gt;
В месте где навигация должна перейти на новую строку задайте $_CH[&amp;quot;br&amp;quot;]=1; При этом в before будет добавлено значение &amp;lt;nowiki&amp;gt;&amp;lt;br clear=both&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;fulleditline&amp;quot;; //- Поле ввода текста шириной почти на всю страницу====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;hlist&amp;quot;; // - горизонтальная ссылка (может быть несколько на одном горизонтальном уровне)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;list&amp;quot;; // -обычный вид списка шириной в половину экрана и с description справа====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;label&amp;quot;; // -невысокая строка на всю ширину экрана====&lt;br /&gt;
&lt;br /&gt;
===location===&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=1; // Переход c заменой текущей ссылки окна на новую (при перезапуске форкплеера будет открываться уже с этой новой ссылки)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=3; // Переход с отображением в текущем окне (при перезапуске форкплеера будет открываться старая ссылка и опять переадресовываться, необходимо если например используются устаревающие сессии)&lt;br /&gt;
&lt;br /&gt;
===after и before - свой html код после и перед элементом списка===&lt;br /&gt;
$_CH[&amp;quot;before&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст перед элементом&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;after&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст после элемента&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===SetTimeInterval - отправка событий клиентом через интервал и вывод сообщений===&lt;br /&gt;
$_CH[&amp;quot;SetTimeInterval&amp;quot;]=[&amp;quot;time&amp;quot;=&amp;gt;1,&amp;quot;onmenu&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onmenu&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;onplay&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onplay&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;time&#039;&#039;&#039; - интервал между отправкой событий в минутах&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onmenu -&#039;&#039;&#039; ссылка для отправки событий если пользователь находится в списке&lt;br /&gt;
&lt;br /&gt;
в ответ по ссылке onmenu &amp;lt;nowiki&amp;gt;http://193.30.240.2/try/ajax/send_status_log.php?action=onmenu&amp;lt;/nowiki&amp;gt; можно давать json &lt;br /&gt;
 {&amp;quot;message&amp;quot;:&amp;quot;Hello user&amp;quot;} &lt;br /&gt;
Это уведомление будет выводится вверху форкплеера&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onplay-&#039;&#039;&#039; ссылка для отправки событий если пользователь смотрит видео&lt;br /&gt;
&lt;br /&gt;
Можно использовать один или два сразу тега onmenu и onplay&lt;br /&gt;
&lt;br /&gt;
===parser - тег загрузки другой страницы перед переходом по playlist_url или stream_url===&lt;br /&gt;
Пример в XML&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
Пример в JSON FXML&lt;br /&gt;
 $_CH[&amp;quot;parser&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|&amp;lt;/nowiki&amp;gt;;&amp;quot;;&lt;br /&gt;
результат отдастся то что между js= и ; &lt;br /&gt;
&lt;br /&gt;
Регулярное выражение (по маркеру .*? )&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|&amp;lt;script&amp;gt;.*?js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
или&lt;br /&gt;
 &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|.*?js]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
преобразуется в RegExp(&amp;quot;&amp;lt;script&amp;gt;.*?js=(.*?);&amp;quot;,&amp;quot;i&amp;quot;) - результат отдастся тот что в () &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&amp;lt;title&amp;gt;Test &amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== #POST в playlist_url означает что все что после него будет передавать методом POST====&lt;br /&gt;
&lt;br /&gt;
В примере выше на адрес http://parser.co/ отправятся POST данные html=md5hash, где md5hash заменятся на полученное от parser&lt;br /&gt;
&lt;br /&gt;
====Допустимо в parser использовать curl запросы (доступны на андроид, частично если форк установлен в память ТВ, или через ремотефорк)====&lt;br /&gt;
&lt;br /&gt;
====Можно перечислить порядок методов запроса парсер, например &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
Сначала будет попытка запроса через remotefork (если включен), потом через андроид класс если Fork запущен на андроиде, потом прямой XHR запрос с попыткой установить заголовки, потом прямой XHR запрос без заголовков&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&lt;br /&gt;
  &amp;lt;title&amp;gt;Test curl and method&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;parser&amp;gt;&amp;lt;![CDATA[curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept-Encoding: deflate&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;]]&amp;gt;&lt;br /&gt;
  &amp;lt;/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Или в JSON&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;channels&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;title&amp;quot;: &amp;quot;Test curl and method&amp;quot;,&lt;br /&gt;
      &amp;quot;cors&amp;quot;: &amp;quot;rf|android|direct|directnoheader&amp;quot;,&lt;br /&gt;
      &amp;quot;playlist_url&amp;quot;: &amp;quot;http://parser.co/#POSThtml=md5hash&amp;quot;,&lt;br /&gt;
      &amp;quot;parser&amp;quot;: &#039;curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept-Encoding: deflate&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;&#039;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Результат будет в $_POST[&#039;html&#039;]&lt;br /&gt;
&lt;br /&gt;
Результат будет аналогично md5hash в $_GET[&#039;page&#039;]&lt;br /&gt;
&lt;br /&gt;
====Методом POST для видеоссылок ( stream_url )====&lt;br /&gt;
 &amp;lt;channel&amp;gt; &lt;br /&gt;
  &amp;lt;title&amp;gt;stream post&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;stream_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://test.ru/index.php#POSTs=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/stream_url&amp;gt;&lt;br /&gt;
  &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[https://yadi.sk/d/0BpgziSQ0VWiFg]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Будет идти отправка POST на &amp;lt;nowiki&amp;gt;http://test.ru/index.php#POSTs=md5hash&amp;lt;/nowiki&amp;gt; в $_POST[&amp;quot;s&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Ответ страницы попадет в проигрыватель в виде ссылки.&lt;br /&gt;
&lt;br /&gt;
Тоесть &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://test.ru/index.php&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; должен дать текст ссылки на медиафайл вида &amp;lt;nowiki&amp;gt;http://.../myvideo.mp4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Скачивание сторонней страницы по необходимости, страница &amp;lt;nowiki&amp;gt;http://parser.co/&amp;lt;/nowiki&amp;gt; может дать json ответ====&lt;br /&gt;
 {&amp;quot;parse&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8&amp;amp;gl=US&amp;amp;hl=en&amp;amp;has_verified=1&amp;amp;bpctr=9999999999&amp;lt;/nowiki&amp;gt;&amp;quot;}&lt;br /&gt;
Скачанная страница шлется в параметре  $_POST[&#039;remoteparse&#039;]&lt;br /&gt;
&lt;br /&gt;
==Построение произвольного положения элементов на странице (c &amp;quot;br&amp;quot; вместо &amp;quot;coordiantion&amp;quot;)==&lt;br /&gt;
&lt;br /&gt;
===Задаем странице вид плиткой (start)===&lt;br /&gt;
 $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Прописываем свои стили===&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;&lt;br /&gt;
&lt;br /&gt;
.myStyle1{&lt;br /&gt;
&lt;br /&gt;
width:242px;&lt;br /&gt;
&lt;br /&gt;
overflow:hidden;&lt;br /&gt;
&lt;br /&gt;
margin:4px;&lt;br /&gt;
&lt;br /&gt;
text-align:center;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.myStyle2{&lt;br /&gt;
width:242px;&lt;br /&gt;
height:171px;&lt;br /&gt;
padding:2px 2px 0px 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Задаем шаблон (template) каждому элементу списка===&lt;br /&gt;
&amp;lt;code&amp;gt;$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // Задает возможность использовать template&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;; // Заголовок - подставляет в шаблоне вместо $title&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;; // Иконка $logo_30x30&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание, если нужно&amp;quot;; // Описание- подставляет в шаблоне вместо $description&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;myStyle1&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;myStyle2&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Перенос на новую строке при html дизайне $_CH[&amp;quot;br&amp;quot;]=1;===&lt;br /&gt;
Для правильной навигации по странице нужно знать когда у вас там новая строка. Для этого в элементе с которого нужно чтоб начиналась новая строка присваиваем &lt;br /&gt;
 $_CH[&amp;quot;br&amp;quot;]=1;// Этот элемент разместится уже на новой строке&lt;br /&gt;
&lt;br /&gt;
==Горизонтальная прокрутка==&lt;br /&gt;
Задаем nowrap только для первого (обзначается br=1) элемента блока горизонтальной прокрутки&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;nowrap&amp;quot;=1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Первый элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Второй элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Третий элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Последний элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Новый элемент с новой строки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==Вывод результирующей страницы (на PHP)==&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Ваш код с наполнением массивов $_PL и $_CH информацией&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;channels&amp;quot;]=$_CH;&lt;br /&gt;
&lt;br /&gt;
print json_encode($_PL);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=FXMLbaseparser&amp;diff=1917</id>
		<title>FXMLbaseparser</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=FXMLbaseparser&amp;diff=1917"/>
		<updated>2024-10-15T00:21:19Z</updated>

		<summary type="html">&lt;p&gt;Mentos: Новая страница: «==PHP класс упрощающий верстку кода для Fork browser==  &amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:700px; overf…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==PHP класс упрощающий верстку кода для Fork browser==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:700px; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;Смотреть fxmlbaseparser.php с тестовым использованием кода сторонней страницы для парсинга&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
// Можно сохранить в отдельном файле fxmlbaseparser.php и использовать во всех проектах через include &amp;quot;fxmlbaseparser.php&amp;quot;;&lt;br /&gt;
header(&#039;Access-Control-Allow-Origin: *&#039;);&lt;br /&gt;
header(&amp;quot;Access-Control-Allow-Methods: POST, GET, OPTIONS&amp;quot;);&lt;br /&gt;
header(&amp;quot;Access-Control-Allow-Headers: Accept, Content-Type&amp;quot;);&lt;br /&gt;
if($_SERVER[&#039;REQUEST_METHOD&#039;]==&#039;OPTIONS&#039;) exit;&lt;br /&gt;
class fxmlBaseParser{&lt;br /&gt;
	public $actual_page;&lt;br /&gt;
	public $_PL = [];&lt;br /&gt;
	public function getScheme(){&lt;br /&gt;
		$scheme = $_SERVER[&#039;REQUEST_SCHEME&#039;] ?? &#039;http&#039;;&lt;br /&gt;
		if (isset($_SERVER[&#039;HTTP_X_FORWARDED_PROTO&#039;])) {&lt;br /&gt;
			$scheme = $_SERVER[&#039;HTTP_X_FORWARDED_PROTO&#039;];&lt;br /&gt;
		} elseif (isset($_SERVER[&#039;HTTPS&#039;]) &amp;amp;&amp;amp; $_SERVER[&#039;HTTPS&#039;] == &#039;on&#039;) {&lt;br /&gt;
			$scheme = &#039;https&#039;;&lt;br /&gt;
		}&lt;br /&gt;
		return $scheme;&lt;br /&gt;
	}&lt;br /&gt;
	public function __construct(){		&lt;br /&gt;
		$requesturl = $this-&amp;gt;getScheme().&amp;quot;://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]&amp;quot;;&lt;br /&gt;
		$this-&amp;gt;actual_page = preg_replace(&amp;quot;/([\?&amp;amp;](w_lang|box_client|get_callback)=.*)/&amp;quot;, &amp;quot;&amp;quot;, $requesturl);&lt;br /&gt;
&lt;br /&gt;
		$this-&amp;gt;BASE=$this-&amp;gt;getScheme().&amp;quot;://$_SERVER[HTTP_HOST]&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
	public function sU($u,$d=&amp;quot;&amp;quot;){&lt;br /&gt;
		if (!$u) return $d;&lt;br /&gt;
		if (!$d) return $u;	&lt;br /&gt;
		// Разделяем URL и данные POST-запроса&lt;br /&gt;
		$ur = explode(&amp;quot;#POST&amp;quot;, $u);&lt;br /&gt;
		$dr = explode(&amp;quot;#POST&amp;quot;, $d);	&lt;br /&gt;
		// Если URL начинается с &#039;curl&#039;, возвращаем его&lt;br /&gt;
		if (strpos($u, &amp;quot;curl&amp;quot;) === 0) return $u;	&lt;br /&gt;
		// Добавляем &amp;quot;?&amp;quot; или &amp;quot;&amp;amp;&amp;quot; для параметров&lt;br /&gt;
		$ur[0] .= (strpos($ur[0], &amp;quot;?&amp;quot;) === false) ? &amp;quot;?&amp;quot; : &amp;quot;&amp;amp;&amp;quot;;&lt;br /&gt;
		$ur[0] .= $dr[0];	&lt;br /&gt;
		// Обрабатываем данные POST-запроса&lt;br /&gt;
		if (!empty($ur[1]) || !empty($dr[1])) {&lt;br /&gt;
			$ur[0] .= &amp;quot;#POST&amp;quot; . ($ur[1] ?? &#039;&#039;) . (($ur[1] &amp;amp;&amp;amp; $dr[1]) ? &amp;quot;&amp;amp;&amp;quot; : &amp;quot;&amp;quot;) . ($dr[1] ?? &#039;&#039;);&lt;br /&gt;
		}	&lt;br /&gt;
		return $ur[0];&lt;br /&gt;
	}&lt;br /&gt;
	public function getParse($url,$crs=&amp;quot;android|direct|rf&amp;quot;,$id=0){&lt;br /&gt;
		$xdata=&amp;quot;s$id&amp;quot;;&lt;br /&gt;
		if(isset($_POST[$xdata])|| ($_SERVER[&amp;quot;REQUEST_METHOD&amp;quot;]==&amp;quot;POST&amp;quot;&amp;amp;&amp;amp;isset($_GET[&amp;quot;get_url&amp;quot;]))){&lt;br /&gt;
			return $_POST[$xdata];&lt;br /&gt;
		}&lt;br /&gt;
		else{&lt;br /&gt;
			$post=$this-&amp;gt;sU($this-&amp;gt;actual_page,&amp;quot;get_url=&amp;quot;.urlencode($url).&amp;quot;#POST$xdata=%s&amp;quot;);&lt;br /&gt;
			$prs=[&amp;quot;parse&amp;quot;=&amp;gt;&amp;quot;$url&amp;quot;,&amp;quot;cors&amp;quot;=&amp;gt;$crs,&amp;quot;fastremote&amp;quot;=&amp;gt;false,&amp;quot;async&amp;quot;=&amp;gt;[&amp;quot;post&amp;quot;=&amp;gt;$post]];&lt;br /&gt;
			print json_encode($prs);&lt;br /&gt;
			exit;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	public function add($ch) {&lt;br /&gt;
		if ($ch === null) return;	&lt;br /&gt;
		// Установка флага с переносом строки&lt;br /&gt;
		if (isset($ch[&amp;quot;br&amp;quot;])) $this-&amp;gt;withbr = true;	&lt;br /&gt;
		// Объединение значений с addbefore и noaddbr, если они установлены&lt;br /&gt;
		if ($this-&amp;gt;addbefore !== null) {&lt;br /&gt;
			$ch[&amp;quot;before&amp;quot;] = $this-&amp;gt;addbefore . $ch[&amp;quot;before&amp;quot;];&lt;br /&gt;
			$this-&amp;gt;addbefore = null;&lt;br /&gt;
		}	&lt;br /&gt;
		if ($this-&amp;gt;noaddbr !== null) {&lt;br /&gt;
			$ch[&amp;quot;noaddbr&amp;quot;] = $this-&amp;gt;noaddbr;&lt;br /&gt;
			$this-&amp;gt;noaddbr = null;&lt;br /&gt;
		}	&lt;br /&gt;
		// Замена ключей&lt;br /&gt;
		foreach ([&amp;quot;url&amp;quot; =&amp;gt; &amp;quot;playlist_url&amp;quot;, &amp;quot;stream&amp;quot; =&amp;gt; &amp;quot;stream_url&amp;quot;, &amp;quot;icon&amp;quot; =&amp;gt; &amp;quot;logo_30x30&amp;quot;] as $old =&amp;gt; $new) {&lt;br /&gt;
			if (isset($ch[$old])) {&lt;br /&gt;
				$ch[$new] = $ch[$old];&lt;br /&gt;
				unset($ch[$old]);&lt;br /&gt;
			}&lt;br /&gt;
		}	&lt;br /&gt;
		// Установка логотипа по умолчанию&lt;br /&gt;
		if (!isset($ch[&amp;quot;logo_30x30&amp;quot;])) $ch[&amp;quot;logo_30x30&amp;quot;] = &amp;quot;none&amp;quot;;	&lt;br /&gt;
		// Добавление BASE к относительным путям&lt;br /&gt;
		$this-&amp;gt;addBaseToPaths($ch, [&amp;quot;url&amp;quot;, &amp;quot;playlist_url&amp;quot;, &amp;quot;stream&amp;quot;, &amp;quot;stream_url&amp;quot;, &amp;quot;parser&amp;quot;, &amp;quot;presearch&amp;quot;], $this-&amp;gt;BASE);	&lt;br /&gt;
		// Обработка меню и подменю&lt;br /&gt;
		if (isset($ch[&amp;quot;menu&amp;quot;])) $this-&amp;gt;addBaseToPaths($ch[&amp;quot;menu&amp;quot;], [&amp;quot;playlist_url&amp;quot;], $this-&amp;gt;BASE);&lt;br /&gt;
		if (isset($ch[&amp;quot;submenu&amp;quot;])) $this-&amp;gt;addBaseToPaths($ch[&amp;quot;submenu&amp;quot;], [&amp;quot;logo_30x30&amp;quot; =&amp;gt; $this-&amp;gt;BASEICON, &amp;quot;playlist_url&amp;quot;, &amp;quot;stream_url&amp;quot;, &amp;quot;parser&amp;quot;], $this-&amp;gt;BASE);	&lt;br /&gt;
		// Обработка подтверждений&lt;br /&gt;
		if (isset($ch[&amp;quot;confirm&amp;quot;])) $this-&amp;gt;addBaseToPaths($ch[&amp;quot;confirm&amp;quot;], [], $this-&amp;gt;BASE);	&lt;br /&gt;
		// Добавление иконок&lt;br /&gt;
		$this-&amp;gt;addBaseToPaths($ch, [&amp;quot;logo_30x30&amp;quot;], $this-&amp;gt;BASEICON);	&lt;br /&gt;
		// Добавляем канал в список&lt;br /&gt;
		$this-&amp;gt;_PL[&amp;quot;channels&amp;quot;][] = $ch;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	private function addBaseToPaths(&amp;amp;$array, $fields, $base) {&lt;br /&gt;
		foreach ($fields as $field =&amp;gt; $customBase) {&lt;br /&gt;
			$baseToUse = is_string($field) ? $customBase : $base;&lt;br /&gt;
			$key = is_string($field) ? $field : $customBase;&lt;br /&gt;
			if (isset($array[$key]) &amp;amp;&amp;amp; strpos($array[$key], &amp;quot;/&amp;quot;) === 0) {&lt;br /&gt;
				$array[$key] = $baseToUse . $array[$key];&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	public function render() {&lt;br /&gt;
		// Добавляем BASE к относительным путям иконки&lt;br /&gt;
		$this-&amp;gt;addBaseToPaths($this-&amp;gt;_PL, [&amp;quot;icon&amp;quot;], $this-&amp;gt;BASE);	&lt;br /&gt;
		// Добавляем BASE к относительным путям в меню&lt;br /&gt;
		if (is_array($this-&amp;gt;_PL[&amp;quot;menu&amp;quot;])) {&lt;br /&gt;
			foreach ($this-&amp;gt;_PL[&amp;quot;menu&amp;quot;] as $kk =&amp;gt; $vv) {&lt;br /&gt;
				$this-&amp;gt;addBaseToPaths($this-&amp;gt;_PL[&amp;quot;menu&amp;quot;][$kk], [&amp;quot;url&amp;quot;, &amp;quot;playlist_url&amp;quot;, &amp;quot;stream&amp;quot;, &amp;quot;stream_url&amp;quot;, &amp;quot;parser&amp;quot;], $this-&amp;gt;BASE);&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		// Добавление сообщения об FXML и вывод JSON&lt;br /&gt;
		$this-&amp;gt;_PL = array_merge([&amp;quot;fxml&amp;quot; =&amp;gt; &amp;quot;This page contains FXML code from PHP generator  fxmlBaseParser class! Open it in the Fork browser or any other browser that supports FXML code.&amp;quot;], $this-&amp;gt;_PL);&lt;br /&gt;
		echo json_encode($this-&amp;gt;_PL);&lt;br /&gt;
		return $this;&lt;br /&gt;
	}	&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
$FXML=new fxmlBaseParser();&lt;br /&gt;
&lt;br /&gt;
// Удалите этот блок, если не нужен тест. Он добавляет кнопку &amp;quot;Test&amp;quot; в плейлист и выводит результат парсинга в виде HTML-кода при нажатии на кнопку.&lt;br /&gt;
if(@$_GET[&amp;quot;mode&amp;quot;]==&amp;quot;test&amp;quot;){&lt;br /&gt;
	$link=&amp;quot;https://api.ninsel.ws/embed/movie/1212&amp;quot;;&lt;br /&gt;
	$html= $FXML-&amp;gt;getParse($link,&amp;quot;android|direct|rf&amp;quot;);&lt;br /&gt;
	$FXML-&amp;gt;add([&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Result parse&amp;quot;,&amp;quot;description&amp;quot;=&amp;gt;htmlspecialchars($html)]);&lt;br /&gt;
}&lt;br /&gt;
else $FXML-&amp;gt;add([&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Test&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;$FXML-&amp;gt;actual_page.&amp;quot;?mode=test&amp;quot;,&amp;quot;description&amp;quot;=&amp;gt;$FXML-&amp;gt;actual_page]);&lt;br /&gt;
&lt;br /&gt;
$FXML-&amp;gt;render();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Еще примеры использования fxmlbaseparser.php==&lt;br /&gt;
===Вывод списка категорий===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
// Подключаем библиотеку fxmlbaseparser.php&lt;br /&gt;
include &#039;fxmlbaseparser.php&#039;;&lt;br /&gt;
// Используем экземпляр класса fxmlBaseParser&lt;br /&gt;
// Можно задать свою базовую директорию если она неправильно определилась (без / в конце) $FXML-&amp;gt;BASE=&amp;quot;http://site.com/parsers&amp;quot;&lt;br /&gt;
$FXML-&amp;gt;add([&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Category 1&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;/?category=1&amp;quot;];&lt;br /&gt;
$FXML-&amp;gt;add([&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Category 2&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;/?category=2&amp;quot;];&lt;br /&gt;
$FXML-&amp;gt;render();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Добавление меню===&lt;br /&gt;
&lt;br /&gt;
Пример кода для добавления меню&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
// Подключаем библиотеку fxmlbaseparser.php&lt;br /&gt;
include &#039;fxmlbaseparser.php&#039;;&lt;br /&gt;
&lt;br /&gt;
// Создаем экземпляр класса FXMLBaseParser&lt;br /&gt;
$FXML = new FXMLBaseParser();&lt;br /&gt;
&lt;br /&gt;
// Добавляем категории&lt;br /&gt;
$FXML-&amp;gt;add([&amp;quot;title&amp;quot; =&amp;gt; &amp;quot;Category 1&amp;quot;, &amp;quot;playlist_url&amp;quot; =&amp;gt; &amp;quot;/?category=1&amp;quot;]);&lt;br /&gt;
$FXML-&amp;gt;add([&amp;quot;title&amp;quot; =&amp;gt; &amp;quot;Category 2&amp;quot;, &amp;quot;playlist_url&amp;quot; =&amp;gt; &amp;quot;/?category=2&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
// Добавляем меню&lt;br /&gt;
$FXML-&amp;gt;_PL[&amp;quot;menu&amp;quot;][]=[&amp;quot;title&amp;quot; =&amp;gt; &amp;quot;Home&amp;quot;, &amp;quot;playlist_url&amp;quot; =&amp;gt; &amp;quot;/&amp;quot;];&lt;br /&gt;
$FXML-&amp;gt;_PL[&amp;quot;menu&amp;quot;][]=[&amp;quot;title&amp;quot; =&amp;gt; &amp;quot;About&amp;quot;, &amp;quot;playlist_url&amp;quot; =&amp;gt; &amp;quot;/?mode=about&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
// Генерируем и выводим FXML код&lt;br /&gt;
$FXML-&amp;gt;render();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=FXML-%D1%81%D0%B0%D0%B9%D1%82&amp;diff=1916</id>
		<title>FXML-сайт</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=FXML-%D1%81%D0%B0%D0%B9%D1%82&amp;diff=1916"/>
		<updated>2024-10-15T00:06:17Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* Устройство */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;FXML-сайт — одна или несколько логически связанных между собой [[FXML|fxml]]-страниц; также место расположения контента сервера. Обычно fxml-сайт в Интернете представляет собой массив связанных данных, имеющий уникальный адрес и воспринимаемый пользователем как единое целое, доступ к ним происходит по протоколу HTTP.&lt;br /&gt;
&lt;br /&gt;
FXML-сайт, как система электронных документов (файлов данных и кода) может принадлежать частному лицу или организации и быть доступным в компьютерной сети под общим доменным именем и IP-адресом или локально (например с USB накопителя) на одном устройстве.&lt;br /&gt;
&lt;br /&gt;
Для просмотра fxml-сайтов используют браузер понимающий спецификацию кода [[FXML]]&lt;br /&gt;
&lt;br /&gt;
==Устройство==&lt;br /&gt;
Страницы fxml-сайтов — это набор текстовых файлов, размеченных на языке [[FXML]] в XML или JSON формате. Эти файлы, будучи загруженными посетителем на его устройство, понимаются и обрабатываются &#039;&#039;браузером&#039;&#039; и выводятся на средство отображения пользователя (монитор, экран телефона, телевизора). Язык FXML позволяет форматировать текст, различать в нём функциональные элементы, создавать гипертекстовые ссылки (&#039;&#039;гиперссылки&#039;&#039;) и вставлять в отображаемую страницу изображения, звукозаписи и другие мультимедийные элементы. Отображение страницы можно изменить добавлением стилей на языке CSS, что позволяет централизовать в определённом файле все элементы форматирования (размер и цвет заглавных букв 2-го уровня, размер и вид блока вставки и другое) или сценариев, с помощью которого имеется возможность просматривать страницы с событиями или действиями.&lt;br /&gt;
&lt;br /&gt;
Страницы fxml-сайтов могут быть простым статичным набором файлов или создаваться специальной компьютерной программой на сервере. Они могут быть либо сделаны на заказ для отдельного fxml-сайта, либо быть готовым продуктом, рассчитанным на некоторый класс сайтов. Некоторые из них могут обеспечить владельцу сайта возможность гибкой настройки структурирования и вывода информации на fxml-сайте. Такие управляющие программы называются системами управления содержимым (CMS). Первой такой CMS есть [[FXML CMS]]&lt;br /&gt;
&lt;br /&gt;
FXML-сайты могут содержать подразделы, ориентированные целиком на ту или иную аудиторию. Аудитория может различаться по виду используемого оборудования, по используемому языку аудитории.&lt;br /&gt;
&lt;br /&gt;
==Создание сайтов==&lt;br /&gt;
&lt;br /&gt;
===Разработка дизайна===&lt;br /&gt;
Веб-дизайнеры разрабатывают макеты веб-шаблонов fxml-страниц. Дизайнер определяет, каким образом конечный потребитель будет получать доступ к информации и услугам fxml-сайта — то есть, занимается непосредственно разработкой пользовательского интерфейса. В большинстве случаев fxml-страницы включают в себя графические элементы. Их подготовкой занимаются художники, иллюстраторы, фотографы, технические дизайнеры, шрифтовики, и т. д. Готовые шаблоны показываются заказчику. В этот момент страницы ещё не могут содержать конечного наполнения (это в обязанности дизайнера не входит). Чтобы макеты выглядели более наглядно, в них помещается произвольное содержимое. На сленге дизайнеров такое содержимое называется &#039;&#039;рыбой&#039;&#039;. Если заказчик удовлетворён внешним видом шаблонов, то наступает следующая фаза разработки — вёрстка страниц fxml-сайта.&lt;br /&gt;
&lt;br /&gt;
===Вёрстка===&lt;br /&gt;
Верстальщик получает макеты шаблонов в виде простых изображений (например, в формате JPEG или PNG), либо разбитых по слоям (например, в PSD или AI). Его задача — получить из этих графических макетов гипертекстовые fxml-страницы с подготовленными для интернета изображениями.&lt;br /&gt;
&lt;br /&gt;
Одним из сложных моментов в работе верстальщика является обеспечение совместимости с браузером — программой для просмотра fxml-страниц.&lt;br /&gt;
&lt;br /&gt;
===Программирование===&lt;br /&gt;
К программистам поступают готовые шаблоны страниц и указания дизайнеров по работе и организации элементов fxml-сайта. Программист создаёт программную основу сайта, делая её с нуля, используя фреймворк или CMS (например [[FXML CMS]]). Выбор языка программирования в данном случае — вопрос непринципиальный.&lt;br /&gt;
&lt;br /&gt;
После того, как fxml-сайт готов к эксплуатации, наступает следующая фаза — наполнение сайта информацией.&lt;br /&gt;
&lt;br /&gt;
==Список fxml-сайтов по популярности==&lt;br /&gt;
[[Популярность]] fxml-сайтов определяется, как правило, по числу посетителей. Ниже представлены списки по данным поисковой системы Spider где собирается статистика о посещаемости других fxml-сайтов.&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Место&lt;br /&gt;
!Ссылка на портал&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|http://nserv.host&amp;lt;br /&amp;gt;http://spiderxml.com/&lt;br /&gt;
https://iptv-org.github.io/iptv/countries/ru.m3u&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;http://spiderxml.com/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;http://parser.porno-smart.ru/parser/ind&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;https://filmix.red&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;http://cooltv.info/start&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;http://213.183.51.196/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|http://fork-portal.ru&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1915</id>
		<title>FXML</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1915"/>
		<updated>2024-10-14T10:36:56Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* playlist_url или stream_url */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;FXML&#039;&#039;&#039; (Fork eXtensible Markup Language) - что такое==&lt;br /&gt;
Это язык разметки документов во Всемирной паутине.  Для навигации по таким страницам не требуется мышь или сенсорный экран. Язык &#039;&#039;&#039;FXML&#039;&#039;&#039; интерпретируется такими приложениями как ForkPlayer, OTT Player, OTT-play. Полученный в результате интерпретации форматированный текст отображается на экране телевизора. &lt;br /&gt;
&lt;br /&gt;
====Например, следующий код (должен быть валидным JSON):====&lt;br /&gt;
 {&amp;quot;title&amp;quot;:&amp;quot;COOLTV - портал нового поколения&amp;quot;,&amp;quot;background-image&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;typeList&amp;quot;:&amp;quot;start&amp;quot;,&amp;quot;icon&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool23.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;channels&amp;quot;:[{&amp;quot;title&amp;quot;:&amp;quot;Вход&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/profle22.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/auth&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Новости &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/rss-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/news&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Поиск &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-search-folder-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/search.php&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Кинозал &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/1icons8-film-reel-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;AceStream &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-wave-arrows-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/12&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Обменник &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-next-100.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/obmen/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Сервисы &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8s3-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/9&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;IPTV &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-hdtv-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/8&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Мультимедиа &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-documentary-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/7&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Чат &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-chat-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/guest&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;FAQ &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-info-popup-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/faq/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Копилка&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-bad-piggies-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/copilka&amp;lt;/nowiki&amp;gt;&amp;quot;}]}&lt;br /&gt;
даст такой результат (в ForkPlayer):&lt;br /&gt;
[[Файл:Cooltv.png|мини|600x600пкс|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Все допустимые команды можно посмотреть в исходном коде страниц &lt;br /&gt;
&lt;br /&gt;
https://github.com/vengo634/kino.pub_forkplayerPHP/blob/master/index.php&lt;br /&gt;
&lt;br /&gt;
====Смотреть Исходный код любой страницы можно непосредственно в ForkPlayer====&lt;br /&gt;
[[Файл:VmGe53a9.png|мини|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
и FXML CMS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==Новые теги и команды FXML==&lt;br /&gt;
Новые спецификации FXML добавляются в CHANGELOG, рекомендуем смотреть нужные команды также и там.&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;ping&amp;quot;][&amp;quot;link&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало 1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;; $_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;poster&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/CHANGELOG CHANGELOG]&lt;br /&gt;
&lt;br /&gt;
==Глобальные теги==&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;start&amp;quot;; // Плиточный + другой(с использованием $_CH[&amp;quot;position&amp;quot;] ) виды страницы&lt;br /&gt;
&lt;br /&gt;
====Стили сайта по умолчанию====&lt;br /&gt;
По умолчанию для вашей страницы задаются такие стили (вы их можете изменить задав нужные в $_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:700px; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;Смотреть CSS стили по умолчанию&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button {&lt;br /&gt;
    background-color: #bbbbbb;&lt;br /&gt;
    display: block;&lt;br /&gt;
    border-style: solid;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:decrement {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: transparent transparent #555555;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:increment {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: #555555 transparent transparent transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar {&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-track {&lt;br /&gt;
    background: #ddd;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb {&lt;br /&gt;
    background: #888;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb:hover {&lt;br /&gt;
    background: #777;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    ;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    margin-left: 4px;&lt;br /&gt;
    margin-top: 1px;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .rating {&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    display: none;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    height: 23px;&lt;br /&gt;
    width: 28px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    padding-left: 5px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .icon {&lt;br /&gt;
    padding: 2px 2px 0px 2px;&lt;br /&gt;
    height: 76%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .name {&lt;br /&gt;
    font-size: 17px;&lt;br /&gt;
    line-height: 0.9;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    bottom: 0px;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    max-height: 50%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .title {&lt;br /&gt;
    background: rgba(0, 0, 0, 0.65);&lt;br /&gt;
    border-radius: 3px;&lt;br /&gt;
    width: auto;&lt;br /&gt;
    display: display: inline-block;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    padding: 1px 4px 4px 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .side_icon {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list {&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px 0px 0px 4px;&lt;br /&gt;
    cursor: default;&lt;br /&gt;
    margin: 2px 0px;&lt;br /&gt;
    width: 48.87708333333334%;&lt;br /&gt;
    height: 35px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .contmenu {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    float: right;&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .numb {&lt;br /&gt;
    float: left;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
    font-size: 60%;&lt;br /&gt;
    min-width: 38px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .icon {&lt;br /&gt;
    margin: 0px 2px;&lt;br /&gt;
    padding-right: 2px;&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .title {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    float: left;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listsearch {&lt;br /&gt;
    background-color: #ddd;&lt;br /&gt;
    color: #333;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    padding: 3px;&lt;br /&gt;
    margin-top: 2px;&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
    width: 90%;&lt;br /&gt;
    height: 68%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolinktitle {&lt;br /&gt;
    height: 63%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolink {&lt;br /&gt;
    padding-left: 3px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default .contmenu {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected .contmenu {&lt;br /&gt;
    display: block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.html {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px solid transparent;&lt;br /&gt;
    margin: 0px 4px;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    max-width: 310px;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
    padding: 0px 4px;&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 28px;&lt;br /&gt;
    text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline {&lt;br /&gt;
    border: 1px solid transparent;&lt;br /&gt;
    width: 80%;&lt;br /&gt;
    margin: 1px 9%;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    font-size: 24px;&lt;br /&gt;
    height: 24px;&lt;br /&gt;
    margin: 3px;&lt;br /&gt;
    color: #2b2525;&lt;br /&gt;
    background-color: #eee;&lt;br /&gt;
    padding: 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .icon {&lt;br /&gt;
    float: right;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    margin: -2px 4%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    width: 92%;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    height: 26px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 20px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default {&lt;br /&gt;
    background: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected {&lt;br /&gt;
    background: rgba(180, 180, 180, 0.7);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listselected {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.site {&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    font-size: 27px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    color: rgb(238, 238, 238);&lt;br /&gt;
    margin: 0px;&lt;br /&gt;
    padding: 0px;&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    background-color: transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
small {&lt;br /&gt;
    font-size: 70%;&lt;br /&gt;
    color: gray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.buttons {&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    top: 80%;&lt;br /&gt;
    left: 50%;&lt;br /&gt;
    width: 47%;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    color: #cccccc;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
}&lt;br /&gt;
\#description {&lt;br /&gt;
    top: 0px;&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    font-size: 28px;&lt;br /&gt;
    left: 51%;&lt;br /&gt;
    width: 47.2%;&lt;br /&gt;
    word-break: break-word;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Пример своего стиля (пишите чистый css, он будет преобразован в одну строку)===&lt;br /&gt;
&lt;br /&gt;
===Если строка стилей очень большая, их лучше вынести в отдельный css файл===&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
====#content - стиль страницы (без description)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
====#rightHalf- стиль description====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;#content {font-size:25px;}  #rightHalf{font-size:10 px;} &amp;quot;; // Установим размер шрифта сайта и описания&lt;br /&gt;
&lt;br /&gt;
====.selected - стиль при выделении элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .selected {  color: black; } &amp;quot;; // Делаем смену цвета выделенного элемента&lt;br /&gt;
&lt;br /&gt;
====.default - стиль невыделенного элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .default{  color: gray; } &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.contmenu - визуальная кнопка контекстного меню====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .contmenu{ display:none; } &amp;quot;;  // Скрываем кнопку контекстного меню&lt;br /&gt;
&lt;br /&gt;
====.label, .start, .list, .fulleditline, .hlink, .html - стили(верхний уровень) для разных типов элементов $_CH[&amp;quot;position&amp;quot;]  [https://wiki.forkbrowser.top/wiki/FXML#position_.D0.BF.D1.80.D0.B8_.D0.B7.D0.B0.D0.B4.D0.B0.D0.BD.D0.BD.D0.BE.D0.BC_.24_PL.5B.22typeList.22.5D.3D.22start.22.3B]====&lt;br /&gt;
Если не задан $_CH[&amp;quot;position&amp;quot;] элемента то по умолчанию элементы отображаются на странице списком и классом .list&lt;br /&gt;
&lt;br /&gt;
Если при этом задано отображение плиткой ($_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot; ) то по умолчанию элементы отображаются с классом .start&lt;br /&gt;
&lt;br /&gt;
====.labelselected, .startselected, .listselected, .fulleditlineselected, .hlinkselected, .htmlselected - стили(верхний уровень) для выделенных элементов====&lt;br /&gt;
&lt;br /&gt;
=====Установим цвет для выделенных элементов только .list=====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .listselected{color: red; }&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.labeldefault, .startdefault, .listdefault, .fulleditlinedefault, .hlinkdefault, .htmldefault - стили(верхний уровень) для невыделенных элементов====&lt;br /&gt;
&lt;br /&gt;
====.list - зададим свой вид списка====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list{color: red; }&amp;quot;; // Меняем цвет&lt;br /&gt;
&lt;br /&gt;
====.title .icon .rating .numb вложенные в верхний уровень стили заголовка, иконки, рейтинга(для .start), порядкового номера(для .list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .title{color: red; }&amp;quot;; // Меняем цвет заголовков&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .numb { display:none; } &amp;quot;; // Скрываем отображение номера&lt;br /&gt;
&lt;br /&gt;
====Комбинация классов, зададим стиль иконок только для списка (.list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list .icon{background-color:white; margin:2px;}&amp;quot;; // Зададим белую рамку фона для иконок&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cacheinfo&amp;quot;]=&amp;quot;nocache&amp;quot;;  // Не кешировать страницу (при возврате назад страница будет грузиться заново по адресу)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;setcookie&amp;quot;][&amp;quot;name1&amp;quot;]=&amp;quot;value1&amp;quot;; // Аналог cookie вебсайтов. Запомнит для последующих запросов страниц с этого же домена в переменной $_GET[&amp;quot;cookie&amp;quot;][&amp;quot;name1&amp;quot;] значение value1&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;info&amp;quot;]=&amp;quot;Вам уведомление&amp;quot;; // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;confirm&amp;quot;]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Открыть вложенный CHannel?&amp;quot;,&amp;quot;channel&amp;quot;=&amp;gt;[&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://..&amp;quot;]];&lt;br /&gt;
&lt;br /&gt;
===cmd тег (как глобальный так и в playlist_url) - допустимые команды===&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в глобальном теге====&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;historyback(1);&amp;quot;  // Вернуться назад на 1 страницу&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Вам уведомление);&amp;quot;  // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;settitle(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый title&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;setdescription(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый description&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;reload(2);&amp;quot;  // Перезагрузить страницу через 2секунды&lt;br /&gt;
&lt;br /&gt;
В конец cmd к командам выше можно добавить &#039;&#039;&#039;stop();&#039;&#039;&#039; чтобы выполнить команду выше и остановить загрузку новой страницы &lt;br /&gt;
&lt;br /&gt;
например $_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Доступ к этой странице Вам запрещен);stop();&amp;quot; выведет уведомление но оставить пользователя на предыдущей странице.&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в $_CH[&amp;quot;playlist_url&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;cmd:&amp;lt;Команда из списка допустимых&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Например $_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;reload();&amp;quot;; перезагрузит страницу при нажатии&lt;br /&gt;
&lt;br /&gt;
==Channel теги==&lt;br /&gt;
&lt;br /&gt;
===title===&lt;br /&gt;
Заголовок&lt;br /&gt;
&lt;br /&gt;
===playlist_url или stream_url===&lt;br /&gt;
Адрес страницы или адрес видеопотока (непустым может быть только один из этих тегов)&lt;br /&gt;
====stream_url мультиссылки с разными качествами и (или) несколькими источниками, Err format json link====&lt;br /&gt;
Для видеопотока можно задавать мультиссылки с разным качеством (можно и разные озвучки, но это будет не так явно для пользователя), выбор качества будет браться автоматически с настроек Fork(1080 или 720 и т.д.) и (или) несколькими источниками&lt;br /&gt;
&lt;br /&gt;
Пример использования в PHP с json_encode&lt;br /&gt;
В данном примере создается массив с различными ссылками на видеопотоки, и с помощью функции json_encode он преобразуется в JSON-формат для последующего использования:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 // Массив с данными для разных качеств видео и двумя источниками&lt;br /&gt;
 $stream_links = [&lt;br /&gt;
    &amp;quot;360&amp;quot; =&amp;gt; [&lt;br /&gt;
        &amp;quot;title&amp;quot; =&amp;gt; &amp;quot;360p&amp;quot;,&lt;br /&gt;
        &amp;quot;url&amp;quot; =&amp;gt; [&lt;br /&gt;
            &amp;quot;http://server.in/240.mp4&amp;quot;,&lt;br /&gt;
            &amp;quot;http://server2.in/hls/240.mp4&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;720&amp;quot; =&amp;gt; [&lt;br /&gt;
        &amp;quot;title&amp;quot; =&amp;gt; &amp;quot;720p&amp;quot;,&lt;br /&gt;
        &amp;quot;url&amp;quot; =&amp;gt; [&lt;br /&gt;
           &amp;quot;http://server.in/720.mp4&amp;quot;,&lt;br /&gt;
           &amp;quot;http://server2.in/hls/720.mp4&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
    ]&lt;br /&gt;
 ];&lt;br /&gt;
 // Преобразование массива в JSON&lt;br /&gt;
 $json_stream_url = json_encode($stream_links);&lt;br /&gt;
 // Использование JSON в $_CH[&amp;quot;stream_url&amp;quot;]&lt;br /&gt;
 $_CH[&amp;quot;stream_url&amp;quot;] = $json_stream_url;&lt;br /&gt;
 // Вывод JSON для проверки&lt;br /&gt;
 echo $_CH[&amp;quot;stream_url&amp;quot;];&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Пример с несколькими источниками:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $stream_links = [&lt;br /&gt;
            &amp;quot;http://server.in/240.mp4&amp;quot;,&lt;br /&gt;
            &amp;quot;http://server2.in/hls/240.mp4&amp;quot;&lt;br /&gt;
        ];&lt;br /&gt;
 // Преобразование массива в JSON&lt;br /&gt;
 $json_stream_url = json_encode($stream_links);&lt;br /&gt;
 // Использование JSON в $_CH[&amp;quot;stream_url&amp;quot;]&lt;br /&gt;
 $_CH[&amp;quot;stream_url&amp;quot;] = $json_stream_url;&lt;br /&gt;
 // Вывод JSON для проверки&lt;br /&gt;
 echo $_CH[&amp;quot;stream_url&amp;quot;];&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===logo_30x30===&lt;br /&gt;
Адрес иконки&lt;br /&gt;
&lt;br /&gt;
===confirm - диалоговое окно с действиями при нажатии на элемент===&lt;br /&gt;
Пример подтверждения выхода с аккаунта&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Выйти&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;confirm&amp;quot;,&amp;quot;confirm&amp;quot;=&amp;gt;[&amp;quot;http://host/?do&amp;lt;nowiki&amp;gt;=exit&amp;quot;],&amp;quot;description&amp;quot;=&amp;gt;&amp;quot;Выйти с аккаунта?&amp;quot;];&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===menu - контекстное меню элемента===&lt;br /&gt;
$menu=[];&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню1&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню2&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;menu&amp;quot;]=$menu;&lt;br /&gt;
&lt;br /&gt;
===position при заданном $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;===&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;&amp;quot;; // - Плитка как в Стартовом меню размером 128х101px)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // - Пример элемента со своим дизайном в $_CH[&amp;quot;template&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;br&amp;quot;]=0; // Не переносить навигацию на новую строку&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание вида&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&amp;quot;width:242px;overflow:hidden;margin:4px;text-align:center;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;width:242px;height:171px;padding:2px 2px 0px 2px;&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;small&amp;gt;$description&amp;lt;/small&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
Элементы будут выстраиваться в ряд и навигация по ним будет предполагать что они в одном ряду&lt;br /&gt;
&lt;br /&gt;
=====$_CH[&amp;quot;br&amp;quot;]=====&lt;br /&gt;
В месте где навигация должна перейти на новую строку задайте $_CH[&amp;quot;br&amp;quot;]=1; При этом в before будет добавлено значение &amp;lt;nowiki&amp;gt;&amp;lt;br clear=both&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;fulleditline&amp;quot;; //- Поле ввода текста шириной почти на всю страницу====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;hlist&amp;quot;; // - горизонтальная ссылка (может быть несколько на одном горизонтальном уровне)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;list&amp;quot;; // -обычный вид списка шириной в половину экрана и с description справа====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;label&amp;quot;; // -невысокая строка на всю ширину экрана====&lt;br /&gt;
&lt;br /&gt;
===location===&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=1; // Переход c заменой текущей ссылки окна на новую (при перезапуске форкплеера будет открываться уже с этой новой ссылки)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=3; // Переход с отображением в текущем окне (при перезапуске форкплеера будет открываться старая ссылка и опять переадресовываться, необходимо если например используются устаревающие сессии)&lt;br /&gt;
&lt;br /&gt;
===after и before - свой html код после и перед элементом списка===&lt;br /&gt;
$_CH[&amp;quot;before&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст перед элементом&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;after&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст после элемента&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===SetTimeInterval - отправка событий клиентом через интервал и вывод сообщений===&lt;br /&gt;
$_CH[&amp;quot;SetTimeInterval&amp;quot;]=[&amp;quot;time&amp;quot;=&amp;gt;1,&amp;quot;onmenu&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onmenu&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;onplay&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onplay&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;time&#039;&#039;&#039; - интервал между отправкой событий в минутах&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onmenu -&#039;&#039;&#039; ссылка для отправки событий если пользователь находится в списке&lt;br /&gt;
&lt;br /&gt;
в ответ по ссылке onmenu &amp;lt;nowiki&amp;gt;http://193.30.240.2/try/ajax/send_status_log.php?action=onmenu&amp;lt;/nowiki&amp;gt; можно давать json &lt;br /&gt;
 {&amp;quot;message&amp;quot;:&amp;quot;Hello user&amp;quot;} &lt;br /&gt;
Это уведомление будет выводится вверху форкплеера&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onplay-&#039;&#039;&#039; ссылка для отправки событий если пользователь смотрит видео&lt;br /&gt;
&lt;br /&gt;
Можно использовать один или два сразу тега onmenu и onplay&lt;br /&gt;
&lt;br /&gt;
===parser - тег загрузки другой страницы перед переходом по playlist_url или stream_url===&lt;br /&gt;
Пример в XML&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
Пример в JSON FXML&lt;br /&gt;
 $_CH[&amp;quot;parser&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|&amp;lt;/nowiki&amp;gt;;&amp;quot;;&lt;br /&gt;
результат отдастся то что между js= и ; &lt;br /&gt;
&lt;br /&gt;
Регулярное выражение (по маркеру .*? )&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|&amp;lt;script&amp;gt;.*?js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
или&lt;br /&gt;
 &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|.*?js]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
преобразуется в RegExp(&amp;quot;&amp;lt;script&amp;gt;.*?js=(.*?);&amp;quot;,&amp;quot;i&amp;quot;) - результат отдастся тот что в () &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&amp;lt;title&amp;gt;Test &amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== #POST в playlist_url означает что все что после него будет передавать методом POST====&lt;br /&gt;
&lt;br /&gt;
В примере выше на адрес http://parser.co/ отправятся POST данные html=md5hash, где md5hash заменятся на полученное от parser&lt;br /&gt;
&lt;br /&gt;
====Допустимо в parser использовать curl запросы (доступны на андроид, частично если форк установлен в память ТВ, или через ремотефорк)====&lt;br /&gt;
&lt;br /&gt;
====Можно перечислить порядок методов запроса парсер, например &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
Сначала будет попытка запроса через remotefork (если включен), потом через андроид класс если Fork запущен на андроиде, потом прямой XHR запрос с попыткой установить заголовки, потом прямой XHR запрос без заголовков&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&lt;br /&gt;
  &amp;lt;title&amp;gt;Test curl and method&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;parser&amp;gt;&amp;lt;![CDATA[curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept-Encoding: deflate&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;]]&amp;gt;&lt;br /&gt;
  &amp;lt;/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Или в JSON&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;channels&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;title&amp;quot;: &amp;quot;Test curl and method&amp;quot;,&lt;br /&gt;
      &amp;quot;cors&amp;quot;: &amp;quot;rf|android|direct|directnoheader&amp;quot;,&lt;br /&gt;
      &amp;quot;playlist_url&amp;quot;: &amp;quot;http://parser.co/#POSThtml=md5hash&amp;quot;,&lt;br /&gt;
      &amp;quot;parser&amp;quot;: &#039;curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept-Encoding: deflate&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;&#039;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Результат будет в $_POST[&#039;html&#039;]&lt;br /&gt;
&lt;br /&gt;
Результат будет аналогично md5hash в $_GET[&#039;page&#039;]&lt;br /&gt;
&lt;br /&gt;
====Методом POST для видеоссылок ( stream_url )====&lt;br /&gt;
 &amp;lt;channel&amp;gt; &lt;br /&gt;
  &amp;lt;title&amp;gt;stream post&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;stream_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://test.ru/index.php#POSTs=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/stream_url&amp;gt;&lt;br /&gt;
  &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[https://yadi.sk/d/0BpgziSQ0VWiFg]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Будет идти отправка POST на &amp;lt;nowiki&amp;gt;http://test.ru/index.php#POSTs=md5hash&amp;lt;/nowiki&amp;gt; в $_POST[&amp;quot;s&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Ответ страницы попадет в проигрыватель в виде ссылки.&lt;br /&gt;
&lt;br /&gt;
Тоесть &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://test.ru/index.php&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; должен дать текст ссылки на медиафайл вида &amp;lt;nowiki&amp;gt;http://.../myvideo.mp4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Скачивание сторонней страницы по необходимости, страница &amp;lt;nowiki&amp;gt;http://parser.co/&amp;lt;/nowiki&amp;gt; может дать json ответ====&lt;br /&gt;
 {&amp;quot;parse&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8&amp;amp;gl=US&amp;amp;hl=en&amp;amp;has_verified=1&amp;amp;bpctr=9999999999&amp;lt;/nowiki&amp;gt;&amp;quot;}&lt;br /&gt;
Скачанная страница шлется в параметре  $_POST[&#039;remoteparse&#039;]&lt;br /&gt;
&lt;br /&gt;
==Построение произвольного положения элементов на странице (c &amp;quot;br&amp;quot; вместо &amp;quot;coordiantion&amp;quot;)==&lt;br /&gt;
&lt;br /&gt;
===Задаем странице вид плиткой (start)===&lt;br /&gt;
 $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Прописываем свои стили===&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;&lt;br /&gt;
&lt;br /&gt;
.myStyle1{&lt;br /&gt;
&lt;br /&gt;
width:242px;&lt;br /&gt;
&lt;br /&gt;
overflow:hidden;&lt;br /&gt;
&lt;br /&gt;
margin:4px;&lt;br /&gt;
&lt;br /&gt;
text-align:center;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.myStyle2{&lt;br /&gt;
width:242px;&lt;br /&gt;
height:171px;&lt;br /&gt;
padding:2px 2px 0px 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Задаем шаблон (template) каждому элементу списка===&lt;br /&gt;
&amp;lt;code&amp;gt;$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // Задает возможность использовать template&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;; // Заголовок - подставляет в шаблоне вместо $title&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;; // Иконка $logo_30x30&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание, если нужно&amp;quot;; // Описание- подставляет в шаблоне вместо $description&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;myStyle1&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;myStyle2&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Перенос на новую строке при html дизайне $_CH[&amp;quot;br&amp;quot;]=1;===&lt;br /&gt;
Для правильной навигации по странице нужно знать когда у вас там новая строка. Для этого в элементе с которого нужно чтоб начиналась новая строка присваиваем &lt;br /&gt;
 $_CH[&amp;quot;br&amp;quot;]=1;// Этот элемент разместится уже на новой строке&lt;br /&gt;
&lt;br /&gt;
==Горизонтальная прокрутка==&lt;br /&gt;
Задаем nowrap только для первого (обзначается br=1) элемента блока горизонтальной прокрутки&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;nowrap&amp;quot;=1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Первый элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Второй элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Третий элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Последний элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Новый элемент с новой строки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==Вывод результирующей страницы (на PHP)==&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Ваш код с наполнением массивов $_PL и $_CH информацией&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;channels&amp;quot;]=$_CH;&lt;br /&gt;
&lt;br /&gt;
print json_encode($_PL);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1914</id>
		<title>FXML</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1914"/>
		<updated>2024-10-13T12:30:04Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* Можно перечислить порядок методов запроса парсер, например rf|android|direct|directnoheader */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;FXML&#039;&#039;&#039; (Fork eXtensible Markup Language) - что такое==&lt;br /&gt;
Это язык разметки документов во Всемирной паутине.  Для навигации по таким страницам не требуется мышь или сенсорный экран. Язык &#039;&#039;&#039;FXML&#039;&#039;&#039; интерпретируется такими приложениями как ForkPlayer, OTT Player, OTT-play. Полученный в результате интерпретации форматированный текст отображается на экране телевизора. &lt;br /&gt;
&lt;br /&gt;
====Например, следующий код (должен быть валидным JSON):====&lt;br /&gt;
 {&amp;quot;title&amp;quot;:&amp;quot;COOLTV - портал нового поколения&amp;quot;,&amp;quot;background-image&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;typeList&amp;quot;:&amp;quot;start&amp;quot;,&amp;quot;icon&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool23.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;channels&amp;quot;:[{&amp;quot;title&amp;quot;:&amp;quot;Вход&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/profle22.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/auth&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Новости &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/rss-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/news&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Поиск &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-search-folder-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/search.php&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Кинозал &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/1icons8-film-reel-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;AceStream &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-wave-arrows-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/12&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Обменник &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-next-100.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/obmen/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Сервисы &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8s3-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/9&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;IPTV &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-hdtv-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/8&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Мультимедиа &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-documentary-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/7&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Чат &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-chat-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/guest&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;FAQ &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-info-popup-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/faq/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Копилка&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-bad-piggies-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/copilka&amp;lt;/nowiki&amp;gt;&amp;quot;}]}&lt;br /&gt;
даст такой результат (в ForkPlayer):&lt;br /&gt;
[[Файл:Cooltv.png|мини|600x600пкс|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Все допустимые команды можно посмотреть в исходном коде страниц &lt;br /&gt;
&lt;br /&gt;
https://github.com/vengo634/kino.pub_forkplayerPHP/blob/master/index.php&lt;br /&gt;
&lt;br /&gt;
====Смотреть Исходный код любой страницы можно непосредственно в ForkPlayer====&lt;br /&gt;
[[Файл:VmGe53a9.png|мини|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
и FXML CMS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==Новые теги и команды FXML==&lt;br /&gt;
Новые спецификации FXML добавляются в CHANGELOG, рекомендуем смотреть нужные команды также и там.&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;ping&amp;quot;][&amp;quot;link&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало 1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;; $_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;poster&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/CHANGELOG CHANGELOG]&lt;br /&gt;
&lt;br /&gt;
==Глобальные теги==&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;start&amp;quot;; // Плиточный + другой(с использованием $_CH[&amp;quot;position&amp;quot;] ) виды страницы&lt;br /&gt;
&lt;br /&gt;
====Стили сайта по умолчанию====&lt;br /&gt;
По умолчанию для вашей страницы задаются такие стили (вы их можете изменить задав нужные в $_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:700px; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;Смотреть CSS стили по умолчанию&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button {&lt;br /&gt;
    background-color: #bbbbbb;&lt;br /&gt;
    display: block;&lt;br /&gt;
    border-style: solid;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:decrement {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: transparent transparent #555555;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:increment {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: #555555 transparent transparent transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar {&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-track {&lt;br /&gt;
    background: #ddd;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb {&lt;br /&gt;
    background: #888;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb:hover {&lt;br /&gt;
    background: #777;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    ;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    margin-left: 4px;&lt;br /&gt;
    margin-top: 1px;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .rating {&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    display: none;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    height: 23px;&lt;br /&gt;
    width: 28px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    padding-left: 5px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .icon {&lt;br /&gt;
    padding: 2px 2px 0px 2px;&lt;br /&gt;
    height: 76%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .name {&lt;br /&gt;
    font-size: 17px;&lt;br /&gt;
    line-height: 0.9;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    bottom: 0px;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    max-height: 50%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .title {&lt;br /&gt;
    background: rgba(0, 0, 0, 0.65);&lt;br /&gt;
    border-radius: 3px;&lt;br /&gt;
    width: auto;&lt;br /&gt;
    display: display: inline-block;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    padding: 1px 4px 4px 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .side_icon {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list {&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px 0px 0px 4px;&lt;br /&gt;
    cursor: default;&lt;br /&gt;
    margin: 2px 0px;&lt;br /&gt;
    width: 48.87708333333334%;&lt;br /&gt;
    height: 35px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .contmenu {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    float: right;&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .numb {&lt;br /&gt;
    float: left;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
    font-size: 60%;&lt;br /&gt;
    min-width: 38px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .icon {&lt;br /&gt;
    margin: 0px 2px;&lt;br /&gt;
    padding-right: 2px;&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .title {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    float: left;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listsearch {&lt;br /&gt;
    background-color: #ddd;&lt;br /&gt;
    color: #333;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    padding: 3px;&lt;br /&gt;
    margin-top: 2px;&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
    width: 90%;&lt;br /&gt;
    height: 68%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolinktitle {&lt;br /&gt;
    height: 63%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolink {&lt;br /&gt;
    padding-left: 3px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default .contmenu {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected .contmenu {&lt;br /&gt;
    display: block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.html {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px solid transparent;&lt;br /&gt;
    margin: 0px 4px;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    max-width: 310px;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
    padding: 0px 4px;&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 28px;&lt;br /&gt;
    text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline {&lt;br /&gt;
    border: 1px solid transparent;&lt;br /&gt;
    width: 80%;&lt;br /&gt;
    margin: 1px 9%;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    font-size: 24px;&lt;br /&gt;
    height: 24px;&lt;br /&gt;
    margin: 3px;&lt;br /&gt;
    color: #2b2525;&lt;br /&gt;
    background-color: #eee;&lt;br /&gt;
    padding: 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .icon {&lt;br /&gt;
    float: right;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    margin: -2px 4%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    width: 92%;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    height: 26px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 20px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default {&lt;br /&gt;
    background: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected {&lt;br /&gt;
    background: rgba(180, 180, 180, 0.7);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listselected {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.site {&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    font-size: 27px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    color: rgb(238, 238, 238);&lt;br /&gt;
    margin: 0px;&lt;br /&gt;
    padding: 0px;&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    background-color: transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
small {&lt;br /&gt;
    font-size: 70%;&lt;br /&gt;
    color: gray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.buttons {&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    top: 80%;&lt;br /&gt;
    left: 50%;&lt;br /&gt;
    width: 47%;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    color: #cccccc;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
}&lt;br /&gt;
\#description {&lt;br /&gt;
    top: 0px;&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    font-size: 28px;&lt;br /&gt;
    left: 51%;&lt;br /&gt;
    width: 47.2%;&lt;br /&gt;
    word-break: break-word;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Пример своего стиля (пишите чистый css, он будет преобразован в одну строку)===&lt;br /&gt;
&lt;br /&gt;
===Если строка стилей очень большая, их лучше вынести в отдельный css файл===&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
====#content - стиль страницы (без description)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
====#rightHalf- стиль description====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;#content {font-size:25px;}  #rightHalf{font-size:10 px;} &amp;quot;; // Установим размер шрифта сайта и описания&lt;br /&gt;
&lt;br /&gt;
====.selected - стиль при выделении элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .selected {  color: black; } &amp;quot;; // Делаем смену цвета выделенного элемента&lt;br /&gt;
&lt;br /&gt;
====.default - стиль невыделенного элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .default{  color: gray; } &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.contmenu - визуальная кнопка контекстного меню====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .contmenu{ display:none; } &amp;quot;;  // Скрываем кнопку контекстного меню&lt;br /&gt;
&lt;br /&gt;
====.label, .start, .list, .fulleditline, .hlink, .html - стили(верхний уровень) для разных типов элементов $_CH[&amp;quot;position&amp;quot;]  [https://wiki.forkbrowser.top/wiki/FXML#position_.D0.BF.D1.80.D0.B8_.D0.B7.D0.B0.D0.B4.D0.B0.D0.BD.D0.BD.D0.BE.D0.BC_.24_PL.5B.22typeList.22.5D.3D.22start.22.3B]====&lt;br /&gt;
Если не задан $_CH[&amp;quot;position&amp;quot;] элемента то по умолчанию элементы отображаются на странице списком и классом .list&lt;br /&gt;
&lt;br /&gt;
Если при этом задано отображение плиткой ($_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot; ) то по умолчанию элементы отображаются с классом .start&lt;br /&gt;
&lt;br /&gt;
====.labelselected, .startselected, .listselected, .fulleditlineselected, .hlinkselected, .htmlselected - стили(верхний уровень) для выделенных элементов====&lt;br /&gt;
&lt;br /&gt;
=====Установим цвет для выделенных элементов только .list=====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .listselected{color: red; }&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.labeldefault, .startdefault, .listdefault, .fulleditlinedefault, .hlinkdefault, .htmldefault - стили(верхний уровень) для невыделенных элементов====&lt;br /&gt;
&lt;br /&gt;
====.list - зададим свой вид списка====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list{color: red; }&amp;quot;; // Меняем цвет&lt;br /&gt;
&lt;br /&gt;
====.title .icon .rating .numb вложенные в верхний уровень стили заголовка, иконки, рейтинга(для .start), порядкового номера(для .list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .title{color: red; }&amp;quot;; // Меняем цвет заголовков&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .numb { display:none; } &amp;quot;; // Скрываем отображение номера&lt;br /&gt;
&lt;br /&gt;
====Комбинация классов, зададим стиль иконок только для списка (.list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list .icon{background-color:white; margin:2px;}&amp;quot;; // Зададим белую рамку фона для иконок&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cacheinfo&amp;quot;]=&amp;quot;nocache&amp;quot;;  // Не кешировать страницу (при возврате назад страница будет грузиться заново по адресу)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;setcookie&amp;quot;][&amp;quot;name1&amp;quot;]=&amp;quot;value1&amp;quot;; // Аналог cookie вебсайтов. Запомнит для последующих запросов страниц с этого же домена в переменной $_GET[&amp;quot;cookie&amp;quot;][&amp;quot;name1&amp;quot;] значение value1&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;info&amp;quot;]=&amp;quot;Вам уведомление&amp;quot;; // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;confirm&amp;quot;]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Открыть вложенный CHannel?&amp;quot;,&amp;quot;channel&amp;quot;=&amp;gt;[&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://..&amp;quot;]];&lt;br /&gt;
&lt;br /&gt;
===cmd тег (как глобальный так и в playlist_url) - допустимые команды===&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в глобальном теге====&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;historyback(1);&amp;quot;  // Вернуться назад на 1 страницу&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Вам уведомление);&amp;quot;  // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;settitle(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый title&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;setdescription(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый description&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;reload(2);&amp;quot;  // Перезагрузить страницу через 2секунды&lt;br /&gt;
&lt;br /&gt;
В конец cmd к командам выше можно добавить &#039;&#039;&#039;stop();&#039;&#039;&#039; чтобы выполнить команду выше и остановить загрузку новой страницы &lt;br /&gt;
&lt;br /&gt;
например $_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Доступ к этой странице Вам запрещен);stop();&amp;quot; выведет уведомление но оставить пользователя на предыдущей странице.&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в $_CH[&amp;quot;playlist_url&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;cmd:&amp;lt;Команда из списка допустимых&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Например $_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;reload();&amp;quot;; перезагрузит страницу при нажатии&lt;br /&gt;
&lt;br /&gt;
==Channel теги==&lt;br /&gt;
&lt;br /&gt;
===title===&lt;br /&gt;
Заголовок&lt;br /&gt;
&lt;br /&gt;
===playlist_url или stream_url===&lt;br /&gt;
Адрес страницы или адрес видеопотока (непустым может быть только один из этих тегов)&lt;br /&gt;
&lt;br /&gt;
===logo_30x30===&lt;br /&gt;
Адрес иконки&lt;br /&gt;
&lt;br /&gt;
===confirm - диалоговое окно с действиями при нажатии на элемент===&lt;br /&gt;
Пример подтверждения выхода с аккаунта&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Выйти&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;confirm&amp;quot;,&amp;quot;confirm&amp;quot;=&amp;gt;[&amp;quot;http://host/?do&amp;lt;nowiki&amp;gt;=exit&amp;quot;],&amp;quot;description&amp;quot;=&amp;gt;&amp;quot;Выйти с аккаунта?&amp;quot;];&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===menu - контекстное меню элемента===&lt;br /&gt;
$menu=[];&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню1&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню2&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;menu&amp;quot;]=$menu;&lt;br /&gt;
&lt;br /&gt;
===position при заданном $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;===&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;&amp;quot;; // - Плитка как в Стартовом меню размером 128х101px)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // - Пример элемента со своим дизайном в $_CH[&amp;quot;template&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;br&amp;quot;]=0; // Не переносить навигацию на новую строку&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание вида&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&amp;quot;width:242px;overflow:hidden;margin:4px;text-align:center;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;width:242px;height:171px;padding:2px 2px 0px 2px;&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;small&amp;gt;$description&amp;lt;/small&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
Элементы будут выстраиваться в ряд и навигация по ним будет предполагать что они в одном ряду&lt;br /&gt;
&lt;br /&gt;
=====$_CH[&amp;quot;br&amp;quot;]=====&lt;br /&gt;
В месте где навигация должна перейти на новую строку задайте $_CH[&amp;quot;br&amp;quot;]=1; При этом в before будет добавлено значение &amp;lt;nowiki&amp;gt;&amp;lt;br clear=both&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;fulleditline&amp;quot;; //- Поле ввода текста шириной почти на всю страницу====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;hlist&amp;quot;; // - горизонтальная ссылка (может быть несколько на одном горизонтальном уровне)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;list&amp;quot;; // -обычный вид списка шириной в половину экрана и с description справа====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;label&amp;quot;; // -невысокая строка на всю ширину экрана====&lt;br /&gt;
&lt;br /&gt;
===location===&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=1; // Переход c заменой текущей ссылки окна на новую (при перезапуске форкплеера будет открываться уже с этой новой ссылки)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=3; // Переход с отображением в текущем окне (при перезапуске форкплеера будет открываться старая ссылка и опять переадресовываться, необходимо если например используются устаревающие сессии)&lt;br /&gt;
&lt;br /&gt;
===after и before - свой html код после и перед элементом списка===&lt;br /&gt;
$_CH[&amp;quot;before&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст перед элементом&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;after&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст после элемента&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===SetTimeInterval - отправка событий клиентом через интервал и вывод сообщений===&lt;br /&gt;
$_CH[&amp;quot;SetTimeInterval&amp;quot;]=[&amp;quot;time&amp;quot;=&amp;gt;1,&amp;quot;onmenu&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onmenu&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;onplay&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onplay&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;time&#039;&#039;&#039; - интервал между отправкой событий в минутах&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onmenu -&#039;&#039;&#039; ссылка для отправки событий если пользователь находится в списке&lt;br /&gt;
&lt;br /&gt;
в ответ по ссылке onmenu &amp;lt;nowiki&amp;gt;http://193.30.240.2/try/ajax/send_status_log.php?action=onmenu&amp;lt;/nowiki&amp;gt; можно давать json &lt;br /&gt;
 {&amp;quot;message&amp;quot;:&amp;quot;Hello user&amp;quot;} &lt;br /&gt;
Это уведомление будет выводится вверху форкплеера&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onplay-&#039;&#039;&#039; ссылка для отправки событий если пользователь смотрит видео&lt;br /&gt;
&lt;br /&gt;
Можно использовать один или два сразу тега onmenu и onplay&lt;br /&gt;
&lt;br /&gt;
===parser - тег загрузки другой страницы перед переходом по playlist_url или stream_url===&lt;br /&gt;
Пример в XML&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
Пример в JSON FXML&lt;br /&gt;
 $_CH[&amp;quot;parser&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|&amp;lt;/nowiki&amp;gt;;&amp;quot;;&lt;br /&gt;
результат отдастся то что между js= и ; &lt;br /&gt;
&lt;br /&gt;
Регулярное выражение (по маркеру .*? )&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|&amp;lt;script&amp;gt;.*?js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
или&lt;br /&gt;
 &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|.*?js]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
преобразуется в RegExp(&amp;quot;&amp;lt;script&amp;gt;.*?js=(.*?);&amp;quot;,&amp;quot;i&amp;quot;) - результат отдастся тот что в () &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&amp;lt;title&amp;gt;Test &amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== #POST в playlist_url означает что все что после него будет передавать методом POST====&lt;br /&gt;
&lt;br /&gt;
В примере выше на адрес http://parser.co/ отправятся POST данные html=md5hash, где md5hash заменятся на полученное от parser&lt;br /&gt;
&lt;br /&gt;
====Допустимо в parser использовать curl запросы (доступны на андроид, частично если форк установлен в память ТВ, или через ремотефорк)====&lt;br /&gt;
&lt;br /&gt;
====Можно перечислить порядок методов запроса парсер, например &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
Сначала будет попытка запроса через remotefork (если включен), потом через андроид класс если Fork запущен на андроиде, потом прямой XHR запрос с попыткой установить заголовки, потом прямой XHR запрос без заголовков&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&lt;br /&gt;
  &amp;lt;title&amp;gt;Test curl and method&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;parser&amp;gt;&amp;lt;![CDATA[curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept-Encoding: deflate&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;]]&amp;gt;&lt;br /&gt;
  &amp;lt;/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Или в JSON&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;channels&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;title&amp;quot;: &amp;quot;Test curl and method&amp;quot;,&lt;br /&gt;
      &amp;quot;cors&amp;quot;: &amp;quot;rf|android|direct|directnoheader&amp;quot;,&lt;br /&gt;
      &amp;quot;playlist_url&amp;quot;: &amp;quot;http://parser.co/#POSThtml=md5hash&amp;quot;,&lt;br /&gt;
      &amp;quot;parser&amp;quot;: &#039;curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept-Encoding: deflate&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;&#039;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Результат будет в $_POST[&#039;html&#039;]&lt;br /&gt;
&lt;br /&gt;
Результат будет аналогично md5hash в $_GET[&#039;page&#039;]&lt;br /&gt;
&lt;br /&gt;
====Методом POST для видеоссылок ( stream_url )====&lt;br /&gt;
 &amp;lt;channel&amp;gt; &lt;br /&gt;
  &amp;lt;title&amp;gt;stream post&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;stream_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://test.ru/index.php#POSTs=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/stream_url&amp;gt;&lt;br /&gt;
  &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[https://yadi.sk/d/0BpgziSQ0VWiFg]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Будет идти отправка POST на &amp;lt;nowiki&amp;gt;http://test.ru/index.php#POSTs=md5hash&amp;lt;/nowiki&amp;gt; в $_POST[&amp;quot;s&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Ответ страницы попадет в проигрыватель в виде ссылки.&lt;br /&gt;
&lt;br /&gt;
Тоесть &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://test.ru/index.php&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; должен дать текст ссылки на медиафайл вида &amp;lt;nowiki&amp;gt;http://.../myvideo.mp4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Скачивание сторонней страницы по необходимости, страница &amp;lt;nowiki&amp;gt;http://parser.co/&amp;lt;/nowiki&amp;gt; может дать json ответ====&lt;br /&gt;
 {&amp;quot;parse&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8&amp;amp;gl=US&amp;amp;hl=en&amp;amp;has_verified=1&amp;amp;bpctr=9999999999&amp;lt;/nowiki&amp;gt;&amp;quot;}&lt;br /&gt;
Скачанная страница шлется в параметре  $_POST[&#039;remoteparse&#039;]&lt;br /&gt;
&lt;br /&gt;
==Построение произвольного положения элементов на странице (c &amp;quot;br&amp;quot; вместо &amp;quot;coordiantion&amp;quot;)==&lt;br /&gt;
&lt;br /&gt;
===Задаем странице вид плиткой (start)===&lt;br /&gt;
 $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Прописываем свои стили===&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;&lt;br /&gt;
&lt;br /&gt;
.myStyle1{&lt;br /&gt;
&lt;br /&gt;
width:242px;&lt;br /&gt;
&lt;br /&gt;
overflow:hidden;&lt;br /&gt;
&lt;br /&gt;
margin:4px;&lt;br /&gt;
&lt;br /&gt;
text-align:center;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.myStyle2{&lt;br /&gt;
width:242px;&lt;br /&gt;
height:171px;&lt;br /&gt;
padding:2px 2px 0px 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Задаем шаблон (template) каждому элементу списка===&lt;br /&gt;
&amp;lt;code&amp;gt;$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // Задает возможность использовать template&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;; // Заголовок - подставляет в шаблоне вместо $title&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;; // Иконка $logo_30x30&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание, если нужно&amp;quot;; // Описание- подставляет в шаблоне вместо $description&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;myStyle1&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;myStyle2&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Перенос на новую строке при html дизайне $_CH[&amp;quot;br&amp;quot;]=1;===&lt;br /&gt;
Для правильной навигации по странице нужно знать когда у вас там новая строка. Для этого в элементе с которого нужно чтоб начиналась новая строка присваиваем &lt;br /&gt;
 $_CH[&amp;quot;br&amp;quot;]=1;// Этот элемент разместится уже на новой строке&lt;br /&gt;
&lt;br /&gt;
==Горизонтальная прокрутка==&lt;br /&gt;
Задаем nowrap только для первого (обзначается br=1) элемента блока горизонтальной прокрутки&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;nowrap&amp;quot;=1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Первый элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Второй элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Третий элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Последний элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Новый элемент с новой строки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==Вывод результирующей страницы (на PHP)==&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Ваш код с наполнением массивов $_PL и $_CH информацией&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;channels&amp;quot;]=$_CH;&lt;br /&gt;
&lt;br /&gt;
print json_encode($_PL);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1913</id>
		<title>FXML</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1913"/>
		<updated>2024-10-13T12:28:35Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* Можно перечислить порядок методов запроса парсер, например rf|android|direct|directnoheader */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;FXML&#039;&#039;&#039; (Fork eXtensible Markup Language) - что такое==&lt;br /&gt;
Это язык разметки документов во Всемирной паутине.  Для навигации по таким страницам не требуется мышь или сенсорный экран. Язык &#039;&#039;&#039;FXML&#039;&#039;&#039; интерпретируется такими приложениями как ForkPlayer, OTT Player, OTT-play. Полученный в результате интерпретации форматированный текст отображается на экране телевизора. &lt;br /&gt;
&lt;br /&gt;
====Например, следующий код (должен быть валидным JSON):====&lt;br /&gt;
 {&amp;quot;title&amp;quot;:&amp;quot;COOLTV - портал нового поколения&amp;quot;,&amp;quot;background-image&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;typeList&amp;quot;:&amp;quot;start&amp;quot;,&amp;quot;icon&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool23.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;channels&amp;quot;:[{&amp;quot;title&amp;quot;:&amp;quot;Вход&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/profle22.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/auth&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Новости &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/rss-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/news&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Поиск &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-search-folder-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/search.php&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Кинозал &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/1icons8-film-reel-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;AceStream &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-wave-arrows-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/12&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Обменник &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-next-100.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/obmen/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Сервисы &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8s3-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/9&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;IPTV &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-hdtv-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/8&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Мультимедиа &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-documentary-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/7&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Чат &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-chat-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/guest&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;FAQ &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-info-popup-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/faq/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Копилка&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-bad-piggies-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/copilka&amp;lt;/nowiki&amp;gt;&amp;quot;}]}&lt;br /&gt;
даст такой результат (в ForkPlayer):&lt;br /&gt;
[[Файл:Cooltv.png|мини|600x600пкс|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Все допустимые команды можно посмотреть в исходном коде страниц &lt;br /&gt;
&lt;br /&gt;
https://github.com/vengo634/kino.pub_forkplayerPHP/blob/master/index.php&lt;br /&gt;
&lt;br /&gt;
====Смотреть Исходный код любой страницы можно непосредственно в ForkPlayer====&lt;br /&gt;
[[Файл:VmGe53a9.png|мини|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
и FXML CMS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==Новые теги и команды FXML==&lt;br /&gt;
Новые спецификации FXML добавляются в CHANGELOG, рекомендуем смотреть нужные команды также и там.&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;ping&amp;quot;][&amp;quot;link&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало 1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;; $_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;poster&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/CHANGELOG CHANGELOG]&lt;br /&gt;
&lt;br /&gt;
==Глобальные теги==&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;start&amp;quot;; // Плиточный + другой(с использованием $_CH[&amp;quot;position&amp;quot;] ) виды страницы&lt;br /&gt;
&lt;br /&gt;
====Стили сайта по умолчанию====&lt;br /&gt;
По умолчанию для вашей страницы задаются такие стили (вы их можете изменить задав нужные в $_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:700px; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;Смотреть CSS стили по умолчанию&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button {&lt;br /&gt;
    background-color: #bbbbbb;&lt;br /&gt;
    display: block;&lt;br /&gt;
    border-style: solid;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:decrement {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: transparent transparent #555555;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:increment {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: #555555 transparent transparent transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar {&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-track {&lt;br /&gt;
    background: #ddd;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb {&lt;br /&gt;
    background: #888;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb:hover {&lt;br /&gt;
    background: #777;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    ;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    margin-left: 4px;&lt;br /&gt;
    margin-top: 1px;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .rating {&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    display: none;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    height: 23px;&lt;br /&gt;
    width: 28px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    padding-left: 5px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .icon {&lt;br /&gt;
    padding: 2px 2px 0px 2px;&lt;br /&gt;
    height: 76%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .name {&lt;br /&gt;
    font-size: 17px;&lt;br /&gt;
    line-height: 0.9;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    bottom: 0px;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    max-height: 50%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .title {&lt;br /&gt;
    background: rgba(0, 0, 0, 0.65);&lt;br /&gt;
    border-radius: 3px;&lt;br /&gt;
    width: auto;&lt;br /&gt;
    display: display: inline-block;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    padding: 1px 4px 4px 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .side_icon {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list {&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px 0px 0px 4px;&lt;br /&gt;
    cursor: default;&lt;br /&gt;
    margin: 2px 0px;&lt;br /&gt;
    width: 48.87708333333334%;&lt;br /&gt;
    height: 35px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .contmenu {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    float: right;&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .numb {&lt;br /&gt;
    float: left;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
    font-size: 60%;&lt;br /&gt;
    min-width: 38px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .icon {&lt;br /&gt;
    margin: 0px 2px;&lt;br /&gt;
    padding-right: 2px;&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .title {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    float: left;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listsearch {&lt;br /&gt;
    background-color: #ddd;&lt;br /&gt;
    color: #333;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    padding: 3px;&lt;br /&gt;
    margin-top: 2px;&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
    width: 90%;&lt;br /&gt;
    height: 68%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolinktitle {&lt;br /&gt;
    height: 63%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolink {&lt;br /&gt;
    padding-left: 3px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default .contmenu {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected .contmenu {&lt;br /&gt;
    display: block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.html {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px solid transparent;&lt;br /&gt;
    margin: 0px 4px;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    max-width: 310px;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
    padding: 0px 4px;&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 28px;&lt;br /&gt;
    text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline {&lt;br /&gt;
    border: 1px solid transparent;&lt;br /&gt;
    width: 80%;&lt;br /&gt;
    margin: 1px 9%;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    font-size: 24px;&lt;br /&gt;
    height: 24px;&lt;br /&gt;
    margin: 3px;&lt;br /&gt;
    color: #2b2525;&lt;br /&gt;
    background-color: #eee;&lt;br /&gt;
    padding: 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .icon {&lt;br /&gt;
    float: right;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    margin: -2px 4%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    width: 92%;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    height: 26px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 20px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default {&lt;br /&gt;
    background: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected {&lt;br /&gt;
    background: rgba(180, 180, 180, 0.7);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listselected {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.site {&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    font-size: 27px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    color: rgb(238, 238, 238);&lt;br /&gt;
    margin: 0px;&lt;br /&gt;
    padding: 0px;&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    background-color: transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
small {&lt;br /&gt;
    font-size: 70%;&lt;br /&gt;
    color: gray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.buttons {&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    top: 80%;&lt;br /&gt;
    left: 50%;&lt;br /&gt;
    width: 47%;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    color: #cccccc;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
}&lt;br /&gt;
\#description {&lt;br /&gt;
    top: 0px;&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    font-size: 28px;&lt;br /&gt;
    left: 51%;&lt;br /&gt;
    width: 47.2%;&lt;br /&gt;
    word-break: break-word;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Пример своего стиля (пишите чистый css, он будет преобразован в одну строку)===&lt;br /&gt;
&lt;br /&gt;
===Если строка стилей очень большая, их лучше вынести в отдельный css файл===&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
====#content - стиль страницы (без description)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
====#rightHalf- стиль description====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;#content {font-size:25px;}  #rightHalf{font-size:10 px;} &amp;quot;; // Установим размер шрифта сайта и описания&lt;br /&gt;
&lt;br /&gt;
====.selected - стиль при выделении элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .selected {  color: black; } &amp;quot;; // Делаем смену цвета выделенного элемента&lt;br /&gt;
&lt;br /&gt;
====.default - стиль невыделенного элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .default{  color: gray; } &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.contmenu - визуальная кнопка контекстного меню====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .contmenu{ display:none; } &amp;quot;;  // Скрываем кнопку контекстного меню&lt;br /&gt;
&lt;br /&gt;
====.label, .start, .list, .fulleditline, .hlink, .html - стили(верхний уровень) для разных типов элементов $_CH[&amp;quot;position&amp;quot;]  [https://wiki.forkbrowser.top/wiki/FXML#position_.D0.BF.D1.80.D0.B8_.D0.B7.D0.B0.D0.B4.D0.B0.D0.BD.D0.BD.D0.BE.D0.BC_.24_PL.5B.22typeList.22.5D.3D.22start.22.3B]====&lt;br /&gt;
Если не задан $_CH[&amp;quot;position&amp;quot;] элемента то по умолчанию элементы отображаются на странице списком и классом .list&lt;br /&gt;
&lt;br /&gt;
Если при этом задано отображение плиткой ($_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot; ) то по умолчанию элементы отображаются с классом .start&lt;br /&gt;
&lt;br /&gt;
====.labelselected, .startselected, .listselected, .fulleditlineselected, .hlinkselected, .htmlselected - стили(верхний уровень) для выделенных элементов====&lt;br /&gt;
&lt;br /&gt;
=====Установим цвет для выделенных элементов только .list=====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .listselected{color: red; }&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.labeldefault, .startdefault, .listdefault, .fulleditlinedefault, .hlinkdefault, .htmldefault - стили(верхний уровень) для невыделенных элементов====&lt;br /&gt;
&lt;br /&gt;
====.list - зададим свой вид списка====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list{color: red; }&amp;quot;; // Меняем цвет&lt;br /&gt;
&lt;br /&gt;
====.title .icon .rating .numb вложенные в верхний уровень стили заголовка, иконки, рейтинга(для .start), порядкового номера(для .list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .title{color: red; }&amp;quot;; // Меняем цвет заголовков&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .numb { display:none; } &amp;quot;; // Скрываем отображение номера&lt;br /&gt;
&lt;br /&gt;
====Комбинация классов, зададим стиль иконок только для списка (.list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list .icon{background-color:white; margin:2px;}&amp;quot;; // Зададим белую рамку фона для иконок&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cacheinfo&amp;quot;]=&amp;quot;nocache&amp;quot;;  // Не кешировать страницу (при возврате назад страница будет грузиться заново по адресу)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;setcookie&amp;quot;][&amp;quot;name1&amp;quot;]=&amp;quot;value1&amp;quot;; // Аналог cookie вебсайтов. Запомнит для последующих запросов страниц с этого же домена в переменной $_GET[&amp;quot;cookie&amp;quot;][&amp;quot;name1&amp;quot;] значение value1&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;info&amp;quot;]=&amp;quot;Вам уведомление&amp;quot;; // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;confirm&amp;quot;]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Открыть вложенный CHannel?&amp;quot;,&amp;quot;channel&amp;quot;=&amp;gt;[&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://..&amp;quot;]];&lt;br /&gt;
&lt;br /&gt;
===cmd тег (как глобальный так и в playlist_url) - допустимые команды===&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в глобальном теге====&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;historyback(1);&amp;quot;  // Вернуться назад на 1 страницу&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Вам уведомление);&amp;quot;  // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;settitle(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый title&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;setdescription(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый description&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;reload(2);&amp;quot;  // Перезагрузить страницу через 2секунды&lt;br /&gt;
&lt;br /&gt;
В конец cmd к командам выше можно добавить &#039;&#039;&#039;stop();&#039;&#039;&#039; чтобы выполнить команду выше и остановить загрузку новой страницы &lt;br /&gt;
&lt;br /&gt;
например $_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Доступ к этой странице Вам запрещен);stop();&amp;quot; выведет уведомление но оставить пользователя на предыдущей странице.&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в $_CH[&amp;quot;playlist_url&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;cmd:&amp;lt;Команда из списка допустимых&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Например $_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;reload();&amp;quot;; перезагрузит страницу при нажатии&lt;br /&gt;
&lt;br /&gt;
==Channel теги==&lt;br /&gt;
&lt;br /&gt;
===title===&lt;br /&gt;
Заголовок&lt;br /&gt;
&lt;br /&gt;
===playlist_url или stream_url===&lt;br /&gt;
Адрес страницы или адрес видеопотока (непустым может быть только один из этих тегов)&lt;br /&gt;
&lt;br /&gt;
===logo_30x30===&lt;br /&gt;
Адрес иконки&lt;br /&gt;
&lt;br /&gt;
===confirm - диалоговое окно с действиями при нажатии на элемент===&lt;br /&gt;
Пример подтверждения выхода с аккаунта&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Выйти&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;confirm&amp;quot;,&amp;quot;confirm&amp;quot;=&amp;gt;[&amp;quot;http://host/?do&amp;lt;nowiki&amp;gt;=exit&amp;quot;],&amp;quot;description&amp;quot;=&amp;gt;&amp;quot;Выйти с аккаунта?&amp;quot;];&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===menu - контекстное меню элемента===&lt;br /&gt;
$menu=[];&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню1&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню2&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;menu&amp;quot;]=$menu;&lt;br /&gt;
&lt;br /&gt;
===position при заданном $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;===&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;&amp;quot;; // - Плитка как в Стартовом меню размером 128х101px)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // - Пример элемента со своим дизайном в $_CH[&amp;quot;template&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;br&amp;quot;]=0; // Не переносить навигацию на новую строку&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание вида&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&amp;quot;width:242px;overflow:hidden;margin:4px;text-align:center;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;width:242px;height:171px;padding:2px 2px 0px 2px;&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;small&amp;gt;$description&amp;lt;/small&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
Элементы будут выстраиваться в ряд и навигация по ним будет предполагать что они в одном ряду&lt;br /&gt;
&lt;br /&gt;
=====$_CH[&amp;quot;br&amp;quot;]=====&lt;br /&gt;
В месте где навигация должна перейти на новую строку задайте $_CH[&amp;quot;br&amp;quot;]=1; При этом в before будет добавлено значение &amp;lt;nowiki&amp;gt;&amp;lt;br clear=both&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;fulleditline&amp;quot;; //- Поле ввода текста шириной почти на всю страницу====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;hlist&amp;quot;; // - горизонтальная ссылка (может быть несколько на одном горизонтальном уровне)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;list&amp;quot;; // -обычный вид списка шириной в половину экрана и с description справа====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;label&amp;quot;; // -невысокая строка на всю ширину экрана====&lt;br /&gt;
&lt;br /&gt;
===location===&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=1; // Переход c заменой текущей ссылки окна на новую (при перезапуске форкплеера будет открываться уже с этой новой ссылки)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=3; // Переход с отображением в текущем окне (при перезапуске форкплеера будет открываться старая ссылка и опять переадресовываться, необходимо если например используются устаревающие сессии)&lt;br /&gt;
&lt;br /&gt;
===after и before - свой html код после и перед элементом списка===&lt;br /&gt;
$_CH[&amp;quot;before&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст перед элементом&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;after&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст после элемента&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===SetTimeInterval - отправка событий клиентом через интервал и вывод сообщений===&lt;br /&gt;
$_CH[&amp;quot;SetTimeInterval&amp;quot;]=[&amp;quot;time&amp;quot;=&amp;gt;1,&amp;quot;onmenu&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onmenu&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;onplay&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onplay&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;time&#039;&#039;&#039; - интервал между отправкой событий в минутах&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onmenu -&#039;&#039;&#039; ссылка для отправки событий если пользователь находится в списке&lt;br /&gt;
&lt;br /&gt;
в ответ по ссылке onmenu &amp;lt;nowiki&amp;gt;http://193.30.240.2/try/ajax/send_status_log.php?action=onmenu&amp;lt;/nowiki&amp;gt; можно давать json &lt;br /&gt;
 {&amp;quot;message&amp;quot;:&amp;quot;Hello user&amp;quot;} &lt;br /&gt;
Это уведомление будет выводится вверху форкплеера&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onplay-&#039;&#039;&#039; ссылка для отправки событий если пользователь смотрит видео&lt;br /&gt;
&lt;br /&gt;
Можно использовать один или два сразу тега onmenu и onplay&lt;br /&gt;
&lt;br /&gt;
===parser - тег загрузки другой страницы перед переходом по playlist_url или stream_url===&lt;br /&gt;
Пример в XML&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
Пример в JSON FXML&lt;br /&gt;
 $_CH[&amp;quot;parser&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|&amp;lt;/nowiki&amp;gt;;&amp;quot;;&lt;br /&gt;
результат отдастся то что между js= и ; &lt;br /&gt;
&lt;br /&gt;
Регулярное выражение (по маркеру .*? )&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|&amp;lt;script&amp;gt;.*?js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
или&lt;br /&gt;
 &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|.*?js]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
преобразуется в RegExp(&amp;quot;&amp;lt;script&amp;gt;.*?js=(.*?);&amp;quot;,&amp;quot;i&amp;quot;) - результат отдастся тот что в () &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&amp;lt;title&amp;gt;Test &amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== #POST в playlist_url означает что все что после него будет передавать методом POST====&lt;br /&gt;
&lt;br /&gt;
В примере выше на адрес http://parser.co/ отправятся POST данные html=md5hash, где md5hash заменятся на полученное от parser&lt;br /&gt;
&lt;br /&gt;
====Допустимо в parser использовать curl запросы (доступны на андроид, частично если форк установлен в память ТВ, или через ремотефорк)====&lt;br /&gt;
&lt;br /&gt;
====Можно перечислить порядок методов запроса парсер, например &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
Сначала будет попытка запроса через remotefork (если включен), потом через андроид класс если Fork запущен на андроиде, потом прямой XHR запрос с попыткой установить заголовки, потом прямой XHR запрос без заголовков&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&lt;br /&gt;
  &amp;lt;title&amp;gt;Test curl and method&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;parser&amp;gt;&amp;lt;![CDATA[curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7&amp;quot; -H &amp;quot;Accept-Encoding: deflate&amp;quot; -H &amp;quot;Accept-Language: ru-UA,ru;q=0.9,uk-UA;q=0.8,uk;q=0.7,ru-RU;q=0.6,en-US;q=0.5,en;q=0.4&amp;quot; -H &amp;quot;Cache-Control: max-age=0&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;]]&amp;gt;&lt;br /&gt;
  &amp;lt;/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Или в JSON&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;channels&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;title&amp;quot;: &amp;quot;Test curl and method&amp;quot;,&lt;br /&gt;
      &amp;quot;cors&amp;quot;: &amp;quot;rf|android|direct|directnoheader&amp;quot;,&lt;br /&gt;
      &amp;quot;playlist_url&amp;quot;: &amp;quot;http://parser.co/#POSThtml=md5hash&amp;quot;,&lt;br /&gt;
      &amp;quot;parser&amp;quot;: &#039;curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7&amp;quot; -H &amp;quot;Accept-Encoding: deflate&amp;quot; -H &amp;quot;Accept-Language: ru-UA,ru;q=0.9,uk-UA;q=0.8,uk;q=0.7,ru-RU;q=0.6,en-US;q=0.5,en;q=0.4&amp;quot; -H &amp;quot;Cache-Control: max-age=0&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;&#039;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Результат будет в $_POST[&#039;html&#039;]&lt;br /&gt;
&lt;br /&gt;
Результат будет аналогично md5hash в $_GET[&#039;page&#039;]&lt;br /&gt;
&lt;br /&gt;
====Методом POST для видеоссылок ( stream_url )====&lt;br /&gt;
 &amp;lt;channel&amp;gt; &lt;br /&gt;
  &amp;lt;title&amp;gt;stream post&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;stream_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://test.ru/index.php#POSTs=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/stream_url&amp;gt;&lt;br /&gt;
  &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[https://yadi.sk/d/0BpgziSQ0VWiFg]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Будет идти отправка POST на &amp;lt;nowiki&amp;gt;http://test.ru/index.php#POSTs=md5hash&amp;lt;/nowiki&amp;gt; в $_POST[&amp;quot;s&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Ответ страницы попадет в проигрыватель в виде ссылки.&lt;br /&gt;
&lt;br /&gt;
Тоесть &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://test.ru/index.php&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; должен дать текст ссылки на медиафайл вида &amp;lt;nowiki&amp;gt;http://.../myvideo.mp4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Скачивание сторонней страницы по необходимости, страница &amp;lt;nowiki&amp;gt;http://parser.co/&amp;lt;/nowiki&amp;gt; может дать json ответ====&lt;br /&gt;
 {&amp;quot;parse&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8&amp;amp;gl=US&amp;amp;hl=en&amp;amp;has_verified=1&amp;amp;bpctr=9999999999&amp;lt;/nowiki&amp;gt;&amp;quot;}&lt;br /&gt;
Скачанная страница шлется в параметре  $_POST[&#039;remoteparse&#039;]&lt;br /&gt;
&lt;br /&gt;
==Построение произвольного положения элементов на странице (c &amp;quot;br&amp;quot; вместо &amp;quot;coordiantion&amp;quot;)==&lt;br /&gt;
&lt;br /&gt;
===Задаем странице вид плиткой (start)===&lt;br /&gt;
 $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Прописываем свои стили===&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;&lt;br /&gt;
&lt;br /&gt;
.myStyle1{&lt;br /&gt;
&lt;br /&gt;
width:242px;&lt;br /&gt;
&lt;br /&gt;
overflow:hidden;&lt;br /&gt;
&lt;br /&gt;
margin:4px;&lt;br /&gt;
&lt;br /&gt;
text-align:center;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.myStyle2{&lt;br /&gt;
width:242px;&lt;br /&gt;
height:171px;&lt;br /&gt;
padding:2px 2px 0px 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Задаем шаблон (template) каждому элементу списка===&lt;br /&gt;
&amp;lt;code&amp;gt;$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // Задает возможность использовать template&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;; // Заголовок - подставляет в шаблоне вместо $title&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;; // Иконка $logo_30x30&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание, если нужно&amp;quot;; // Описание- подставляет в шаблоне вместо $description&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;myStyle1&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;myStyle2&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Перенос на новую строке при html дизайне $_CH[&amp;quot;br&amp;quot;]=1;===&lt;br /&gt;
Для правильной навигации по странице нужно знать когда у вас там новая строка. Для этого в элементе с которого нужно чтоб начиналась новая строка присваиваем &lt;br /&gt;
 $_CH[&amp;quot;br&amp;quot;]=1;// Этот элемент разместится уже на новой строке&lt;br /&gt;
&lt;br /&gt;
==Горизонтальная прокрутка==&lt;br /&gt;
Задаем nowrap только для первого (обзначается br=1) элемента блока горизонтальной прокрутки&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;nowrap&amp;quot;=1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Первый элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Второй элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Третий элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Последний элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Новый элемент с новой строки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==Вывод результирующей страницы (на PHP)==&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Ваш код с наполнением массивов $_PL и $_CH информацией&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;channels&amp;quot;]=$_CH;&lt;br /&gt;
&lt;br /&gt;
print json_encode($_PL);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1912</id>
		<title>FXML</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1912"/>
		<updated>2024-10-12T23:38:12Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* Методом POST для видеоссылок ( stream_url ) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;FXML&#039;&#039;&#039; (Fork eXtensible Markup Language) - что такое==&lt;br /&gt;
Это язык разметки документов во Всемирной паутине.  Для навигации по таким страницам не требуется мышь или сенсорный экран. Язык &#039;&#039;&#039;FXML&#039;&#039;&#039; интерпретируется такими приложениями как ForkPlayer, OTT Player, OTT-play. Полученный в результате интерпретации форматированный текст отображается на экране телевизора. &lt;br /&gt;
&lt;br /&gt;
====Например, следующий код (должен быть валидным JSON):====&lt;br /&gt;
 {&amp;quot;title&amp;quot;:&amp;quot;COOLTV - портал нового поколения&amp;quot;,&amp;quot;background-image&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;typeList&amp;quot;:&amp;quot;start&amp;quot;,&amp;quot;icon&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool23.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;channels&amp;quot;:[{&amp;quot;title&amp;quot;:&amp;quot;Вход&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/profle22.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/auth&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Новости &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/rss-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/news&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Поиск &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-search-folder-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/search.php&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Кинозал &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/1icons8-film-reel-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;AceStream &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-wave-arrows-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/12&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Обменник &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-next-100.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/obmen/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Сервисы &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8s3-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/9&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;IPTV &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-hdtv-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/8&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Мультимедиа &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-documentary-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/7&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Чат &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-chat-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/guest&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;FAQ &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-info-popup-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/faq/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Копилка&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-bad-piggies-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/copilka&amp;lt;/nowiki&amp;gt;&amp;quot;}]}&lt;br /&gt;
даст такой результат (в ForkPlayer):&lt;br /&gt;
[[Файл:Cooltv.png|мини|600x600пкс|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Все допустимые команды можно посмотреть в исходном коде страниц &lt;br /&gt;
&lt;br /&gt;
https://github.com/vengo634/kino.pub_forkplayerPHP/blob/master/index.php&lt;br /&gt;
&lt;br /&gt;
====Смотреть Исходный код любой страницы можно непосредственно в ForkPlayer====&lt;br /&gt;
[[Файл:VmGe53a9.png|мини|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
и FXML CMS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==Новые теги и команды FXML==&lt;br /&gt;
Новые спецификации FXML добавляются в CHANGELOG, рекомендуем смотреть нужные команды также и там.&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;ping&amp;quot;][&amp;quot;link&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало 1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;; $_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;poster&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/CHANGELOG CHANGELOG]&lt;br /&gt;
&lt;br /&gt;
==Глобальные теги==&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;start&amp;quot;; // Плиточный + другой(с использованием $_CH[&amp;quot;position&amp;quot;] ) виды страницы&lt;br /&gt;
&lt;br /&gt;
====Стили сайта по умолчанию====&lt;br /&gt;
По умолчанию для вашей страницы задаются такие стили (вы их можете изменить задав нужные в $_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:700px; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;Смотреть CSS стили по умолчанию&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button {&lt;br /&gt;
    background-color: #bbbbbb;&lt;br /&gt;
    display: block;&lt;br /&gt;
    border-style: solid;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:decrement {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: transparent transparent #555555;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:increment {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: #555555 transparent transparent transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar {&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-track {&lt;br /&gt;
    background: #ddd;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb {&lt;br /&gt;
    background: #888;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb:hover {&lt;br /&gt;
    background: #777;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    ;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    margin-left: 4px;&lt;br /&gt;
    margin-top: 1px;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .rating {&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    display: none;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    height: 23px;&lt;br /&gt;
    width: 28px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    padding-left: 5px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .icon {&lt;br /&gt;
    padding: 2px 2px 0px 2px;&lt;br /&gt;
    height: 76%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .name {&lt;br /&gt;
    font-size: 17px;&lt;br /&gt;
    line-height: 0.9;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    bottom: 0px;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    max-height: 50%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .title {&lt;br /&gt;
    background: rgba(0, 0, 0, 0.65);&lt;br /&gt;
    border-radius: 3px;&lt;br /&gt;
    width: auto;&lt;br /&gt;
    display: display: inline-block;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    padding: 1px 4px 4px 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .side_icon {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list {&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px 0px 0px 4px;&lt;br /&gt;
    cursor: default;&lt;br /&gt;
    margin: 2px 0px;&lt;br /&gt;
    width: 48.87708333333334%;&lt;br /&gt;
    height: 35px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .contmenu {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    float: right;&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .numb {&lt;br /&gt;
    float: left;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
    font-size: 60%;&lt;br /&gt;
    min-width: 38px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .icon {&lt;br /&gt;
    margin: 0px 2px;&lt;br /&gt;
    padding-right: 2px;&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .title {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    float: left;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listsearch {&lt;br /&gt;
    background-color: #ddd;&lt;br /&gt;
    color: #333;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    padding: 3px;&lt;br /&gt;
    margin-top: 2px;&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
    width: 90%;&lt;br /&gt;
    height: 68%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolinktitle {&lt;br /&gt;
    height: 63%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolink {&lt;br /&gt;
    padding-left: 3px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default .contmenu {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected .contmenu {&lt;br /&gt;
    display: block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.html {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px solid transparent;&lt;br /&gt;
    margin: 0px 4px;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    max-width: 310px;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
    padding: 0px 4px;&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 28px;&lt;br /&gt;
    text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline {&lt;br /&gt;
    border: 1px solid transparent;&lt;br /&gt;
    width: 80%;&lt;br /&gt;
    margin: 1px 9%;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    font-size: 24px;&lt;br /&gt;
    height: 24px;&lt;br /&gt;
    margin: 3px;&lt;br /&gt;
    color: #2b2525;&lt;br /&gt;
    background-color: #eee;&lt;br /&gt;
    padding: 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .icon {&lt;br /&gt;
    float: right;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    margin: -2px 4%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    width: 92%;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    height: 26px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 20px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default {&lt;br /&gt;
    background: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected {&lt;br /&gt;
    background: rgba(180, 180, 180, 0.7);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listselected {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.site {&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    font-size: 27px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    color: rgb(238, 238, 238);&lt;br /&gt;
    margin: 0px;&lt;br /&gt;
    padding: 0px;&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    background-color: transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
small {&lt;br /&gt;
    font-size: 70%;&lt;br /&gt;
    color: gray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.buttons {&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    top: 80%;&lt;br /&gt;
    left: 50%;&lt;br /&gt;
    width: 47%;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    color: #cccccc;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
}&lt;br /&gt;
\#description {&lt;br /&gt;
    top: 0px;&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    font-size: 28px;&lt;br /&gt;
    left: 51%;&lt;br /&gt;
    width: 47.2%;&lt;br /&gt;
    word-break: break-word;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Пример своего стиля (пишите чистый css, он будет преобразован в одну строку)===&lt;br /&gt;
&lt;br /&gt;
===Если строка стилей очень большая, их лучше вынести в отдельный css файл===&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
====#content - стиль страницы (без description)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
====#rightHalf- стиль description====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;#content {font-size:25px;}  #rightHalf{font-size:10 px;} &amp;quot;; // Установим размер шрифта сайта и описания&lt;br /&gt;
&lt;br /&gt;
====.selected - стиль при выделении элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .selected {  color: black; } &amp;quot;; // Делаем смену цвета выделенного элемента&lt;br /&gt;
&lt;br /&gt;
====.default - стиль невыделенного элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .default{  color: gray; } &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.contmenu - визуальная кнопка контекстного меню====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .contmenu{ display:none; } &amp;quot;;  // Скрываем кнопку контекстного меню&lt;br /&gt;
&lt;br /&gt;
====.label, .start, .list, .fulleditline, .hlink, .html - стили(верхний уровень) для разных типов элементов $_CH[&amp;quot;position&amp;quot;]  [https://wiki.forkbrowser.top/wiki/FXML#position_.D0.BF.D1.80.D0.B8_.D0.B7.D0.B0.D0.B4.D0.B0.D0.BD.D0.BD.D0.BE.D0.BC_.24_PL.5B.22typeList.22.5D.3D.22start.22.3B]====&lt;br /&gt;
Если не задан $_CH[&amp;quot;position&amp;quot;] элемента то по умолчанию элементы отображаются на странице списком и классом .list&lt;br /&gt;
&lt;br /&gt;
Если при этом задано отображение плиткой ($_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot; ) то по умолчанию элементы отображаются с классом .start&lt;br /&gt;
&lt;br /&gt;
====.labelselected, .startselected, .listselected, .fulleditlineselected, .hlinkselected, .htmlselected - стили(верхний уровень) для выделенных элементов====&lt;br /&gt;
&lt;br /&gt;
=====Установим цвет для выделенных элементов только .list=====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .listselected{color: red; }&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.labeldefault, .startdefault, .listdefault, .fulleditlinedefault, .hlinkdefault, .htmldefault - стили(верхний уровень) для невыделенных элементов====&lt;br /&gt;
&lt;br /&gt;
====.list - зададим свой вид списка====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list{color: red; }&amp;quot;; // Меняем цвет&lt;br /&gt;
&lt;br /&gt;
====.title .icon .rating .numb вложенные в верхний уровень стили заголовка, иконки, рейтинга(для .start), порядкового номера(для .list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .title{color: red; }&amp;quot;; // Меняем цвет заголовков&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .numb { display:none; } &amp;quot;; // Скрываем отображение номера&lt;br /&gt;
&lt;br /&gt;
====Комбинация классов, зададим стиль иконок только для списка (.list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list .icon{background-color:white; margin:2px;}&amp;quot;; // Зададим белую рамку фона для иконок&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cacheinfo&amp;quot;]=&amp;quot;nocache&amp;quot;;  // Не кешировать страницу (при возврате назад страница будет грузиться заново по адресу)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;setcookie&amp;quot;][&amp;quot;name1&amp;quot;]=&amp;quot;value1&amp;quot;; // Аналог cookie вебсайтов. Запомнит для последующих запросов страниц с этого же домена в переменной $_GET[&amp;quot;cookie&amp;quot;][&amp;quot;name1&amp;quot;] значение value1&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;info&amp;quot;]=&amp;quot;Вам уведомление&amp;quot;; // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;confirm&amp;quot;]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Открыть вложенный CHannel?&amp;quot;,&amp;quot;channel&amp;quot;=&amp;gt;[&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://..&amp;quot;]];&lt;br /&gt;
&lt;br /&gt;
===cmd тег (как глобальный так и в playlist_url) - допустимые команды===&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в глобальном теге====&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;historyback(1);&amp;quot;  // Вернуться назад на 1 страницу&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Вам уведомление);&amp;quot;  // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;settitle(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый title&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;setdescription(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый description&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;reload(2);&amp;quot;  // Перезагрузить страницу через 2секунды&lt;br /&gt;
&lt;br /&gt;
В конец cmd к командам выше можно добавить &#039;&#039;&#039;stop();&#039;&#039;&#039; чтобы выполнить команду выше и остановить загрузку новой страницы &lt;br /&gt;
&lt;br /&gt;
например $_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Доступ к этой странице Вам запрещен);stop();&amp;quot; выведет уведомление но оставить пользователя на предыдущей странице.&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в $_CH[&amp;quot;playlist_url&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;cmd:&amp;lt;Команда из списка допустимых&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Например $_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;reload();&amp;quot;; перезагрузит страницу при нажатии&lt;br /&gt;
&lt;br /&gt;
==Channel теги==&lt;br /&gt;
&lt;br /&gt;
===title===&lt;br /&gt;
Заголовок&lt;br /&gt;
&lt;br /&gt;
===playlist_url или stream_url===&lt;br /&gt;
Адрес страницы или адрес видеопотока (непустым может быть только один из этих тегов)&lt;br /&gt;
&lt;br /&gt;
===logo_30x30===&lt;br /&gt;
Адрес иконки&lt;br /&gt;
&lt;br /&gt;
===confirm - диалоговое окно с действиями при нажатии на элемент===&lt;br /&gt;
Пример подтверждения выхода с аккаунта&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Выйти&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;confirm&amp;quot;,&amp;quot;confirm&amp;quot;=&amp;gt;[&amp;quot;http://host/?do&amp;lt;nowiki&amp;gt;=exit&amp;quot;],&amp;quot;description&amp;quot;=&amp;gt;&amp;quot;Выйти с аккаунта?&amp;quot;];&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===menu - контекстное меню элемента===&lt;br /&gt;
$menu=[];&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню1&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню2&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;menu&amp;quot;]=$menu;&lt;br /&gt;
&lt;br /&gt;
===position при заданном $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;===&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;&amp;quot;; // - Плитка как в Стартовом меню размером 128х101px)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // - Пример элемента со своим дизайном в $_CH[&amp;quot;template&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;br&amp;quot;]=0; // Не переносить навигацию на новую строку&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание вида&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&amp;quot;width:242px;overflow:hidden;margin:4px;text-align:center;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;width:242px;height:171px;padding:2px 2px 0px 2px;&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;small&amp;gt;$description&amp;lt;/small&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
Элементы будут выстраиваться в ряд и навигация по ним будет предполагать что они в одном ряду&lt;br /&gt;
&lt;br /&gt;
=====$_CH[&amp;quot;br&amp;quot;]=====&lt;br /&gt;
В месте где навигация должна перейти на новую строку задайте $_CH[&amp;quot;br&amp;quot;]=1; При этом в before будет добавлено значение &amp;lt;nowiki&amp;gt;&amp;lt;br clear=both&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;fulleditline&amp;quot;; //- Поле ввода текста шириной почти на всю страницу====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;hlist&amp;quot;; // - горизонтальная ссылка (может быть несколько на одном горизонтальном уровне)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;list&amp;quot;; // -обычный вид списка шириной в половину экрана и с description справа====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;label&amp;quot;; // -невысокая строка на всю ширину экрана====&lt;br /&gt;
&lt;br /&gt;
===location===&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=1; // Переход c заменой текущей ссылки окна на новую (при перезапуске форкплеера будет открываться уже с этой новой ссылки)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=3; // Переход с отображением в текущем окне (при перезапуске форкплеера будет открываться старая ссылка и опять переадресовываться, необходимо если например используются устаревающие сессии)&lt;br /&gt;
&lt;br /&gt;
===after и before - свой html код после и перед элементом списка===&lt;br /&gt;
$_CH[&amp;quot;before&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст перед элементом&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;after&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст после элемента&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===SetTimeInterval - отправка событий клиентом через интервал и вывод сообщений===&lt;br /&gt;
$_CH[&amp;quot;SetTimeInterval&amp;quot;]=[&amp;quot;time&amp;quot;=&amp;gt;1,&amp;quot;onmenu&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onmenu&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;onplay&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onplay&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;time&#039;&#039;&#039; - интервал между отправкой событий в минутах&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onmenu -&#039;&#039;&#039; ссылка для отправки событий если пользователь находится в списке&lt;br /&gt;
&lt;br /&gt;
в ответ по ссылке onmenu &amp;lt;nowiki&amp;gt;http://193.30.240.2/try/ajax/send_status_log.php?action=onmenu&amp;lt;/nowiki&amp;gt; можно давать json &lt;br /&gt;
 {&amp;quot;message&amp;quot;:&amp;quot;Hello user&amp;quot;} &lt;br /&gt;
Это уведомление будет выводится вверху форкплеера&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onplay-&#039;&#039;&#039; ссылка для отправки событий если пользователь смотрит видео&lt;br /&gt;
&lt;br /&gt;
Можно использовать один или два сразу тега onmenu и onplay&lt;br /&gt;
&lt;br /&gt;
===parser - тег загрузки другой страницы перед переходом по playlist_url или stream_url===&lt;br /&gt;
Пример в XML&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
Пример в JSON FXML&lt;br /&gt;
 $_CH[&amp;quot;parser&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|&amp;lt;/nowiki&amp;gt;;&amp;quot;;&lt;br /&gt;
результат отдастся то что между js= и ; &lt;br /&gt;
&lt;br /&gt;
Регулярное выражение (по маркеру .*? )&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|&amp;lt;script&amp;gt;.*?js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
или&lt;br /&gt;
 &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|.*?js]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
преобразуется в RegExp(&amp;quot;&amp;lt;script&amp;gt;.*?js=(.*?);&amp;quot;,&amp;quot;i&amp;quot;) - результат отдастся тот что в () &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&amp;lt;title&amp;gt;Test &amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== #POST в playlist_url означает что все что после него будет передавать методом POST====&lt;br /&gt;
&lt;br /&gt;
В примере выше на адрес http://parser.co/ отправятся POST данные html=md5hash, где md5hash заменятся на полученное от parser&lt;br /&gt;
&lt;br /&gt;
====Допустимо в parser использовать curl запросы (доступны на андроид, частично если форк установлен в память ТВ, или через ремотефорк)====&lt;br /&gt;
&lt;br /&gt;
====Можно перечислить порядок методов запроса парсер, например &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
Сначала будет попытка запроса через remotefork (если включен), потом через андроид класс если Fork запущен на андроиде, потом прямой XHR запрос с попыткой установить заголовки, потом прямой XHR запрос без заголовков&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&lt;br /&gt;
  &amp;lt;title&amp;gt;Test curl and method&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;parser&amp;gt;&amp;lt;![CDATA[curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7&amp;quot; -H &amp;quot;Accept-Encoding: gzip, deflate&amp;quot; -H &amp;quot;Accept-Language: ru-UA,ru;q=0.9,uk-UA;q=0.8,uk;q=0.7,ru-RU;q=0.6,en-US;q=0.5,en;q=0.4&amp;quot; -H &amp;quot;Cache-Control: max-age=0&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;]]&amp;gt;&lt;br /&gt;
  &amp;lt;/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Или в JSON&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;channels&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;title&amp;quot;: &amp;quot;Test curl and method&amp;quot;,&lt;br /&gt;
      &amp;quot;cors&amp;quot;: &amp;quot;rf|android|direct|directnoheader&amp;quot;,&lt;br /&gt;
      &amp;quot;playlist_url&amp;quot;: &amp;quot;http://parser.co/#POSThtml=md5hash&amp;quot;,&lt;br /&gt;
      &amp;quot;parser&amp;quot;: &#039;curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7&amp;quot; -H &amp;quot;Accept-Encoding: gzip, deflate&amp;quot; -H &amp;quot;Accept-Language: ru-UA,ru;q=0.9,uk-UA;q=0.8,uk;q=0.7,ru-RU;q=0.6,en-US;q=0.5,en;q=0.4&amp;quot; -H &amp;quot;Cache-Control: max-age=0&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;&#039;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Результат будет в $_POST[&#039;html&#039;]&lt;br /&gt;
&lt;br /&gt;
Результат будет аналогично md5hash в $_GET[&#039;page&#039;]&lt;br /&gt;
&lt;br /&gt;
====Методом POST для видеоссылок ( stream_url )====&lt;br /&gt;
 &amp;lt;channel&amp;gt; &lt;br /&gt;
  &amp;lt;title&amp;gt;stream post&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;stream_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://test.ru/index.php#POSTs=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/stream_url&amp;gt;&lt;br /&gt;
  &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[https://yadi.sk/d/0BpgziSQ0VWiFg]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Будет идти отправка POST на &amp;lt;nowiki&amp;gt;http://test.ru/index.php#POSTs=md5hash&amp;lt;/nowiki&amp;gt; в $_POST[&amp;quot;s&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Ответ страницы попадет в проигрыватель в виде ссылки.&lt;br /&gt;
&lt;br /&gt;
Тоесть &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://test.ru/index.php&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; должен дать текст ссылки на медиафайл вида &amp;lt;nowiki&amp;gt;http://.../myvideo.mp4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Скачивание сторонней страницы по необходимости, страница &amp;lt;nowiki&amp;gt;http://parser.co/&amp;lt;/nowiki&amp;gt; может дать json ответ====&lt;br /&gt;
 {&amp;quot;parse&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8&amp;amp;gl=US&amp;amp;hl=en&amp;amp;has_verified=1&amp;amp;bpctr=9999999999&amp;lt;/nowiki&amp;gt;&amp;quot;}&lt;br /&gt;
Скачанная страница шлется в параметре  $_POST[&#039;remoteparse&#039;]&lt;br /&gt;
&lt;br /&gt;
==Построение произвольного положения элементов на странице (c &amp;quot;br&amp;quot; вместо &amp;quot;coordiantion&amp;quot;)==&lt;br /&gt;
&lt;br /&gt;
===Задаем странице вид плиткой (start)===&lt;br /&gt;
 $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Прописываем свои стили===&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;&lt;br /&gt;
&lt;br /&gt;
.myStyle1{&lt;br /&gt;
&lt;br /&gt;
width:242px;&lt;br /&gt;
&lt;br /&gt;
overflow:hidden;&lt;br /&gt;
&lt;br /&gt;
margin:4px;&lt;br /&gt;
&lt;br /&gt;
text-align:center;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.myStyle2{&lt;br /&gt;
width:242px;&lt;br /&gt;
height:171px;&lt;br /&gt;
padding:2px 2px 0px 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Задаем шаблон (template) каждому элементу списка===&lt;br /&gt;
&amp;lt;code&amp;gt;$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // Задает возможность использовать template&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;; // Заголовок - подставляет в шаблоне вместо $title&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;; // Иконка $logo_30x30&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание, если нужно&amp;quot;; // Описание- подставляет в шаблоне вместо $description&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;myStyle1&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;myStyle2&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Перенос на новую строке при html дизайне $_CH[&amp;quot;br&amp;quot;]=1;===&lt;br /&gt;
Для правильной навигации по странице нужно знать когда у вас там новая строка. Для этого в элементе с которого нужно чтоб начиналась новая строка присваиваем &lt;br /&gt;
 $_CH[&amp;quot;br&amp;quot;]=1;// Этот элемент разместится уже на новой строке&lt;br /&gt;
&lt;br /&gt;
==Горизонтальная прокрутка==&lt;br /&gt;
Задаем nowrap только для первого (обзначается br=1) элемента блока горизонтальной прокрутки&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;nowrap&amp;quot;=1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Первый элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Второй элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Третий элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Последний элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Новый элемент с новой строки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==Вывод результирующей страницы (на PHP)==&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Ваш код с наполнением массивов $_PL и $_CH информацией&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;channels&amp;quot;]=$_CH;&lt;br /&gt;
&lt;br /&gt;
print json_encode($_PL);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1911</id>
		<title>FXML</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1911"/>
		<updated>2024-10-12T23:36:39Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* #POST в playlist_url означает что все что после него будет передавать методом POST */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;FXML&#039;&#039;&#039; (Fork eXtensible Markup Language) - что такое==&lt;br /&gt;
Это язык разметки документов во Всемирной паутине.  Для навигации по таким страницам не требуется мышь или сенсорный экран. Язык &#039;&#039;&#039;FXML&#039;&#039;&#039; интерпретируется такими приложениями как ForkPlayer, OTT Player, OTT-play. Полученный в результате интерпретации форматированный текст отображается на экране телевизора. &lt;br /&gt;
&lt;br /&gt;
====Например, следующий код (должен быть валидным JSON):====&lt;br /&gt;
 {&amp;quot;title&amp;quot;:&amp;quot;COOLTV - портал нового поколения&amp;quot;,&amp;quot;background-image&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;typeList&amp;quot;:&amp;quot;start&amp;quot;,&amp;quot;icon&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool23.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;channels&amp;quot;:[{&amp;quot;title&amp;quot;:&amp;quot;Вход&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/profle22.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/auth&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Новости &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/rss-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/news&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Поиск &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-search-folder-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/search.php&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Кинозал &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/1icons8-film-reel-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;AceStream &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-wave-arrows-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/12&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Обменник &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-next-100.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/obmen/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Сервисы &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8s3-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/9&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;IPTV &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-hdtv-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/8&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Мультимедиа &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-documentary-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/7&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Чат &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-chat-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/guest&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;FAQ &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-info-popup-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/faq/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Копилка&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-bad-piggies-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/copilka&amp;lt;/nowiki&amp;gt;&amp;quot;}]}&lt;br /&gt;
даст такой результат (в ForkPlayer):&lt;br /&gt;
[[Файл:Cooltv.png|мини|600x600пкс|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Все допустимые команды можно посмотреть в исходном коде страниц &lt;br /&gt;
&lt;br /&gt;
https://github.com/vengo634/kino.pub_forkplayerPHP/blob/master/index.php&lt;br /&gt;
&lt;br /&gt;
====Смотреть Исходный код любой страницы можно непосредственно в ForkPlayer====&lt;br /&gt;
[[Файл:VmGe53a9.png|мини|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
и FXML CMS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==Новые теги и команды FXML==&lt;br /&gt;
Новые спецификации FXML добавляются в CHANGELOG, рекомендуем смотреть нужные команды также и там.&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;ping&amp;quot;][&amp;quot;link&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало 1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;; $_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;poster&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/CHANGELOG CHANGELOG]&lt;br /&gt;
&lt;br /&gt;
==Глобальные теги==&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;start&amp;quot;; // Плиточный + другой(с использованием $_CH[&amp;quot;position&amp;quot;] ) виды страницы&lt;br /&gt;
&lt;br /&gt;
====Стили сайта по умолчанию====&lt;br /&gt;
По умолчанию для вашей страницы задаются такие стили (вы их можете изменить задав нужные в $_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:700px; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;Смотреть CSS стили по умолчанию&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button {&lt;br /&gt;
    background-color: #bbbbbb;&lt;br /&gt;
    display: block;&lt;br /&gt;
    border-style: solid;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:decrement {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: transparent transparent #555555;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:increment {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: #555555 transparent transparent transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar {&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-track {&lt;br /&gt;
    background: #ddd;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb {&lt;br /&gt;
    background: #888;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb:hover {&lt;br /&gt;
    background: #777;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    ;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    margin-left: 4px;&lt;br /&gt;
    margin-top: 1px;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .rating {&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    display: none;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    height: 23px;&lt;br /&gt;
    width: 28px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    padding-left: 5px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .icon {&lt;br /&gt;
    padding: 2px 2px 0px 2px;&lt;br /&gt;
    height: 76%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .name {&lt;br /&gt;
    font-size: 17px;&lt;br /&gt;
    line-height: 0.9;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    bottom: 0px;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    max-height: 50%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .title {&lt;br /&gt;
    background: rgba(0, 0, 0, 0.65);&lt;br /&gt;
    border-radius: 3px;&lt;br /&gt;
    width: auto;&lt;br /&gt;
    display: display: inline-block;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    padding: 1px 4px 4px 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .side_icon {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list {&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px 0px 0px 4px;&lt;br /&gt;
    cursor: default;&lt;br /&gt;
    margin: 2px 0px;&lt;br /&gt;
    width: 48.87708333333334%;&lt;br /&gt;
    height: 35px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .contmenu {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    float: right;&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .numb {&lt;br /&gt;
    float: left;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
    font-size: 60%;&lt;br /&gt;
    min-width: 38px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .icon {&lt;br /&gt;
    margin: 0px 2px;&lt;br /&gt;
    padding-right: 2px;&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .title {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    float: left;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listsearch {&lt;br /&gt;
    background-color: #ddd;&lt;br /&gt;
    color: #333;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    padding: 3px;&lt;br /&gt;
    margin-top: 2px;&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
    width: 90%;&lt;br /&gt;
    height: 68%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolinktitle {&lt;br /&gt;
    height: 63%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolink {&lt;br /&gt;
    padding-left: 3px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default .contmenu {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected .contmenu {&lt;br /&gt;
    display: block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.html {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px solid transparent;&lt;br /&gt;
    margin: 0px 4px;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    max-width: 310px;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
    padding: 0px 4px;&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 28px;&lt;br /&gt;
    text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline {&lt;br /&gt;
    border: 1px solid transparent;&lt;br /&gt;
    width: 80%;&lt;br /&gt;
    margin: 1px 9%;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    font-size: 24px;&lt;br /&gt;
    height: 24px;&lt;br /&gt;
    margin: 3px;&lt;br /&gt;
    color: #2b2525;&lt;br /&gt;
    background-color: #eee;&lt;br /&gt;
    padding: 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .icon {&lt;br /&gt;
    float: right;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    margin: -2px 4%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    width: 92%;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    height: 26px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 20px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default {&lt;br /&gt;
    background: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected {&lt;br /&gt;
    background: rgba(180, 180, 180, 0.7);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listselected {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.site {&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    font-size: 27px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    color: rgb(238, 238, 238);&lt;br /&gt;
    margin: 0px;&lt;br /&gt;
    padding: 0px;&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    background-color: transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
small {&lt;br /&gt;
    font-size: 70%;&lt;br /&gt;
    color: gray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.buttons {&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    top: 80%;&lt;br /&gt;
    left: 50%;&lt;br /&gt;
    width: 47%;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    color: #cccccc;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
}&lt;br /&gt;
\#description {&lt;br /&gt;
    top: 0px;&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    font-size: 28px;&lt;br /&gt;
    left: 51%;&lt;br /&gt;
    width: 47.2%;&lt;br /&gt;
    word-break: break-word;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Пример своего стиля (пишите чистый css, он будет преобразован в одну строку)===&lt;br /&gt;
&lt;br /&gt;
===Если строка стилей очень большая, их лучше вынести в отдельный css файл===&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
====#content - стиль страницы (без description)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
====#rightHalf- стиль description====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;#content {font-size:25px;}  #rightHalf{font-size:10 px;} &amp;quot;; // Установим размер шрифта сайта и описания&lt;br /&gt;
&lt;br /&gt;
====.selected - стиль при выделении элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .selected {  color: black; } &amp;quot;; // Делаем смену цвета выделенного элемента&lt;br /&gt;
&lt;br /&gt;
====.default - стиль невыделенного элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .default{  color: gray; } &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.contmenu - визуальная кнопка контекстного меню====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .contmenu{ display:none; } &amp;quot;;  // Скрываем кнопку контекстного меню&lt;br /&gt;
&lt;br /&gt;
====.label, .start, .list, .fulleditline, .hlink, .html - стили(верхний уровень) для разных типов элементов $_CH[&amp;quot;position&amp;quot;]  [https://wiki.forkbrowser.top/wiki/FXML#position_.D0.BF.D1.80.D0.B8_.D0.B7.D0.B0.D0.B4.D0.B0.D0.BD.D0.BD.D0.BE.D0.BC_.24_PL.5B.22typeList.22.5D.3D.22start.22.3B]====&lt;br /&gt;
Если не задан $_CH[&amp;quot;position&amp;quot;] элемента то по умолчанию элементы отображаются на странице списком и классом .list&lt;br /&gt;
&lt;br /&gt;
Если при этом задано отображение плиткой ($_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot; ) то по умолчанию элементы отображаются с классом .start&lt;br /&gt;
&lt;br /&gt;
====.labelselected, .startselected, .listselected, .fulleditlineselected, .hlinkselected, .htmlselected - стили(верхний уровень) для выделенных элементов====&lt;br /&gt;
&lt;br /&gt;
=====Установим цвет для выделенных элементов только .list=====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .listselected{color: red; }&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.labeldefault, .startdefault, .listdefault, .fulleditlinedefault, .hlinkdefault, .htmldefault - стили(верхний уровень) для невыделенных элементов====&lt;br /&gt;
&lt;br /&gt;
====.list - зададим свой вид списка====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list{color: red; }&amp;quot;; // Меняем цвет&lt;br /&gt;
&lt;br /&gt;
====.title .icon .rating .numb вложенные в верхний уровень стили заголовка, иконки, рейтинга(для .start), порядкового номера(для .list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .title{color: red; }&amp;quot;; // Меняем цвет заголовков&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .numb { display:none; } &amp;quot;; // Скрываем отображение номера&lt;br /&gt;
&lt;br /&gt;
====Комбинация классов, зададим стиль иконок только для списка (.list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list .icon{background-color:white; margin:2px;}&amp;quot;; // Зададим белую рамку фона для иконок&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cacheinfo&amp;quot;]=&amp;quot;nocache&amp;quot;;  // Не кешировать страницу (при возврате назад страница будет грузиться заново по адресу)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;setcookie&amp;quot;][&amp;quot;name1&amp;quot;]=&amp;quot;value1&amp;quot;; // Аналог cookie вебсайтов. Запомнит для последующих запросов страниц с этого же домена в переменной $_GET[&amp;quot;cookie&amp;quot;][&amp;quot;name1&amp;quot;] значение value1&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;info&amp;quot;]=&amp;quot;Вам уведомление&amp;quot;; // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;confirm&amp;quot;]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Открыть вложенный CHannel?&amp;quot;,&amp;quot;channel&amp;quot;=&amp;gt;[&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://..&amp;quot;]];&lt;br /&gt;
&lt;br /&gt;
===cmd тег (как глобальный так и в playlist_url) - допустимые команды===&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в глобальном теге====&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;historyback(1);&amp;quot;  // Вернуться назад на 1 страницу&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Вам уведомление);&amp;quot;  // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;settitle(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый title&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;setdescription(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый description&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;reload(2);&amp;quot;  // Перезагрузить страницу через 2секунды&lt;br /&gt;
&lt;br /&gt;
В конец cmd к командам выше можно добавить &#039;&#039;&#039;stop();&#039;&#039;&#039; чтобы выполнить команду выше и остановить загрузку новой страницы &lt;br /&gt;
&lt;br /&gt;
например $_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Доступ к этой странице Вам запрещен);stop();&amp;quot; выведет уведомление но оставить пользователя на предыдущей странице.&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в $_CH[&amp;quot;playlist_url&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;cmd:&amp;lt;Команда из списка допустимых&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Например $_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;reload();&amp;quot;; перезагрузит страницу при нажатии&lt;br /&gt;
&lt;br /&gt;
==Channel теги==&lt;br /&gt;
&lt;br /&gt;
===title===&lt;br /&gt;
Заголовок&lt;br /&gt;
&lt;br /&gt;
===playlist_url или stream_url===&lt;br /&gt;
Адрес страницы или адрес видеопотока (непустым может быть только один из этих тегов)&lt;br /&gt;
&lt;br /&gt;
===logo_30x30===&lt;br /&gt;
Адрес иконки&lt;br /&gt;
&lt;br /&gt;
===confirm - диалоговое окно с действиями при нажатии на элемент===&lt;br /&gt;
Пример подтверждения выхода с аккаунта&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Выйти&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;confirm&amp;quot;,&amp;quot;confirm&amp;quot;=&amp;gt;[&amp;quot;http://host/?do&amp;lt;nowiki&amp;gt;=exit&amp;quot;],&amp;quot;description&amp;quot;=&amp;gt;&amp;quot;Выйти с аккаунта?&amp;quot;];&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===menu - контекстное меню элемента===&lt;br /&gt;
$menu=[];&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню1&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню2&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;menu&amp;quot;]=$menu;&lt;br /&gt;
&lt;br /&gt;
===position при заданном $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;===&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;&amp;quot;; // - Плитка как в Стартовом меню размером 128х101px)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // - Пример элемента со своим дизайном в $_CH[&amp;quot;template&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;br&amp;quot;]=0; // Не переносить навигацию на новую строку&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание вида&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&amp;quot;width:242px;overflow:hidden;margin:4px;text-align:center;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;width:242px;height:171px;padding:2px 2px 0px 2px;&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;small&amp;gt;$description&amp;lt;/small&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
Элементы будут выстраиваться в ряд и навигация по ним будет предполагать что они в одном ряду&lt;br /&gt;
&lt;br /&gt;
=====$_CH[&amp;quot;br&amp;quot;]=====&lt;br /&gt;
В месте где навигация должна перейти на новую строку задайте $_CH[&amp;quot;br&amp;quot;]=1; При этом в before будет добавлено значение &amp;lt;nowiki&amp;gt;&amp;lt;br clear=both&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;fulleditline&amp;quot;; //- Поле ввода текста шириной почти на всю страницу====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;hlist&amp;quot;; // - горизонтальная ссылка (может быть несколько на одном горизонтальном уровне)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;list&amp;quot;; // -обычный вид списка шириной в половину экрана и с description справа====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;label&amp;quot;; // -невысокая строка на всю ширину экрана====&lt;br /&gt;
&lt;br /&gt;
===location===&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=1; // Переход c заменой текущей ссылки окна на новую (при перезапуске форкплеера будет открываться уже с этой новой ссылки)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=3; // Переход с отображением в текущем окне (при перезапуске форкплеера будет открываться старая ссылка и опять переадресовываться, необходимо если например используются устаревающие сессии)&lt;br /&gt;
&lt;br /&gt;
===after и before - свой html код после и перед элементом списка===&lt;br /&gt;
$_CH[&amp;quot;before&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст перед элементом&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;after&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст после элемента&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===SetTimeInterval - отправка событий клиентом через интервал и вывод сообщений===&lt;br /&gt;
$_CH[&amp;quot;SetTimeInterval&amp;quot;]=[&amp;quot;time&amp;quot;=&amp;gt;1,&amp;quot;onmenu&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onmenu&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;onplay&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onplay&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;time&#039;&#039;&#039; - интервал между отправкой событий в минутах&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onmenu -&#039;&#039;&#039; ссылка для отправки событий если пользователь находится в списке&lt;br /&gt;
&lt;br /&gt;
в ответ по ссылке onmenu &amp;lt;nowiki&amp;gt;http://193.30.240.2/try/ajax/send_status_log.php?action=onmenu&amp;lt;/nowiki&amp;gt; можно давать json &lt;br /&gt;
 {&amp;quot;message&amp;quot;:&amp;quot;Hello user&amp;quot;} &lt;br /&gt;
Это уведомление будет выводится вверху форкплеера&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onplay-&#039;&#039;&#039; ссылка для отправки событий если пользователь смотрит видео&lt;br /&gt;
&lt;br /&gt;
Можно использовать один или два сразу тега onmenu и onplay&lt;br /&gt;
&lt;br /&gt;
===parser - тег загрузки другой страницы перед переходом по playlist_url или stream_url===&lt;br /&gt;
Пример в XML&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
Пример в JSON FXML&lt;br /&gt;
 $_CH[&amp;quot;parser&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|&amp;lt;/nowiki&amp;gt;;&amp;quot;;&lt;br /&gt;
результат отдастся то что между js= и ; &lt;br /&gt;
&lt;br /&gt;
Регулярное выражение (по маркеру .*? )&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|&amp;lt;script&amp;gt;.*?js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
или&lt;br /&gt;
 &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|.*?js]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
преобразуется в RegExp(&amp;quot;&amp;lt;script&amp;gt;.*?js=(.*?);&amp;quot;,&amp;quot;i&amp;quot;) - результат отдастся тот что в () &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&amp;lt;title&amp;gt;Test &amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== #POST в playlist_url означает что все что после него будет передавать методом POST====&lt;br /&gt;
&lt;br /&gt;
В примере выше на адрес http://parser.co/ отправятся POST данные html=md5hash, где md5hash заменятся на полученное от parser&lt;br /&gt;
&lt;br /&gt;
====Допустимо в parser использовать curl запросы (доступны на андроид, частично если форк установлен в память ТВ, или через ремотефорк)====&lt;br /&gt;
&lt;br /&gt;
====Можно перечислить порядок методов запроса парсер, например &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
Сначала будет попытка запроса через remotefork (если включен), потом через андроид класс если Fork запущен на андроиде, потом прямой XHR запрос с попыткой установить заголовки, потом прямой XHR запрос без заголовков&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&lt;br /&gt;
  &amp;lt;title&amp;gt;Test curl and method&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;parser&amp;gt;&amp;lt;![CDATA[curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7&amp;quot; -H &amp;quot;Accept-Encoding: gzip, deflate&amp;quot; -H &amp;quot;Accept-Language: ru-UA,ru;q=0.9,uk-UA;q=0.8,uk;q=0.7,ru-RU;q=0.6,en-US;q=0.5,en;q=0.4&amp;quot; -H &amp;quot;Cache-Control: max-age=0&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;]]&amp;gt;&lt;br /&gt;
  &amp;lt;/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Или в JSON&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;channels&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;title&amp;quot;: &amp;quot;Test curl and method&amp;quot;,&lt;br /&gt;
      &amp;quot;cors&amp;quot;: &amp;quot;rf|android|direct|directnoheader&amp;quot;,&lt;br /&gt;
      &amp;quot;playlist_url&amp;quot;: &amp;quot;http://parser.co/#POSThtml=md5hash&amp;quot;,&lt;br /&gt;
      &amp;quot;parser&amp;quot;: &#039;curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7&amp;quot; -H &amp;quot;Accept-Encoding: gzip, deflate&amp;quot; -H &amp;quot;Accept-Language: ru-UA,ru;q=0.9,uk-UA;q=0.8,uk;q=0.7,ru-RU;q=0.6,en-US;q=0.5,en;q=0.4&amp;quot; -H &amp;quot;Cache-Control: max-age=0&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;&#039;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Результат будет в $_POST[&#039;html&#039;]&lt;br /&gt;
&lt;br /&gt;
Результат будет аналогично md5hash в $_GET[&#039;page&#039;]&lt;br /&gt;
&lt;br /&gt;
====Методом POST для видеоссылок ( stream_url )====&lt;br /&gt;
 &amp;lt;channel&amp;gt; &lt;br /&gt;
  &amp;lt;title&amp;gt;stream post&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;stream_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://test.ru/index.php#POSTs=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/stream_url&amp;gt;&lt;br /&gt;
  &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[https://yadi.sk/d/0BpgziSQ0VWiFg]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Будет идти отправка POST на &amp;lt;nowiki&amp;gt;http://test.ru/index.php#POSTs=md5hash&amp;lt;/nowiki&amp;gt; в $_POST[&amp;quot;s&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Ответ страницы попадет в проигрыватель в виде ссылки.&lt;br /&gt;
&lt;br /&gt;
Тоесть &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://test.ru/index.php?s=postmd5&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; должен дать текст ссылки на медиафайл вида &amp;lt;nowiki&amp;gt;http://.../myvideo.mp4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Скачивание сторонней страницы по необходимости, страница &amp;lt;nowiki&amp;gt;http://parser.co/&amp;lt;/nowiki&amp;gt; может дать json ответ====&lt;br /&gt;
 {&amp;quot;parse&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8&amp;amp;gl=US&amp;amp;hl=en&amp;amp;has_verified=1&amp;amp;bpctr=9999999999&amp;lt;/nowiki&amp;gt;&amp;quot;}&lt;br /&gt;
Скачанная страница шлется в параметре  $_POST[&#039;remoteparse&#039;]&lt;br /&gt;
&lt;br /&gt;
==Построение произвольного положения элементов на странице (c &amp;quot;br&amp;quot; вместо &amp;quot;coordiantion&amp;quot;)==&lt;br /&gt;
&lt;br /&gt;
===Задаем странице вид плиткой (start)===&lt;br /&gt;
 $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Прописываем свои стили===&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;&lt;br /&gt;
&lt;br /&gt;
.myStyle1{&lt;br /&gt;
&lt;br /&gt;
width:242px;&lt;br /&gt;
&lt;br /&gt;
overflow:hidden;&lt;br /&gt;
&lt;br /&gt;
margin:4px;&lt;br /&gt;
&lt;br /&gt;
text-align:center;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.myStyle2{&lt;br /&gt;
width:242px;&lt;br /&gt;
height:171px;&lt;br /&gt;
padding:2px 2px 0px 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Задаем шаблон (template) каждому элементу списка===&lt;br /&gt;
&amp;lt;code&amp;gt;$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // Задает возможность использовать template&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;; // Заголовок - подставляет в шаблоне вместо $title&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;; // Иконка $logo_30x30&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание, если нужно&amp;quot;; // Описание- подставляет в шаблоне вместо $description&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;myStyle1&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;myStyle2&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Перенос на новую строке при html дизайне $_CH[&amp;quot;br&amp;quot;]=1;===&lt;br /&gt;
Для правильной навигации по странице нужно знать когда у вас там новая строка. Для этого в элементе с которого нужно чтоб начиналась новая строка присваиваем &lt;br /&gt;
 $_CH[&amp;quot;br&amp;quot;]=1;// Этот элемент разместится уже на новой строке&lt;br /&gt;
&lt;br /&gt;
==Горизонтальная прокрутка==&lt;br /&gt;
Задаем nowrap только для первого (обзначается br=1) элемента блока горизонтальной прокрутки&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;nowrap&amp;quot;=1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Первый элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Второй элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Третий элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Последний элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Новый элемент с новой строки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==Вывод результирующей страницы (на PHP)==&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Ваш код с наполнением массивов $_PL и $_CH информацией&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;channels&amp;quot;]=$_CH;&lt;br /&gt;
&lt;br /&gt;
print json_encode($_PL);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1910</id>
		<title>FXML</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1910"/>
		<updated>2024-10-12T23:35:53Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* Методом POST для видеоссылок ( stream_url ) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;FXML&#039;&#039;&#039; (Fork eXtensible Markup Language) - что такое==&lt;br /&gt;
Это язык разметки документов во Всемирной паутине.  Для навигации по таким страницам не требуется мышь или сенсорный экран. Язык &#039;&#039;&#039;FXML&#039;&#039;&#039; интерпретируется такими приложениями как ForkPlayer, OTT Player, OTT-play. Полученный в результате интерпретации форматированный текст отображается на экране телевизора. &lt;br /&gt;
&lt;br /&gt;
====Например, следующий код (должен быть валидным JSON):====&lt;br /&gt;
 {&amp;quot;title&amp;quot;:&amp;quot;COOLTV - портал нового поколения&amp;quot;,&amp;quot;background-image&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;typeList&amp;quot;:&amp;quot;start&amp;quot;,&amp;quot;icon&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool23.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;channels&amp;quot;:[{&amp;quot;title&amp;quot;:&amp;quot;Вход&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/profle22.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/auth&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Новости &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/rss-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/news&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Поиск &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-search-folder-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/search.php&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Кинозал &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/1icons8-film-reel-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;AceStream &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-wave-arrows-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/12&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Обменник &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-next-100.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/obmen/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Сервисы &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8s3-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/9&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;IPTV &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-hdtv-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/8&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Мультимедиа &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-documentary-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/7&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Чат &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-chat-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/guest&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;FAQ &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-info-popup-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/faq/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Копилка&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-bad-piggies-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/copilka&amp;lt;/nowiki&amp;gt;&amp;quot;}]}&lt;br /&gt;
даст такой результат (в ForkPlayer):&lt;br /&gt;
[[Файл:Cooltv.png|мини|600x600пкс|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Все допустимые команды можно посмотреть в исходном коде страниц &lt;br /&gt;
&lt;br /&gt;
https://github.com/vengo634/kino.pub_forkplayerPHP/blob/master/index.php&lt;br /&gt;
&lt;br /&gt;
====Смотреть Исходный код любой страницы можно непосредственно в ForkPlayer====&lt;br /&gt;
[[Файл:VmGe53a9.png|мини|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
и FXML CMS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==Новые теги и команды FXML==&lt;br /&gt;
Новые спецификации FXML добавляются в CHANGELOG, рекомендуем смотреть нужные команды также и там.&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;ping&amp;quot;][&amp;quot;link&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало 1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;; $_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;poster&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/CHANGELOG CHANGELOG]&lt;br /&gt;
&lt;br /&gt;
==Глобальные теги==&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;start&amp;quot;; // Плиточный + другой(с использованием $_CH[&amp;quot;position&amp;quot;] ) виды страницы&lt;br /&gt;
&lt;br /&gt;
====Стили сайта по умолчанию====&lt;br /&gt;
По умолчанию для вашей страницы задаются такие стили (вы их можете изменить задав нужные в $_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:700px; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;Смотреть CSS стили по умолчанию&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button {&lt;br /&gt;
    background-color: #bbbbbb;&lt;br /&gt;
    display: block;&lt;br /&gt;
    border-style: solid;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:decrement {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: transparent transparent #555555;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:increment {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: #555555 transparent transparent transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar {&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-track {&lt;br /&gt;
    background: #ddd;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb {&lt;br /&gt;
    background: #888;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb:hover {&lt;br /&gt;
    background: #777;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    ;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    margin-left: 4px;&lt;br /&gt;
    margin-top: 1px;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .rating {&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    display: none;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    height: 23px;&lt;br /&gt;
    width: 28px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    padding-left: 5px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .icon {&lt;br /&gt;
    padding: 2px 2px 0px 2px;&lt;br /&gt;
    height: 76%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .name {&lt;br /&gt;
    font-size: 17px;&lt;br /&gt;
    line-height: 0.9;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    bottom: 0px;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    max-height: 50%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .title {&lt;br /&gt;
    background: rgba(0, 0, 0, 0.65);&lt;br /&gt;
    border-radius: 3px;&lt;br /&gt;
    width: auto;&lt;br /&gt;
    display: display: inline-block;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    padding: 1px 4px 4px 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .side_icon {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list {&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px 0px 0px 4px;&lt;br /&gt;
    cursor: default;&lt;br /&gt;
    margin: 2px 0px;&lt;br /&gt;
    width: 48.87708333333334%;&lt;br /&gt;
    height: 35px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .contmenu {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    float: right;&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .numb {&lt;br /&gt;
    float: left;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
    font-size: 60%;&lt;br /&gt;
    min-width: 38px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .icon {&lt;br /&gt;
    margin: 0px 2px;&lt;br /&gt;
    padding-right: 2px;&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .title {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    float: left;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listsearch {&lt;br /&gt;
    background-color: #ddd;&lt;br /&gt;
    color: #333;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    padding: 3px;&lt;br /&gt;
    margin-top: 2px;&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
    width: 90%;&lt;br /&gt;
    height: 68%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolinktitle {&lt;br /&gt;
    height: 63%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolink {&lt;br /&gt;
    padding-left: 3px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default .contmenu {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected .contmenu {&lt;br /&gt;
    display: block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.html {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px solid transparent;&lt;br /&gt;
    margin: 0px 4px;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    max-width: 310px;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
    padding: 0px 4px;&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 28px;&lt;br /&gt;
    text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline {&lt;br /&gt;
    border: 1px solid transparent;&lt;br /&gt;
    width: 80%;&lt;br /&gt;
    margin: 1px 9%;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    font-size: 24px;&lt;br /&gt;
    height: 24px;&lt;br /&gt;
    margin: 3px;&lt;br /&gt;
    color: #2b2525;&lt;br /&gt;
    background-color: #eee;&lt;br /&gt;
    padding: 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .icon {&lt;br /&gt;
    float: right;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    margin: -2px 4%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    width: 92%;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    height: 26px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 20px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default {&lt;br /&gt;
    background: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected {&lt;br /&gt;
    background: rgba(180, 180, 180, 0.7);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listselected {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.site {&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    font-size: 27px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    color: rgb(238, 238, 238);&lt;br /&gt;
    margin: 0px;&lt;br /&gt;
    padding: 0px;&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    background-color: transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
small {&lt;br /&gt;
    font-size: 70%;&lt;br /&gt;
    color: gray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.buttons {&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    top: 80%;&lt;br /&gt;
    left: 50%;&lt;br /&gt;
    width: 47%;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    color: #cccccc;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
}&lt;br /&gt;
\#description {&lt;br /&gt;
    top: 0px;&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    font-size: 28px;&lt;br /&gt;
    left: 51%;&lt;br /&gt;
    width: 47.2%;&lt;br /&gt;
    word-break: break-word;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Пример своего стиля (пишите чистый css, он будет преобразован в одну строку)===&lt;br /&gt;
&lt;br /&gt;
===Если строка стилей очень большая, их лучше вынести в отдельный css файл===&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
====#content - стиль страницы (без description)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
====#rightHalf- стиль description====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;#content {font-size:25px;}  #rightHalf{font-size:10 px;} &amp;quot;; // Установим размер шрифта сайта и описания&lt;br /&gt;
&lt;br /&gt;
====.selected - стиль при выделении элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .selected {  color: black; } &amp;quot;; // Делаем смену цвета выделенного элемента&lt;br /&gt;
&lt;br /&gt;
====.default - стиль невыделенного элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .default{  color: gray; } &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.contmenu - визуальная кнопка контекстного меню====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .contmenu{ display:none; } &amp;quot;;  // Скрываем кнопку контекстного меню&lt;br /&gt;
&lt;br /&gt;
====.label, .start, .list, .fulleditline, .hlink, .html - стили(верхний уровень) для разных типов элементов $_CH[&amp;quot;position&amp;quot;]  [https://wiki.forkbrowser.top/wiki/FXML#position_.D0.BF.D1.80.D0.B8_.D0.B7.D0.B0.D0.B4.D0.B0.D0.BD.D0.BD.D0.BE.D0.BC_.24_PL.5B.22typeList.22.5D.3D.22start.22.3B]====&lt;br /&gt;
Если не задан $_CH[&amp;quot;position&amp;quot;] элемента то по умолчанию элементы отображаются на странице списком и классом .list&lt;br /&gt;
&lt;br /&gt;
Если при этом задано отображение плиткой ($_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot; ) то по умолчанию элементы отображаются с классом .start&lt;br /&gt;
&lt;br /&gt;
====.labelselected, .startselected, .listselected, .fulleditlineselected, .hlinkselected, .htmlselected - стили(верхний уровень) для выделенных элементов====&lt;br /&gt;
&lt;br /&gt;
=====Установим цвет для выделенных элементов только .list=====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .listselected{color: red; }&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.labeldefault, .startdefault, .listdefault, .fulleditlinedefault, .hlinkdefault, .htmldefault - стили(верхний уровень) для невыделенных элементов====&lt;br /&gt;
&lt;br /&gt;
====.list - зададим свой вид списка====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list{color: red; }&amp;quot;; // Меняем цвет&lt;br /&gt;
&lt;br /&gt;
====.title .icon .rating .numb вложенные в верхний уровень стили заголовка, иконки, рейтинга(для .start), порядкового номера(для .list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .title{color: red; }&amp;quot;; // Меняем цвет заголовков&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .numb { display:none; } &amp;quot;; // Скрываем отображение номера&lt;br /&gt;
&lt;br /&gt;
====Комбинация классов, зададим стиль иконок только для списка (.list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list .icon{background-color:white; margin:2px;}&amp;quot;; // Зададим белую рамку фона для иконок&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cacheinfo&amp;quot;]=&amp;quot;nocache&amp;quot;;  // Не кешировать страницу (при возврате назад страница будет грузиться заново по адресу)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;setcookie&amp;quot;][&amp;quot;name1&amp;quot;]=&amp;quot;value1&amp;quot;; // Аналог cookie вебсайтов. Запомнит для последующих запросов страниц с этого же домена в переменной $_GET[&amp;quot;cookie&amp;quot;][&amp;quot;name1&amp;quot;] значение value1&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;info&amp;quot;]=&amp;quot;Вам уведомление&amp;quot;; // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;confirm&amp;quot;]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Открыть вложенный CHannel?&amp;quot;,&amp;quot;channel&amp;quot;=&amp;gt;[&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://..&amp;quot;]];&lt;br /&gt;
&lt;br /&gt;
===cmd тег (как глобальный так и в playlist_url) - допустимые команды===&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в глобальном теге====&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;historyback(1);&amp;quot;  // Вернуться назад на 1 страницу&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Вам уведомление);&amp;quot;  // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;settitle(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый title&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;setdescription(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый description&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;reload(2);&amp;quot;  // Перезагрузить страницу через 2секунды&lt;br /&gt;
&lt;br /&gt;
В конец cmd к командам выше можно добавить &#039;&#039;&#039;stop();&#039;&#039;&#039; чтобы выполнить команду выше и остановить загрузку новой страницы &lt;br /&gt;
&lt;br /&gt;
например $_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Доступ к этой странице Вам запрещен);stop();&amp;quot; выведет уведомление но оставить пользователя на предыдущей странице.&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в $_CH[&amp;quot;playlist_url&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;cmd:&amp;lt;Команда из списка допустимых&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Например $_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;reload();&amp;quot;; перезагрузит страницу при нажатии&lt;br /&gt;
&lt;br /&gt;
==Channel теги==&lt;br /&gt;
&lt;br /&gt;
===title===&lt;br /&gt;
Заголовок&lt;br /&gt;
&lt;br /&gt;
===playlist_url или stream_url===&lt;br /&gt;
Адрес страницы или адрес видеопотока (непустым может быть только один из этих тегов)&lt;br /&gt;
&lt;br /&gt;
===logo_30x30===&lt;br /&gt;
Адрес иконки&lt;br /&gt;
&lt;br /&gt;
===confirm - диалоговое окно с действиями при нажатии на элемент===&lt;br /&gt;
Пример подтверждения выхода с аккаунта&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Выйти&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;confirm&amp;quot;,&amp;quot;confirm&amp;quot;=&amp;gt;[&amp;quot;http://host/?do&amp;lt;nowiki&amp;gt;=exit&amp;quot;],&amp;quot;description&amp;quot;=&amp;gt;&amp;quot;Выйти с аккаунта?&amp;quot;];&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===menu - контекстное меню элемента===&lt;br /&gt;
$menu=[];&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню1&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню2&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;menu&amp;quot;]=$menu;&lt;br /&gt;
&lt;br /&gt;
===position при заданном $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;===&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;&amp;quot;; // - Плитка как в Стартовом меню размером 128х101px)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // - Пример элемента со своим дизайном в $_CH[&amp;quot;template&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;br&amp;quot;]=0; // Не переносить навигацию на новую строку&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание вида&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&amp;quot;width:242px;overflow:hidden;margin:4px;text-align:center;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;width:242px;height:171px;padding:2px 2px 0px 2px;&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;small&amp;gt;$description&amp;lt;/small&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
Элементы будут выстраиваться в ряд и навигация по ним будет предполагать что они в одном ряду&lt;br /&gt;
&lt;br /&gt;
=====$_CH[&amp;quot;br&amp;quot;]=====&lt;br /&gt;
В месте где навигация должна перейти на новую строку задайте $_CH[&amp;quot;br&amp;quot;]=1; При этом в before будет добавлено значение &amp;lt;nowiki&amp;gt;&amp;lt;br clear=both&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;fulleditline&amp;quot;; //- Поле ввода текста шириной почти на всю страницу====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;hlist&amp;quot;; // - горизонтальная ссылка (может быть несколько на одном горизонтальном уровне)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;list&amp;quot;; // -обычный вид списка шириной в половину экрана и с description справа====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;label&amp;quot;; // -невысокая строка на всю ширину экрана====&lt;br /&gt;
&lt;br /&gt;
===location===&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=1; // Переход c заменой текущей ссылки окна на новую (при перезапуске форкплеера будет открываться уже с этой новой ссылки)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=3; // Переход с отображением в текущем окне (при перезапуске форкплеера будет открываться старая ссылка и опять переадресовываться, необходимо если например используются устаревающие сессии)&lt;br /&gt;
&lt;br /&gt;
===after и before - свой html код после и перед элементом списка===&lt;br /&gt;
$_CH[&amp;quot;before&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст перед элементом&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;after&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст после элемента&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===SetTimeInterval - отправка событий клиентом через интервал и вывод сообщений===&lt;br /&gt;
$_CH[&amp;quot;SetTimeInterval&amp;quot;]=[&amp;quot;time&amp;quot;=&amp;gt;1,&amp;quot;onmenu&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onmenu&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;onplay&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onplay&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;time&#039;&#039;&#039; - интервал между отправкой событий в минутах&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onmenu -&#039;&#039;&#039; ссылка для отправки событий если пользователь находится в списке&lt;br /&gt;
&lt;br /&gt;
в ответ по ссылке onmenu &amp;lt;nowiki&amp;gt;http://193.30.240.2/try/ajax/send_status_log.php?action=onmenu&amp;lt;/nowiki&amp;gt; можно давать json &lt;br /&gt;
 {&amp;quot;message&amp;quot;:&amp;quot;Hello user&amp;quot;} &lt;br /&gt;
Это уведомление будет выводится вверху форкплеера&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onplay-&#039;&#039;&#039; ссылка для отправки событий если пользователь смотрит видео&lt;br /&gt;
&lt;br /&gt;
Можно использовать один или два сразу тега onmenu и onplay&lt;br /&gt;
&lt;br /&gt;
===parser - тег загрузки другой страницы перед переходом по playlist_url или stream_url===&lt;br /&gt;
Пример в XML&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
Пример в JSON FXML&lt;br /&gt;
 $_CH[&amp;quot;parser&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|&amp;lt;/nowiki&amp;gt;;&amp;quot;;&lt;br /&gt;
результат отдастся то что между js= и ; &lt;br /&gt;
&lt;br /&gt;
Регулярное выражение (по маркеру .*? )&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|&amp;lt;script&amp;gt;.*?js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
или&lt;br /&gt;
 &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|.*?js]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
преобразуется в RegExp(&amp;quot;&amp;lt;script&amp;gt;.*?js=(.*?);&amp;quot;,&amp;quot;i&amp;quot;) - результат отдастся тот что в () &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&amp;lt;title&amp;gt;Test &amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== #POST в playlist_url означает что все что после него будет передавать методом POST===&lt;br /&gt;
&lt;br /&gt;
В примере выше на адрес http://parser.co/ отправятся POST данные html=md5hash, где md5hash заменятся на полученное от parser&lt;br /&gt;
&lt;br /&gt;
====Допустимо в parser использовать curl запросы (доступны на андроид, частично если форк установлен в память ТВ, или через ремотефорк)====&lt;br /&gt;
&lt;br /&gt;
====Можно перечислить порядок методов запроса парсер, например &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
Сначала будет попытка запроса через remotefork (если включен), потом через андроид класс если Fork запущен на андроиде, потом прямой XHR запрос с попыткой установить заголовки, потом прямой XHR запрос без заголовков&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&lt;br /&gt;
  &amp;lt;title&amp;gt;Test curl and method&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;parser&amp;gt;&amp;lt;![CDATA[curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7&amp;quot; -H &amp;quot;Accept-Encoding: gzip, deflate&amp;quot; -H &amp;quot;Accept-Language: ru-UA,ru;q=0.9,uk-UA;q=0.8,uk;q=0.7,ru-RU;q=0.6,en-US;q=0.5,en;q=0.4&amp;quot; -H &amp;quot;Cache-Control: max-age=0&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;]]&amp;gt;&lt;br /&gt;
  &amp;lt;/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Или в JSON&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;channels&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;title&amp;quot;: &amp;quot;Test curl and method&amp;quot;,&lt;br /&gt;
      &amp;quot;cors&amp;quot;: &amp;quot;rf|android|direct|directnoheader&amp;quot;,&lt;br /&gt;
      &amp;quot;playlist_url&amp;quot;: &amp;quot;http://parser.co/#POSThtml=md5hash&amp;quot;,&lt;br /&gt;
      &amp;quot;parser&amp;quot;: &#039;curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7&amp;quot; -H &amp;quot;Accept-Encoding: gzip, deflate&amp;quot; -H &amp;quot;Accept-Language: ru-UA,ru;q=0.9,uk-UA;q=0.8,uk;q=0.7,ru-RU;q=0.6,en-US;q=0.5,en;q=0.4&amp;quot; -H &amp;quot;Cache-Control: max-age=0&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;&#039;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Результат будет в $_POST[&#039;html&#039;]&lt;br /&gt;
&lt;br /&gt;
Результат будет аналогично md5hash в $_GET[&#039;page&#039;]&lt;br /&gt;
&lt;br /&gt;
====Методом POST для видеоссылок ( stream_url )====&lt;br /&gt;
 &amp;lt;channel&amp;gt; &lt;br /&gt;
  &amp;lt;title&amp;gt;stream post&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;stream_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://test.ru/index.php#POSTs=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/stream_url&amp;gt;&lt;br /&gt;
  &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[https://yadi.sk/d/0BpgziSQ0VWiFg]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Будет идти отправка POST на &amp;lt;nowiki&amp;gt;http://test.ru/index.php#POSTs=md5hash&amp;lt;/nowiki&amp;gt; в $_POST[&amp;quot;s&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Ответ страницы попадет в проигрыватель в виде ссылки.&lt;br /&gt;
&lt;br /&gt;
Тоесть &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://test.ru/index.php?s=postmd5&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; должен дать текст ссылки на медиафайл вида &amp;lt;nowiki&amp;gt;http://.../myvideo.mp4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Скачивание сторонней страницы по необходимости, страница &amp;lt;nowiki&amp;gt;http://parser.co/&amp;lt;/nowiki&amp;gt; может дать json ответ====&lt;br /&gt;
 {&amp;quot;parse&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8&amp;amp;gl=US&amp;amp;hl=en&amp;amp;has_verified=1&amp;amp;bpctr=9999999999&amp;lt;/nowiki&amp;gt;&amp;quot;}&lt;br /&gt;
Скачанная страница шлется в параметре  $_POST[&#039;remoteparse&#039;]&lt;br /&gt;
&lt;br /&gt;
==Построение произвольного положения элементов на странице (c &amp;quot;br&amp;quot; вместо &amp;quot;coordiantion&amp;quot;)==&lt;br /&gt;
&lt;br /&gt;
===Задаем странице вид плиткой (start)===&lt;br /&gt;
 $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Прописываем свои стили===&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;&lt;br /&gt;
&lt;br /&gt;
.myStyle1{&lt;br /&gt;
&lt;br /&gt;
width:242px;&lt;br /&gt;
&lt;br /&gt;
overflow:hidden;&lt;br /&gt;
&lt;br /&gt;
margin:4px;&lt;br /&gt;
&lt;br /&gt;
text-align:center;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.myStyle2{&lt;br /&gt;
width:242px;&lt;br /&gt;
height:171px;&lt;br /&gt;
padding:2px 2px 0px 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Задаем шаблон (template) каждому элементу списка===&lt;br /&gt;
&amp;lt;code&amp;gt;$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // Задает возможность использовать template&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;; // Заголовок - подставляет в шаблоне вместо $title&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;; // Иконка $logo_30x30&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание, если нужно&amp;quot;; // Описание- подставляет в шаблоне вместо $description&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;myStyle1&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;myStyle2&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Перенос на новую строке при html дизайне $_CH[&amp;quot;br&amp;quot;]=1;===&lt;br /&gt;
Для правильной навигации по странице нужно знать когда у вас там новая строка. Для этого в элементе с которого нужно чтоб начиналась новая строка присваиваем &lt;br /&gt;
 $_CH[&amp;quot;br&amp;quot;]=1;// Этот элемент разместится уже на новой строке&lt;br /&gt;
&lt;br /&gt;
==Горизонтальная прокрутка==&lt;br /&gt;
Задаем nowrap только для первого (обзначается br=1) элемента блока горизонтальной прокрутки&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;nowrap&amp;quot;=1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Первый элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Второй элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Третий элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Последний элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Новый элемент с новой строки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==Вывод результирующей страницы (на PHP)==&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Ваш код с наполнением массивов $_PL и $_CH информацией&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;channels&amp;quot;]=$_CH;&lt;br /&gt;
&lt;br /&gt;
print json_encode($_PL);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1909</id>
		<title>FXML</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1909"/>
		<updated>2024-10-12T23:33:57Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* parser - тег загрузки другой страницы перед переходом по playlist_url или stream_url */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;FXML&#039;&#039;&#039; (Fork eXtensible Markup Language) - что такое==&lt;br /&gt;
Это язык разметки документов во Всемирной паутине.  Для навигации по таким страницам не требуется мышь или сенсорный экран. Язык &#039;&#039;&#039;FXML&#039;&#039;&#039; интерпретируется такими приложениями как ForkPlayer, OTT Player, OTT-play. Полученный в результате интерпретации форматированный текст отображается на экране телевизора. &lt;br /&gt;
&lt;br /&gt;
====Например, следующий код (должен быть валидным JSON):====&lt;br /&gt;
 {&amp;quot;title&amp;quot;:&amp;quot;COOLTV - портал нового поколения&amp;quot;,&amp;quot;background-image&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;typeList&amp;quot;:&amp;quot;start&amp;quot;,&amp;quot;icon&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool23.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;channels&amp;quot;:[{&amp;quot;title&amp;quot;:&amp;quot;Вход&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/profle22.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/auth&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Новости &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/rss-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/news&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Поиск &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-search-folder-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/search.php&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Кинозал &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/1icons8-film-reel-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;AceStream &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-wave-arrows-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/12&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Обменник &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-next-100.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/obmen/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Сервисы &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8s3-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/9&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;IPTV &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-hdtv-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/8&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Мультимедиа &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-documentary-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/7&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Чат &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-chat-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/guest&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;FAQ &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-info-popup-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/faq/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Копилка&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-bad-piggies-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/copilka&amp;lt;/nowiki&amp;gt;&amp;quot;}]}&lt;br /&gt;
даст такой результат (в ForkPlayer):&lt;br /&gt;
[[Файл:Cooltv.png|мини|600x600пкс|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Все допустимые команды можно посмотреть в исходном коде страниц &lt;br /&gt;
&lt;br /&gt;
https://github.com/vengo634/kino.pub_forkplayerPHP/blob/master/index.php&lt;br /&gt;
&lt;br /&gt;
====Смотреть Исходный код любой страницы можно непосредственно в ForkPlayer====&lt;br /&gt;
[[Файл:VmGe53a9.png|мини|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
и FXML CMS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==Новые теги и команды FXML==&lt;br /&gt;
Новые спецификации FXML добавляются в CHANGELOG, рекомендуем смотреть нужные команды также и там.&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;ping&amp;quot;][&amp;quot;link&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало 1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;; $_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;poster&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/CHANGELOG CHANGELOG]&lt;br /&gt;
&lt;br /&gt;
==Глобальные теги==&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;start&amp;quot;; // Плиточный + другой(с использованием $_CH[&amp;quot;position&amp;quot;] ) виды страницы&lt;br /&gt;
&lt;br /&gt;
====Стили сайта по умолчанию====&lt;br /&gt;
По умолчанию для вашей страницы задаются такие стили (вы их можете изменить задав нужные в $_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:700px; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;Смотреть CSS стили по умолчанию&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button {&lt;br /&gt;
    background-color: #bbbbbb;&lt;br /&gt;
    display: block;&lt;br /&gt;
    border-style: solid;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:decrement {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: transparent transparent #555555;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:increment {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: #555555 transparent transparent transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar {&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-track {&lt;br /&gt;
    background: #ddd;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb {&lt;br /&gt;
    background: #888;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb:hover {&lt;br /&gt;
    background: #777;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    ;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    margin-left: 4px;&lt;br /&gt;
    margin-top: 1px;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .rating {&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    display: none;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    height: 23px;&lt;br /&gt;
    width: 28px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    padding-left: 5px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .icon {&lt;br /&gt;
    padding: 2px 2px 0px 2px;&lt;br /&gt;
    height: 76%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .name {&lt;br /&gt;
    font-size: 17px;&lt;br /&gt;
    line-height: 0.9;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    bottom: 0px;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    max-height: 50%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .title {&lt;br /&gt;
    background: rgba(0, 0, 0, 0.65);&lt;br /&gt;
    border-radius: 3px;&lt;br /&gt;
    width: auto;&lt;br /&gt;
    display: display: inline-block;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    padding: 1px 4px 4px 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .side_icon {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list {&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px 0px 0px 4px;&lt;br /&gt;
    cursor: default;&lt;br /&gt;
    margin: 2px 0px;&lt;br /&gt;
    width: 48.87708333333334%;&lt;br /&gt;
    height: 35px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .contmenu {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    float: right;&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .numb {&lt;br /&gt;
    float: left;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
    font-size: 60%;&lt;br /&gt;
    min-width: 38px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .icon {&lt;br /&gt;
    margin: 0px 2px;&lt;br /&gt;
    padding-right: 2px;&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .title {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    float: left;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listsearch {&lt;br /&gt;
    background-color: #ddd;&lt;br /&gt;
    color: #333;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    padding: 3px;&lt;br /&gt;
    margin-top: 2px;&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
    width: 90%;&lt;br /&gt;
    height: 68%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolinktitle {&lt;br /&gt;
    height: 63%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolink {&lt;br /&gt;
    padding-left: 3px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default .contmenu {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected .contmenu {&lt;br /&gt;
    display: block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.html {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px solid transparent;&lt;br /&gt;
    margin: 0px 4px;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    max-width: 310px;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
    padding: 0px 4px;&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 28px;&lt;br /&gt;
    text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline {&lt;br /&gt;
    border: 1px solid transparent;&lt;br /&gt;
    width: 80%;&lt;br /&gt;
    margin: 1px 9%;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    font-size: 24px;&lt;br /&gt;
    height: 24px;&lt;br /&gt;
    margin: 3px;&lt;br /&gt;
    color: #2b2525;&lt;br /&gt;
    background-color: #eee;&lt;br /&gt;
    padding: 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .icon {&lt;br /&gt;
    float: right;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    margin: -2px 4%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    width: 92%;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    height: 26px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 20px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default {&lt;br /&gt;
    background: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected {&lt;br /&gt;
    background: rgba(180, 180, 180, 0.7);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listselected {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.site {&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    font-size: 27px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    color: rgb(238, 238, 238);&lt;br /&gt;
    margin: 0px;&lt;br /&gt;
    padding: 0px;&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    background-color: transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
small {&lt;br /&gt;
    font-size: 70%;&lt;br /&gt;
    color: gray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.buttons {&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    top: 80%;&lt;br /&gt;
    left: 50%;&lt;br /&gt;
    width: 47%;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    color: #cccccc;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
}&lt;br /&gt;
\#description {&lt;br /&gt;
    top: 0px;&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    font-size: 28px;&lt;br /&gt;
    left: 51%;&lt;br /&gt;
    width: 47.2%;&lt;br /&gt;
    word-break: break-word;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Пример своего стиля (пишите чистый css, он будет преобразован в одну строку)===&lt;br /&gt;
&lt;br /&gt;
===Если строка стилей очень большая, их лучше вынести в отдельный css файл===&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
====#content - стиль страницы (без description)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
====#rightHalf- стиль description====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;#content {font-size:25px;}  #rightHalf{font-size:10 px;} &amp;quot;; // Установим размер шрифта сайта и описания&lt;br /&gt;
&lt;br /&gt;
====.selected - стиль при выделении элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .selected {  color: black; } &amp;quot;; // Делаем смену цвета выделенного элемента&lt;br /&gt;
&lt;br /&gt;
====.default - стиль невыделенного элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .default{  color: gray; } &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.contmenu - визуальная кнопка контекстного меню====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .contmenu{ display:none; } &amp;quot;;  // Скрываем кнопку контекстного меню&lt;br /&gt;
&lt;br /&gt;
====.label, .start, .list, .fulleditline, .hlink, .html - стили(верхний уровень) для разных типов элементов $_CH[&amp;quot;position&amp;quot;]  [https://wiki.forkbrowser.top/wiki/FXML#position_.D0.BF.D1.80.D0.B8_.D0.B7.D0.B0.D0.B4.D0.B0.D0.BD.D0.BD.D0.BE.D0.BC_.24_PL.5B.22typeList.22.5D.3D.22start.22.3B]====&lt;br /&gt;
Если не задан $_CH[&amp;quot;position&amp;quot;] элемента то по умолчанию элементы отображаются на странице списком и классом .list&lt;br /&gt;
&lt;br /&gt;
Если при этом задано отображение плиткой ($_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot; ) то по умолчанию элементы отображаются с классом .start&lt;br /&gt;
&lt;br /&gt;
====.labelselected, .startselected, .listselected, .fulleditlineselected, .hlinkselected, .htmlselected - стили(верхний уровень) для выделенных элементов====&lt;br /&gt;
&lt;br /&gt;
=====Установим цвет для выделенных элементов только .list=====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .listselected{color: red; }&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.labeldefault, .startdefault, .listdefault, .fulleditlinedefault, .hlinkdefault, .htmldefault - стили(верхний уровень) для невыделенных элементов====&lt;br /&gt;
&lt;br /&gt;
====.list - зададим свой вид списка====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list{color: red; }&amp;quot;; // Меняем цвет&lt;br /&gt;
&lt;br /&gt;
====.title .icon .rating .numb вложенные в верхний уровень стили заголовка, иконки, рейтинга(для .start), порядкового номера(для .list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .title{color: red; }&amp;quot;; // Меняем цвет заголовков&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .numb { display:none; } &amp;quot;; // Скрываем отображение номера&lt;br /&gt;
&lt;br /&gt;
====Комбинация классов, зададим стиль иконок только для списка (.list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list .icon{background-color:white; margin:2px;}&amp;quot;; // Зададим белую рамку фона для иконок&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cacheinfo&amp;quot;]=&amp;quot;nocache&amp;quot;;  // Не кешировать страницу (при возврате назад страница будет грузиться заново по адресу)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;setcookie&amp;quot;][&amp;quot;name1&amp;quot;]=&amp;quot;value1&amp;quot;; // Аналог cookie вебсайтов. Запомнит для последующих запросов страниц с этого же домена в переменной $_GET[&amp;quot;cookie&amp;quot;][&amp;quot;name1&amp;quot;] значение value1&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;info&amp;quot;]=&amp;quot;Вам уведомление&amp;quot;; // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;confirm&amp;quot;]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Открыть вложенный CHannel?&amp;quot;,&amp;quot;channel&amp;quot;=&amp;gt;[&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://..&amp;quot;]];&lt;br /&gt;
&lt;br /&gt;
===cmd тег (как глобальный так и в playlist_url) - допустимые команды===&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в глобальном теге====&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;historyback(1);&amp;quot;  // Вернуться назад на 1 страницу&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Вам уведомление);&amp;quot;  // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;settitle(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый title&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;setdescription(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый description&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;reload(2);&amp;quot;  // Перезагрузить страницу через 2секунды&lt;br /&gt;
&lt;br /&gt;
В конец cmd к командам выше можно добавить &#039;&#039;&#039;stop();&#039;&#039;&#039; чтобы выполнить команду выше и остановить загрузку новой страницы &lt;br /&gt;
&lt;br /&gt;
например $_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Доступ к этой странице Вам запрещен);stop();&amp;quot; выведет уведомление но оставить пользователя на предыдущей странице.&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в $_CH[&amp;quot;playlist_url&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;cmd:&amp;lt;Команда из списка допустимых&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Например $_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;reload();&amp;quot;; перезагрузит страницу при нажатии&lt;br /&gt;
&lt;br /&gt;
==Channel теги==&lt;br /&gt;
&lt;br /&gt;
===title===&lt;br /&gt;
Заголовок&lt;br /&gt;
&lt;br /&gt;
===playlist_url или stream_url===&lt;br /&gt;
Адрес страницы или адрес видеопотока (непустым может быть только один из этих тегов)&lt;br /&gt;
&lt;br /&gt;
===logo_30x30===&lt;br /&gt;
Адрес иконки&lt;br /&gt;
&lt;br /&gt;
===confirm - диалоговое окно с действиями при нажатии на элемент===&lt;br /&gt;
Пример подтверждения выхода с аккаунта&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Выйти&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;confirm&amp;quot;,&amp;quot;confirm&amp;quot;=&amp;gt;[&amp;quot;http://host/?do&amp;lt;nowiki&amp;gt;=exit&amp;quot;],&amp;quot;description&amp;quot;=&amp;gt;&amp;quot;Выйти с аккаунта?&amp;quot;];&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===menu - контекстное меню элемента===&lt;br /&gt;
$menu=[];&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню1&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню2&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;menu&amp;quot;]=$menu;&lt;br /&gt;
&lt;br /&gt;
===position при заданном $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;===&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;&amp;quot;; // - Плитка как в Стартовом меню размером 128х101px)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // - Пример элемента со своим дизайном в $_CH[&amp;quot;template&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;br&amp;quot;]=0; // Не переносить навигацию на новую строку&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание вида&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&amp;quot;width:242px;overflow:hidden;margin:4px;text-align:center;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;width:242px;height:171px;padding:2px 2px 0px 2px;&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;small&amp;gt;$description&amp;lt;/small&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
Элементы будут выстраиваться в ряд и навигация по ним будет предполагать что они в одном ряду&lt;br /&gt;
&lt;br /&gt;
=====$_CH[&amp;quot;br&amp;quot;]=====&lt;br /&gt;
В месте где навигация должна перейти на новую строку задайте $_CH[&amp;quot;br&amp;quot;]=1; При этом в before будет добавлено значение &amp;lt;nowiki&amp;gt;&amp;lt;br clear=both&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;fulleditline&amp;quot;; //- Поле ввода текста шириной почти на всю страницу====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;hlist&amp;quot;; // - горизонтальная ссылка (может быть несколько на одном горизонтальном уровне)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;list&amp;quot;; // -обычный вид списка шириной в половину экрана и с description справа====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;label&amp;quot;; // -невысокая строка на всю ширину экрана====&lt;br /&gt;
&lt;br /&gt;
===location===&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=1; // Переход c заменой текущей ссылки окна на новую (при перезапуске форкплеера будет открываться уже с этой новой ссылки)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=3; // Переход с отображением в текущем окне (при перезапуске форкплеера будет открываться старая ссылка и опять переадресовываться, необходимо если например используются устаревающие сессии)&lt;br /&gt;
&lt;br /&gt;
===after и before - свой html код после и перед элементом списка===&lt;br /&gt;
$_CH[&amp;quot;before&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст перед элементом&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;after&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст после элемента&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===SetTimeInterval - отправка событий клиентом через интервал и вывод сообщений===&lt;br /&gt;
$_CH[&amp;quot;SetTimeInterval&amp;quot;]=[&amp;quot;time&amp;quot;=&amp;gt;1,&amp;quot;onmenu&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onmenu&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;onplay&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onplay&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;time&#039;&#039;&#039; - интервал между отправкой событий в минутах&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onmenu -&#039;&#039;&#039; ссылка для отправки событий если пользователь находится в списке&lt;br /&gt;
&lt;br /&gt;
в ответ по ссылке onmenu &amp;lt;nowiki&amp;gt;http://193.30.240.2/try/ajax/send_status_log.php?action=onmenu&amp;lt;/nowiki&amp;gt; можно давать json &lt;br /&gt;
 {&amp;quot;message&amp;quot;:&amp;quot;Hello user&amp;quot;} &lt;br /&gt;
Это уведомление будет выводится вверху форкплеера&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onplay-&#039;&#039;&#039; ссылка для отправки событий если пользователь смотрит видео&lt;br /&gt;
&lt;br /&gt;
Можно использовать один или два сразу тега onmenu и onplay&lt;br /&gt;
&lt;br /&gt;
===parser - тег загрузки другой страницы перед переходом по playlist_url или stream_url===&lt;br /&gt;
Пример в XML&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
Пример в JSON FXML&lt;br /&gt;
 $_CH[&amp;quot;parser&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|&amp;lt;/nowiki&amp;gt;;&amp;quot;;&lt;br /&gt;
результат отдастся то что между js= и ; &lt;br /&gt;
&lt;br /&gt;
Регулярное выражение (по маркеру .*? )&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|&amp;lt;script&amp;gt;.*?js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
или&lt;br /&gt;
 &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|.*?js]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
преобразуется в RegExp(&amp;quot;&amp;lt;script&amp;gt;.*?js=(.*?);&amp;quot;,&amp;quot;i&amp;quot;) - результат отдастся тот что в () &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&amp;lt;title&amp;gt;Test &amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== #POST в playlist_url означает что все что после него будет передавать методом POST===&lt;br /&gt;
&lt;br /&gt;
В примере выше на адрес http://parser.co/ отправятся POST данные html=md5hash, где md5hash заменятся на полученное от parser&lt;br /&gt;
&lt;br /&gt;
====Допустимо в parser использовать curl запросы (доступны на андроид, частично если форк установлен в память ТВ, или через ремотефорк)====&lt;br /&gt;
&lt;br /&gt;
====Можно перечислить порядок методов запроса парсер, например &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
Сначала будет попытка запроса через remotefork (если включен), потом через андроид класс если Fork запущен на андроиде, потом прямой XHR запрос с попыткой установить заголовки, потом прямой XHR запрос без заголовков&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&lt;br /&gt;
  &amp;lt;title&amp;gt;Test curl and method&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;parser&amp;gt;&amp;lt;![CDATA[curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7&amp;quot; -H &amp;quot;Accept-Encoding: gzip, deflate&amp;quot; -H &amp;quot;Accept-Language: ru-UA,ru;q=0.9,uk-UA;q=0.8,uk;q=0.7,ru-RU;q=0.6,en-US;q=0.5,en;q=0.4&amp;quot; -H &amp;quot;Cache-Control: max-age=0&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;]]&amp;gt;&lt;br /&gt;
  &amp;lt;/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Или в JSON&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;channels&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;title&amp;quot;: &amp;quot;Test curl and method&amp;quot;,&lt;br /&gt;
      &amp;quot;cors&amp;quot;: &amp;quot;rf|android|direct|directnoheader&amp;quot;,&lt;br /&gt;
      &amp;quot;playlist_url&amp;quot;: &amp;quot;http://parser.co/#POSThtml=md5hash&amp;quot;,&lt;br /&gt;
      &amp;quot;parser&amp;quot;: &#039;curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7&amp;quot; -H &amp;quot;Accept-Encoding: gzip, deflate&amp;quot; -H &amp;quot;Accept-Language: ru-UA,ru;q=0.9,uk-UA;q=0.8,uk;q=0.7,ru-RU;q=0.6,en-US;q=0.5,en;q=0.4&amp;quot; -H &amp;quot;Cache-Control: max-age=0&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;&#039;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Результат будет в $_POST[&#039;html&#039;]&lt;br /&gt;
&lt;br /&gt;
Результат будет аналогично md5hash в $_GET[&#039;page&#039;]&lt;br /&gt;
&lt;br /&gt;
====Методом POST для видеоссылок ( stream_url )====&lt;br /&gt;
 &amp;lt;code&amp;gt;&amp;lt;channel&amp;gt;  &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;title&amp;gt;stream post&amp;lt;/title&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;stream_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://test.ru/index.php?s=postmd5]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/stream_url&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[https://yadi.sk/d/0BpgziSQ0VWiFg]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;/channel&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Будет идти отправка POST на &amp;lt;nowiki&amp;gt;http://test.ru/index.php?s=postmd5&amp;lt;/nowiki&amp;gt; в $_POST[&amp;quot;postmd5&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Ответ страницы попадет в проигрыватель в виде ссылки.&lt;br /&gt;
&lt;br /&gt;
Тоесть &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://test.ru/index.php?s=postmd5&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; должен дать текст ссылки на медиафайл вида &amp;lt;nowiki&amp;gt;http://.../myvideo.mp4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Скачивание сторонней страницы по необходимости, страница &amp;lt;nowiki&amp;gt;http://parser.co/&amp;lt;/nowiki&amp;gt; может дать json ответ====&lt;br /&gt;
 {&amp;quot;parse&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8&amp;amp;gl=US&amp;amp;hl=en&amp;amp;has_verified=1&amp;amp;bpctr=9999999999&amp;lt;/nowiki&amp;gt;&amp;quot;}&lt;br /&gt;
Скачанная страница шлется в параметре  $_POST[&#039;remoteparse&#039;]&lt;br /&gt;
&lt;br /&gt;
==Построение произвольного положения элементов на странице (c &amp;quot;br&amp;quot; вместо &amp;quot;coordiantion&amp;quot;)==&lt;br /&gt;
&lt;br /&gt;
===Задаем странице вид плиткой (start)===&lt;br /&gt;
 $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Прописываем свои стили===&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;&lt;br /&gt;
&lt;br /&gt;
.myStyle1{&lt;br /&gt;
&lt;br /&gt;
width:242px;&lt;br /&gt;
&lt;br /&gt;
overflow:hidden;&lt;br /&gt;
&lt;br /&gt;
margin:4px;&lt;br /&gt;
&lt;br /&gt;
text-align:center;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.myStyle2{&lt;br /&gt;
width:242px;&lt;br /&gt;
height:171px;&lt;br /&gt;
padding:2px 2px 0px 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Задаем шаблон (template) каждому элементу списка===&lt;br /&gt;
&amp;lt;code&amp;gt;$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // Задает возможность использовать template&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;; // Заголовок - подставляет в шаблоне вместо $title&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;; // Иконка $logo_30x30&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание, если нужно&amp;quot;; // Описание- подставляет в шаблоне вместо $description&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;myStyle1&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;myStyle2&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Перенос на новую строке при html дизайне $_CH[&amp;quot;br&amp;quot;]=1;===&lt;br /&gt;
Для правильной навигации по странице нужно знать когда у вас там новая строка. Для этого в элементе с которого нужно чтоб начиналась новая строка присваиваем &lt;br /&gt;
 $_CH[&amp;quot;br&amp;quot;]=1;// Этот элемент разместится уже на новой строке&lt;br /&gt;
&lt;br /&gt;
==Горизонтальная прокрутка==&lt;br /&gt;
Задаем nowrap только для первого (обзначается br=1) элемента блока горизонтальной прокрутки&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;nowrap&amp;quot;=1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Первый элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Второй элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Третий элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Последний элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Новый элемент с новой строки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==Вывод результирующей страницы (на PHP)==&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Ваш код с наполнением массивов $_PL и $_CH информацией&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;channels&amp;quot;]=$_CH;&lt;br /&gt;
&lt;br /&gt;
print json_encode($_PL);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
	<entry>
		<id>https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1908</id>
		<title>FXML</title>
		<link rel="alternate" type="text/html" href="https://wiki.forkbrowser.top/w/index.php?title=FXML&amp;diff=1908"/>
		<updated>2024-10-12T23:30:36Z</updated>

		<summary type="html">&lt;p&gt;Mentos: /* parser - тег загрузки другой страницы перед переходом по playlist_url или stream_url */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;FXML&#039;&#039;&#039; (Fork eXtensible Markup Language) - что такое==&lt;br /&gt;
Это язык разметки документов во Всемирной паутине.  Для навигации по таким страницам не требуется мышь или сенсорный экран. Язык &#039;&#039;&#039;FXML&#039;&#039;&#039; интерпретируется такими приложениями как ForkPlayer, OTT Player, OTT-play. Полученный в результате интерпретации форматированный текст отображается на экране телевизора. &lt;br /&gt;
&lt;br /&gt;
====Например, следующий код (должен быть валидным JSON):====&lt;br /&gt;
 {&amp;quot;title&amp;quot;:&amp;quot;COOLTV - портал нового поколения&amp;quot;,&amp;quot;background-image&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;typeList&amp;quot;:&amp;quot;start&amp;quot;,&amp;quot;icon&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/tvcool23.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;channels&amp;quot;:[{&amp;quot;title&amp;quot;:&amp;quot;Вход&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/profle22.jpg&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/auth&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Новости &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/rss-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/news&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Поиск &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-search-folder-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/search.php&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Кинозал &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/1icons8-film-reel-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;AceStream &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-wave-arrows-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/12&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Обменник &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-next-100.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/media/obmen/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Сервисы &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8s3-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/9&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;IPTV &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-hdtv-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/8&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Мультимедиа &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-documentary-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/vdt/7&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Чат &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-chat-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/guest&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;FAQ &amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-info-popup-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/faq/&amp;lt;/nowiki&amp;gt;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Копилка&amp;quot;,&amp;quot;logo_30x30&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/img/icons8-bad-piggies-96.png&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;playlist_url&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://cooltv.info/copilka&amp;lt;/nowiki&amp;gt;&amp;quot;}]}&lt;br /&gt;
даст такой результат (в ForkPlayer):&lt;br /&gt;
[[Файл:Cooltv.png|мини|600x600пкс|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Все допустимые команды можно посмотреть в исходном коде страниц &lt;br /&gt;
&lt;br /&gt;
https://github.com/vengo634/kino.pub_forkplayerPHP/blob/master/index.php&lt;br /&gt;
&lt;br /&gt;
====Смотреть Исходный код любой страницы можно непосредственно в ForkPlayer====&lt;br /&gt;
[[Файл:VmGe53a9.png|мини|без]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
и FXML CMS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==Новые теги и команды FXML==&lt;br /&gt;
Новые спецификации FXML добавляются в CHANGELOG, рекомендуем смотреть нужные команды также и там.&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;ping&amp;quot;][&amp;quot;link&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Хало 1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;label&amp;quot;]=&amp;quot;Хало&amp;quot;; $_CH[&amp;quot;information&amp;quot;]=&amp;quot;1 сезон 1 серия&amp;quot;; $_CH[&amp;quot;poster&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
[https://wiki.forkbrowser.top/wiki/CHANGELOG CHANGELOG]&lt;br /&gt;
&lt;br /&gt;
==Глобальные теги==&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;start&amp;quot;; // Плиточный + другой(с использованием $_CH[&amp;quot;position&amp;quot;] ) виды страницы&lt;br /&gt;
&lt;br /&gt;
====Стили сайта по умолчанию====&lt;br /&gt;
По умолчанию для вашей страницы задаются такие стили (вы их можете изменить задав нужные в $_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:700px; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;Смотреть CSS стили по умолчанию&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button {&lt;br /&gt;
    background-color: #bbbbbb;&lt;br /&gt;
    display: block;&lt;br /&gt;
    border-style: solid;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:decrement {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: transparent transparent #555555;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-button:single-button:vertical:increment {&lt;br /&gt;
    border-width: 5px;&lt;br /&gt;
    border-color: #555555 transparent transparent transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar {&lt;br /&gt;
    width: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-track {&lt;br /&gt;
    background: #ddd;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb {&lt;br /&gt;
    background: #888;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
::-webkit-scrollbar-thumb:hover {&lt;br /&gt;
    background: #777;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    ;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    margin-left: 4px;&lt;br /&gt;
    margin-top: 1px;&lt;br /&gt;
    height: 10px;&lt;br /&gt;
    width: 10%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .rating {&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    display: none;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    height: 23px;&lt;br /&gt;
    width: 28px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
    padding-left: 5px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .icon {&lt;br /&gt;
    padding: 2px 2px 0px 2px;&lt;br /&gt;
    height: 76%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .name {&lt;br /&gt;
    font-size: 17px;&lt;br /&gt;
    line-height: 0.9;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    bottom: 0px;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    max-height: 50%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .title {&lt;br /&gt;
    background: rgba(0, 0, 0, 0.65);&lt;br /&gt;
    border-radius: 3px;&lt;br /&gt;
    width: auto;&lt;br /&gt;
    display: display: inline-block;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    padding: 1px 4px 4px 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.start .side_icon {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list {&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px 0px 0px 4px;&lt;br /&gt;
    cursor: default;&lt;br /&gt;
    margin: 2px 0px;&lt;br /&gt;
    width: 48.87708333333334%;&lt;br /&gt;
    height: 35px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .contmenu {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    float: right;&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .numb {&lt;br /&gt;
    float: left;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
    font-size: 60%;&lt;br /&gt;
    min-width: 38px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .icon {&lt;br /&gt;
    margin: 0px 2px;&lt;br /&gt;
    padding-right: 2px;&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.list .title {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    float: left;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listsearch {&lt;br /&gt;
    background-color: #ddd;&lt;br /&gt;
    color: #333;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    padding: 3px;&lt;br /&gt;
    margin-top: 2px;&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
    width: 90%;&lt;br /&gt;
    height: 68%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolinktitle {&lt;br /&gt;
    height: 63%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infolink {&lt;br /&gt;
    padding-left: 3px;&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default .contmenu {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected .contmenu {&lt;br /&gt;
    display: block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.html {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    border: 0px solid transparent;&lt;br /&gt;
    margin: 0px 4px;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    max-width: 310px;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
    padding: 0px 4px;&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 28px;&lt;br /&gt;
    text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.hlink .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline {&lt;br /&gt;
    border: 1px solid transparent;&lt;br /&gt;
    width: 80%;&lt;br /&gt;
    margin: 1px 9%;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .title {&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    font-size: 24px;&lt;br /&gt;
    height: 24px;&lt;br /&gt;
    margin: 3px;&lt;br /&gt;
    color: #2b2525;&lt;br /&gt;
    background-color: #eee;&lt;br /&gt;
    padding: 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fulleditline .icon {&lt;br /&gt;
    float: right;&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    margin: -2px 4%;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
    width: 92%;&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    height: 26px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.label .icon {&lt;br /&gt;
    float: left;&lt;br /&gt;
    height: 20px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.default {&lt;br /&gt;
    background: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.selected {&lt;br /&gt;
    background: rgba(180, 180, 180, 0.7);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.listselected {&lt;br /&gt;
    color: black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.site {&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    font-size: 27px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
    color: rgb(238, 238, 238);&lt;br /&gt;
    margin: 0px;&lt;br /&gt;
    padding: 0px;&lt;br /&gt;
    height: 100%;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    background-color: transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
small {&lt;br /&gt;
    font-size: 70%;&lt;br /&gt;
    color: gray;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.buttons {&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    top: 80%;&lt;br /&gt;
    left: 50%;&lt;br /&gt;
    width: 47%;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    color: #cccccc;&lt;br /&gt;
    font-size: 80%;&lt;br /&gt;
}&lt;br /&gt;
\#description {&lt;br /&gt;
    top: 0px;&lt;br /&gt;
    position: fixed;&lt;br /&gt;
    margin: 2px;&lt;br /&gt;
    overflow-x: hidden;&lt;br /&gt;
    overflow-y: auto;&lt;br /&gt;
    display: none;&lt;br /&gt;
    padding: 0px 3px 0px 3px;&lt;br /&gt;
    font-size: 28px;&lt;br /&gt;
    left: 51%;&lt;br /&gt;
    width: 47.2%;&lt;br /&gt;
    word-break: break-word;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Пример своего стиля (пишите чистый css, он будет преобразован в одну строку)===&lt;br /&gt;
&lt;br /&gt;
===Если строка стилей очень большая, их лучше вынести в отдельный css файл===&lt;br /&gt;
$_PL[&amp;quot;link&amp;quot;][]=[&amp;quot;type&amp;quot;=&amp;gt;&amp;quot;text/css&amp;quot;,&amp;quot;href&amp;quot;=&amp;gt;&amp;quot;http://example.com/main.css&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
====#content - стиль страницы (без description)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
====#rightHalf- стиль description====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;#content {font-size:25px;}  #rightHalf{font-size:10 px;} &amp;quot;; // Установим размер шрифта сайта и описания&lt;br /&gt;
&lt;br /&gt;
====.selected - стиль при выделении элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .selected {  color: black; } &amp;quot;; // Делаем смену цвета выделенного элемента&lt;br /&gt;
&lt;br /&gt;
====.default - стиль невыделенного элемента====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .default{  color: gray; } &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.contmenu - визуальная кнопка контекстного меню====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .contmenu{ display:none; } &amp;quot;;  // Скрываем кнопку контекстного меню&lt;br /&gt;
&lt;br /&gt;
====.label, .start, .list, .fulleditline, .hlink, .html - стили(верхний уровень) для разных типов элементов $_CH[&amp;quot;position&amp;quot;]  [https://wiki.forkbrowser.top/wiki/FXML#position_.D0.BF.D1.80.D0.B8_.D0.B7.D0.B0.D0.B4.D0.B0.D0.BD.D0.BD.D0.BE.D0.BC_.24_PL.5B.22typeList.22.5D.3D.22start.22.3B]====&lt;br /&gt;
Если не задан $_CH[&amp;quot;position&amp;quot;] элемента то по умолчанию элементы отображаются на странице списком и классом .list&lt;br /&gt;
&lt;br /&gt;
Если при этом задано отображение плиткой ($_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot; ) то по умолчанию элементы отображаются с классом .start&lt;br /&gt;
&lt;br /&gt;
====.labelselected, .startselected, .listselected, .fulleditlineselected, .hlinkselected, .htmlselected - стили(верхний уровень) для выделенных элементов====&lt;br /&gt;
&lt;br /&gt;
=====Установим цвет для выделенных элементов только .list=====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .listselected{color: red; }&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
====.labeldefault, .startdefault, .listdefault, .fulleditlinedefault, .hlinkdefault, .htmldefault - стили(верхний уровень) для невыделенных элементов====&lt;br /&gt;
&lt;br /&gt;
====.list - зададим свой вид списка====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list{color: red; }&amp;quot;; // Меняем цвет&lt;br /&gt;
&lt;br /&gt;
====.title .icon .rating .numb вложенные в верхний уровень стили заголовка, иконки, рейтинга(для .start), порядкового номера(для .list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .title{color: red; }&amp;quot;; // Меняем цвет заголовков&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .numb { display:none; } &amp;quot;; // Скрываем отображение номера&lt;br /&gt;
&lt;br /&gt;
====Комбинация классов, зададим стиль иконок только для списка (.list)====&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot; .list .icon{background-color:white; margin:2px;}&amp;quot;; // Зададим белую рамку фона для иконок&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cacheinfo&amp;quot;]=&amp;quot;nocache&amp;quot;;  // Не кешировать страницу (при возврате назад страница будет грузиться заново по адресу)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;setcookie&amp;quot;][&amp;quot;name1&amp;quot;]=&amp;quot;value1&amp;quot;; // Аналог cookie вебсайтов. Запомнит для последующих запросов страниц с этого же домена в переменной $_GET[&amp;quot;cookie&amp;quot;][&amp;quot;name1&amp;quot;] значение value1&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;info&amp;quot;]=&amp;quot;Вам уведомление&amp;quot;; // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;confirm&amp;quot;]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Открыть вложенный CHannel?&amp;quot;,&amp;quot;channel&amp;quot;=&amp;gt;[&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http://..&amp;quot;]];&lt;br /&gt;
&lt;br /&gt;
===cmd тег (как глобальный так и в playlist_url) - допустимые команды===&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в глобальном теге====&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;historyback(1);&amp;quot;  // Вернуться назад на 1 страницу&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Вам уведомление);&amp;quot;  // Показывает alert &amp;quot;Вам уведомление&amp;quot; с кнопкой ОК (закрыть)&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;settitle(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый title&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;setdescription(2, Новый заголовок);&amp;quot;  // элементу 2 дать новый description&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;reload(2);&amp;quot;  // Перезагрузить страницу через 2секунды&lt;br /&gt;
&lt;br /&gt;
В конец cmd к командам выше можно добавить &#039;&#039;&#039;stop();&#039;&#039;&#039; чтобы выполнить команду выше и остановить загрузку новой страницы &lt;br /&gt;
&lt;br /&gt;
например $_PL[&amp;quot;cmd&amp;quot;]=&amp;quot;info(Доступ к этой странице Вам запрещен);stop();&amp;quot; выведет уведомление но оставить пользователя на предыдущей странице.&lt;br /&gt;
&lt;br /&gt;
====Примеры использования &#039;&#039;&#039;cmd&#039;&#039;&#039; в $_CH[&amp;quot;playlist_url&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;cmd:&amp;lt;Команда из списка допустимых&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Например $_CH[&amp;quot;playlist_url&amp;quot;]=&amp;quot;reload();&amp;quot;; перезагрузит страницу при нажатии&lt;br /&gt;
&lt;br /&gt;
==Channel теги==&lt;br /&gt;
&lt;br /&gt;
===title===&lt;br /&gt;
Заголовок&lt;br /&gt;
&lt;br /&gt;
===playlist_url или stream_url===&lt;br /&gt;
Адрес страницы или адрес видеопотока (непустым может быть только один из этих тегов)&lt;br /&gt;
&lt;br /&gt;
===logo_30x30===&lt;br /&gt;
Адрес иконки&lt;br /&gt;
&lt;br /&gt;
===confirm - диалоговое окно с действиями при нажатии на элемент===&lt;br /&gt;
Пример подтверждения выхода с аккаунта&lt;br /&gt;
&lt;br /&gt;
$_CH[]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Выйти&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;confirm&amp;quot;,&amp;quot;confirm&amp;quot;=&amp;gt;[&amp;quot;http://host/?do&amp;lt;nowiki&amp;gt;=exit&amp;quot;],&amp;quot;description&amp;quot;=&amp;gt;&amp;quot;Выйти с аккаунта?&amp;quot;];&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===menu - контекстное меню элемента===&lt;br /&gt;
$menu=[];&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню1&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$menu[0]=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Контекстное меню2&amp;quot;,&amp;quot;playlist_url&amp;quot;=&amp;gt;&amp;quot;http...&amp;quot;]; //  Аналог обычного $_CH&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;menu&amp;quot;]=$menu;&lt;br /&gt;
&lt;br /&gt;
===position при заданном $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;===&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;&amp;quot;; // - Плитка как в Стартовом меню размером 128х101px)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // - Пример элемента со своим дизайном в $_CH[&amp;quot;template&amp;quot;]====&lt;br /&gt;
$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;br&amp;quot;]=0; // Не переносить навигацию на новую строку&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание вида&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&amp;quot;width:242px;overflow:hidden;margin:4px;text-align:center;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;width:242px;height:171px;padding:2px 2px 0px 2px;&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;small&amp;gt;$description&amp;lt;/small&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
Элементы будут выстраиваться в ряд и навигация по ним будет предполагать что они в одном ряду&lt;br /&gt;
&lt;br /&gt;
=====$_CH[&amp;quot;br&amp;quot;]=====&lt;br /&gt;
В месте где навигация должна перейти на новую строку задайте $_CH[&amp;quot;br&amp;quot;]=1; При этом в before будет добавлено значение &amp;lt;nowiki&amp;gt;&amp;lt;br clear=both&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;fulleditline&amp;quot;; //- Поле ввода текста шириной почти на всю страницу====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;hlist&amp;quot;; // - горизонтальная ссылка (может быть несколько на одном горизонтальном уровне)====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;list&amp;quot;; // -обычный вид списка шириной в половину экрана и с description справа====&lt;br /&gt;
&lt;br /&gt;
====$_CH[&amp;quot;position&amp;quot;]=&amp;quot;label&amp;quot;; // -невысокая строка на всю ширину экрана====&lt;br /&gt;
&lt;br /&gt;
===location===&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=1; // Переход c заменой текущей ссылки окна на новую (при перезапуске форкплеера будет открываться уже с этой новой ссылки)&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;location&amp;quot;]=3; // Переход с отображением в текущем окне (при перезапуске форкплеера будет открываться старая ссылка и опять переадресовываться, необходимо если например используются устаревающие сессии)&lt;br /&gt;
&lt;br /&gt;
===after и before - свой html код после и перед элементом списка===&lt;br /&gt;
$_CH[&amp;quot;before&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст перед элементом&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;after&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;div style=&#039;color:red;&#039;&amp;gt;Текст после элемента&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===SetTimeInterval - отправка событий клиентом через интервал и вывод сообщений===&lt;br /&gt;
$_CH[&amp;quot;SetTimeInterval&amp;quot;]=[&amp;quot;time&amp;quot;=&amp;gt;1,&amp;quot;onmenu&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onmenu&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;onplay&amp;quot;=&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://19onplay&amp;lt;/nowiki&amp;gt;&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;time&#039;&#039;&#039; - интервал между отправкой событий в минутах&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onmenu -&#039;&#039;&#039; ссылка для отправки событий если пользователь находится в списке&lt;br /&gt;
&lt;br /&gt;
в ответ по ссылке onmenu &amp;lt;nowiki&amp;gt;http://193.30.240.2/try/ajax/send_status_log.php?action=onmenu&amp;lt;/nowiki&amp;gt; можно давать json &lt;br /&gt;
 {&amp;quot;message&amp;quot;:&amp;quot;Hello user&amp;quot;} &lt;br /&gt;
Это уведомление будет выводится вверху форкплеера&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;onplay-&#039;&#039;&#039; ссылка для отправки событий если пользователь смотрит видео&lt;br /&gt;
&lt;br /&gt;
Можно использовать один или два сразу тега onmenu и onplay&lt;br /&gt;
&lt;br /&gt;
===parser - тег загрузки другой страницы перед переходом по playlist_url или stream_url===&lt;br /&gt;
Пример в XML&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
Пример в JSON FXML&lt;br /&gt;
 $_CH[&amp;quot;parser&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|&amp;lt;/nowiki&amp;gt;;&amp;quot;;&lt;br /&gt;
результат отдастся то что между js= и ; &lt;br /&gt;
&lt;br /&gt;
Регулярное выражение (по маркеру .*? )&lt;br /&gt;
 &amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|&amp;lt;script&amp;gt;.*?js=|;]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&lt;br /&gt;
или&lt;br /&gt;
 &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8|js=|.*?js]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
преобразуется в RegExp(&amp;quot;&amp;lt;script&amp;gt;.*?js=(.*?);&amp;quot;,&amp;quot;i&amp;quot;) - результат отдастся тот что в () &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&amp;lt;title&amp;gt;Test &amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;​​​​​​​parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://www.youtube.com/watch?v=qZ3xj_UF4I8]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;​​​​​​​/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 #POST означает что все что после него будет передавать методом POST&lt;br /&gt;
&lt;br /&gt;
====Допустимо в parser использовать curl запросы (доступны на андроид, частично если форк установлен в память ТВ, или через ремотефорк)====&lt;br /&gt;
&lt;br /&gt;
====Можно перечислить порядок методов запроса парсер, например &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
Сначала будет попытка запроса через remotefork (если включен), потом через андроид класс если Fork запущен на андроиде, потом прямой XHR запрос с попыткой установить заголовки, потом прямой XHR запрос без заголовков&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;channel&amp;gt;&lt;br /&gt;
  &amp;lt;title&amp;gt;Test curl and method&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;cors&amp;gt;rf|android|direct|directnoheader&amp;lt;/cors&amp;gt;&lt;br /&gt;
  &amp;lt;playlist_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://parser.co/#POSThtml=md5hash]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/playlist_url&amp;gt;&lt;br /&gt;
  &amp;lt;parser&amp;gt;&amp;lt;![CDATA[curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7&amp;quot; -H &amp;quot;Accept-Encoding: gzip, deflate&amp;quot; -H &amp;quot;Accept-Language: ru-UA,ru;q=0.9,uk-UA;q=0.8,uk;q=0.7,ru-RU;q=0.6,en-US;q=0.5,en;q=0.4&amp;quot; -H &amp;quot;Cache-Control: max-age=0&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;]]&amp;gt;&lt;br /&gt;
  &amp;lt;/parser&amp;gt;&lt;br /&gt;
 &amp;lt;/channel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Или в JSON&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;channels&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;title&amp;quot;: &amp;quot;Test curl and method&amp;quot;,&lt;br /&gt;
      &amp;quot;cors&amp;quot;: &amp;quot;rf|android|direct|directnoheader&amp;quot;,&lt;br /&gt;
      &amp;quot;playlist_url&amp;quot;: &amp;quot;http://parser.co/#POSThtml=md5hash&amp;quot;,&lt;br /&gt;
      &amp;quot;parser&amp;quot;: &#039;curl &amp;quot;https://mysite.com/&amp;quot; -H &amp;quot;Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7&amp;quot; -H &amp;quot;Accept-Encoding: gzip, deflate&amp;quot; -H &amp;quot;Accept-Language: ru-UA,ru;q=0.9,uk-UA;q=0.8,uk;q=0.7,ru-RU;q=0.6,en-US;q=0.5,en;q=0.4&amp;quot; -H &amp;quot;Cache-Control: max-age=0&amp;quot; -H &amp;quot;Connection: keep-alive&amp;quot; -H &amp;quot;DNT: 1&amp;quot; -H &amp;quot;User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36&amp;quot;&#039;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Результат будет в $_POST[&#039;html&#039;]&lt;br /&gt;
&lt;br /&gt;
Результат будет аналогично md5hash в $_GET[&#039;page&#039;]&lt;br /&gt;
&lt;br /&gt;
====Методом POST для видеоссылок ( stream_url )====&lt;br /&gt;
 &amp;lt;code&amp;gt;&amp;lt;channel&amp;gt;  &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;title&amp;gt;stream post&amp;lt;/title&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;stream_url&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[http://test.ru/index.php?s=postmd5]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/stream_url&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;parser&amp;gt;&amp;lt;![CDATA&amp;lt;nowiki&amp;gt;[https://yadi.sk/d/0BpgziSQ0VWiFg]&amp;lt;/nowiki&amp;gt;]&amp;gt;&amp;lt;/parser&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;/channel&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Будет идти отправка POST на &amp;lt;nowiki&amp;gt;http://test.ru/index.php?s=postmd5&amp;lt;/nowiki&amp;gt; в $_POST[&amp;quot;postmd5&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Ответ страницы попадет в проигрыватель в виде ссылки.&lt;br /&gt;
&lt;br /&gt;
Тоесть &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://test.ru/index.php?s=postmd5&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; должен дать текст ссылки на медиафайл вида &amp;lt;nowiki&amp;gt;http://.../myvideo.mp4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Скачивание сторонней страницы по необходимости, страница &amp;lt;nowiki&amp;gt;http://parser.co/&amp;lt;/nowiki&amp;gt; может дать json ответ====&lt;br /&gt;
 {&amp;quot;parse&amp;quot;:&amp;quot;&amp;lt;nowiki&amp;gt;http://www.youtube.com/watch?v=qZ3xj_UF4I8&amp;amp;gl=US&amp;amp;hl=en&amp;amp;has_verified=1&amp;amp;bpctr=9999999999&amp;lt;/nowiki&amp;gt;&amp;quot;}&lt;br /&gt;
Скачанная страница шлется в параметре  $_POST[&#039;remoteparse&#039;]&lt;br /&gt;
&lt;br /&gt;
==Построение произвольного положения элементов на странице (c &amp;quot;br&amp;quot; вместо &amp;quot;coordiantion&amp;quot;)==&lt;br /&gt;
&lt;br /&gt;
===Задаем странице вид плиткой (start)===&lt;br /&gt;
 $_PL[&amp;quot;typeList&amp;quot;]=&amp;quot;start&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Прописываем свои стили===&lt;br /&gt;
$_PL[&amp;quot;css&amp;quot;]=&amp;quot;&lt;br /&gt;
&lt;br /&gt;
.myStyle1{&lt;br /&gt;
&lt;br /&gt;
width:242px;&lt;br /&gt;
&lt;br /&gt;
overflow:hidden;&lt;br /&gt;
&lt;br /&gt;
margin:4px;&lt;br /&gt;
&lt;br /&gt;
text-align:center;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.myStyle2{&lt;br /&gt;
width:242px;&lt;br /&gt;
height:171px;&lt;br /&gt;
padding:2px 2px 0px 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===Задаем шаблон (template) каждому элементу списка===&lt;br /&gt;
&amp;lt;code&amp;gt;$_CH[&amp;quot;position&amp;quot;]=&amp;quot;html&amp;quot;; // Задает возможность использовать template&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;title&amp;quot;]=&amp;quot;Новый вид&amp;quot;; // Заголовок - подставляет в шаблоне вместо $title&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;logo_30x30&amp;quot;]=&amp;quot;&amp;lt;nowiki&amp;gt;http://p.lnka.ru/icons/yapfiles.png&amp;lt;/nowiki&amp;gt;&amp;quot;; // Иконка $logo_30x30&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;description&amp;quot;]=&amp;quot;Описание, если нужно&amp;quot;; // Описание- подставляет в шаблоне вместо $description&lt;br /&gt;
&lt;br /&gt;
$_CH[&amp;quot;template&amp;quot;]=&#039;&amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;myStyle1&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$logo_30x30&amp;quot; style=&amp;quot;myStyle2&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;$title&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Перенос на новую строке при html дизайне $_CH[&amp;quot;br&amp;quot;]=1;===&lt;br /&gt;
Для правильной навигации по странице нужно знать когда у вас там новая строка. Для этого в элементе с которого нужно чтоб начиналась новая строка присваиваем &lt;br /&gt;
 $_CH[&amp;quot;br&amp;quot;]=1;// Этот элемент разместится уже на новой строке&lt;br /&gt;
&lt;br /&gt;
==Горизонтальная прокрутка==&lt;br /&gt;
Задаем nowrap только для первого (обзначается br=1) элемента блока горизонтальной прокрутки&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;nowrap&amp;quot;=1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Первый элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Второй элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Третий элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Последний элемент горизонтального блока прокрутки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
$_CH=[&amp;quot;br&amp;quot;=&amp;gt;1,&amp;quot;title&amp;quot;=&amp;gt;&amp;quot;Новый элемент с новой строки&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
==Вывод результирующей страницы (на PHP)==&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Ваш код с наполнением массивов $_PL и $_CH информацией&lt;br /&gt;
&lt;br /&gt;
$_PL[&amp;quot;channels&amp;quot;]=$_CH;&lt;br /&gt;
&lt;br /&gt;
print json_encode($_PL);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mentos</name></author>
	</entry>
</feed>