Javascript: Открыть страницу на новой вкладке, передав на неё данные через POST

Есть несколько вариантов решения данной задачи Самым простым из них является размещение на странице скрытой формы, заполнение её данными в нужный момент, и принудительный submit. Например как-то так:

<form id="my_form" method="post" action="?view=new_page" target="Новое окно">
	<input type="hidden" id="my_var" name="my_var" value="" />
</form>

<script type="text/javascript">
	my_var="Мои данные в POST";
	window.open('', 'Новое окно');
	document.getElementById('my_form').submit();
</script>

MapYandex API: получение расстояний между двумя координатами

Задача: получить расстояние от точки до точки по автомобильным дорогам

Решение: воспользуемся вызовом route:

ymaps.route([
                [data[i]["to_latlatitude"],data[i]["to_longitude"]],
                [data[i]["from_latlatitude"],data[i]["from_longitude"]]
            ], {
                mapStateAutoApply: true
            }).then(function (route) {
                console.log("Маршрут:");
                console.log(route);
                console.log(route.getLength());

            });     

Linux: цветной вывод в консоль

Иногда бывает полезно вывод в консоль скриптов чуть «раскрасить», чтобы более наглядно акцентировать внимание пользователя на как-то детали. Для того чтобы вывести текст цветным, необходимо применять специальные наборы спецсимволов. Цвет включается по принципу «реле», т.е. цвет нужно включить, а затем выключить.

ЦветОсновнойФон
Стандартный\033[39m\033[49m
Чёрный\033[30m\033[40m
Тёмно-красный\033[31m\033[41m
Тёмно-зелёный\033[32m\033[42m
Тёмно-жёлтый «Оранжевый»\033[33m\033[43m
Тёмно-синий\033[34m\033[44m
Темно-пурпурный\033[35m\033[45m
Тёмно-голубой\033[36m\033[46m
Светло-серый\033[37m\033[47m
Тёмно-серый\033[90m\033[100m
Красный\033[91m\033[101m
Зелёный\033[92m\033[101m
Оранжевый\033[93m\033[103m
Синий\033[94m\033[104m
Пурпурный\033[95m\033[105m
Голубой\033[96m\033[106m
Белый\033[97m\033[107m
Сброс цвета\033[0m\033[0m
Таблица цветов

Например выведем текст зеленым цветом на PHP:

<?php
echo "###############################################################\n";
echo "\033[;32mЯ весь\033[0m зелёный";
echo "###############################################################\n";
?>

Результат работы скрипта:

1C: Генератор паролей

Функция ГенерацияСлучайногоПароля(длн)
    ГСЧ = Новый ГенераторСлучайныхЧисел(ТекущаяУниверсальнаяДатаВМиллисекундах());    
    СлучайнаяСтрока = "";
    Для Сч = 1 по длн Цикл        
        Набор = ГСЧ.СлучайноеЧисло(1,7);    
        Если Набор = 1 Тогда
            // это число
            СлучайныйСимвол = ГСЧ.СлучайноеЧисло(0,9);    
        ИначеЕсли Набор = 2 Тогда
            // это Большая буква латиницы
            СлучайныйСимвол = Символ(ГСЧ.СлучайноеЧисло(65,90));
        ИначеЕсли Набор >= 3 Тогда
            // это маленькая буква латиницы
            СлучайныйСимвол = Символ(ГСЧ.СлучайноеЧисло(97,122));
		КонецЕсли;			
        Если Набор >= 7 Тогда
            // это спецсимвол
			спецсимволы="!@#$&*()_-+[]^";
			поз=ГСЧ.СлучайноеЧисло(0,стрдлина(спецсимволы));
            СлучайныйСимвол =Сред(спецсимволы,поз,1);						
        КонецЕсли;
		
        СлучайнаяСтрока = СлучайнаяСтрока + СлучайныйСимвол;
    КонецЦикла;      
    Возврат(СлучайнаяСтрока);    
КонецФункции

Получение координат полигона очерчивающего районы Вологодской области

Ну или собственно легко адаптировать под любую область.

Одной и задач явилось отрисовывание контуров районов Вологодской области на карте. Для этого нужно знать координаты точек полигона очерчивающего районы. Через API Яндекс.Карты возможно получить только полигоны областей, а не районов. Поэтому было принято решение вытянуть координаты точек из OpenStreetMap. Из нюансов:

  1. Обязательно нужно указывать UserAgent — иначе сервис забанит
  2. Ограничение — 1 запрос в секунду. Именно поэтому координаты «складируем» в файлы для последующего использования, а не вытягиваем «на лету»
  3. Координаты в OpenStreetMap хранятся «наоборот», а не как в Яндексе, поэтому сразу «переворачиваем»
<?php

 function GetAreaPolygon($region,$area,$filename){

            $address= urlencode($region.",".$area);
            $rul="https://nominatim.openstreetmap.org/search?q=".$address."&format=json&polygon_geojson=1&limit=2";
            var_dump($rul);
            $ch = curl_init($rul);
            $config['useragent'] = 'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0';
            curl_setopt($ch, CURLOPT_USERAGENT, $config['useragent']);
            curl_setopt($ch, CURLOPT_REFERER, 'https://укмцукму.ru/');
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
            $res_curl=curl_exec($ch);
            $res=json_decode($res_curl);
            if ($res!=null){
                $geo=$res[0]->geojson->coordinates;
                // переворачиваем координаты..
                foreach ($geo as &$coors) {
                    foreach ($coors as &$coor) {
                        $tmp=$coor[0];
                        $coor[0]=$coor[1];
                        $coor[1]=$tmp;
                    };
                };
                file_put_contents($filename,json_encode($geo));
            };
            sleep(2); //делаем паузу, чтоб не забанили
 }

    GetAreaPolygon("Вологодская область","Вологодский район","1.json");
    GetAreaPolygon("Вологодская область","Бабаевский район","2.json");
    GetAreaPolygon("Вологодская область","Бабушкинский район","3.json");
    GetAreaPolygon("Вологодская область","Белозерский район","4.json");
    GetAreaPolygon("Вологодская область","Вашкинский район","5.json");
    GetAreaPolygon("Вологодская область","Великоустюгский район","6.json");
    GetAreaPolygon("Вологодская область","Верховажский район","7.json");
    GetAreaPolygon("Вологодская область","Вожегодский район","8.json");
    GetAreaPolygon("Вологодская область","Вытегорский район","9.json");
    GetAreaPolygon("Вологодская область","Грязовецкий район","10.json");
    GetAreaPolygon("Вологодская область","Кадуйский район","11.json");
    GetAreaPolygon("Вологодская область","Кирилловский район","12.json");
    GetAreaPolygon("Вологодская область","Кичменгско-Городецкий район","13.json");
    GetAreaPolygon("Вологодская область","Междуреченский район","14.json");
    GetAreaPolygon("Вологодская область","Никольский район","15.json");
    GetAreaPolygon("Вологодская область","Нюксенский район","16.json");
    GetAreaPolygon("Вологодская область","Сокольский район","17.json");
    GetAreaPolygon("Вологодская область","Сямженский район","18.json");
    GetAreaPolygon("Вологодская область","Тарногский район","19.json");
    GetAreaPolygon("Вологодская область","Тотемский район","20.json");
    GetAreaPolygon("Вологодская область","Усть-Кубинский район","21.json");
    GetAreaPolygon("Вологодская область","Устюженский район","22.json");
    GetAreaPolygon("Вологодская область","Харовский район","23.json");
    GetAreaPolygon("Вологодская область","Чагодощенский район","24.json");
    GetAreaPolygon("Вологодская область","Череповецкий район","25.json");
    GetAreaPolygon("Вологодская область","Шекснинский район","26.json");

?>

Сохранив файлы, отрисуем районы на карте:

<script src="https://api-maps.yandex.ru/2.1/?lang=RU_ru&apikey=<?=$config->api_map?>" type="text/javascript"></script>    

<div id="map"></div>

<script>
 ymaps.ready(init);
 
 function GetAreaPolygon(region,area,filename,fillcolor){
    var url = "https://eуцкацукаc/areas/"+filename;
    $.getJSON(url, {})
    .then(function (data) {    
        var p = new ymaps.Polygon(
            data,
            {
              hintContent: area   
            },
            {
                fillColor: fillcolor,
                strokeColor: '#0000FF',
                opacity: 0.2,
                strokeWidth: 2,
                strokeStyle: 'shortdash'
            }                            
            );
    myMap.geoObjects.add(p);                                                        
    });     
 }
 
 function init () {
    latitude=59.2084992;
    longitude=39.8491648;

    myMap = new ymaps.Map('map', {
        center: [latitude, longitude], 
        controls: ['routeButtonControl','geolocationControl'],
        zoom: 7,
    }, {
        searchControlProvider: 'yandex#search',
        geoObjectBalloonAutoPan: false,
        geoObjectBalloonPanelMaxMapArea: Infinity,
        balloonPanelMaxMapArea: Infinity // балун-всегда панель - проблема с наложением надписи "Открыть на яндекс картах", из-за динамической загрузки
    });
    GetAreaPolygon("Вологодская область","Вологодский район","1.json","#FF0000");
    GetAreaPolygon("Вологодская область","Бабаевский район","2.json","#dcec3c");
    GetAreaPolygon("Вологодская область","Бабушкинский район","3.json","#3c9cec");
    GetAreaPolygon("Вологодская область","Белозерский район","4.json","#ec813c");
    GetAreaPolygon("Вологодская область","Вашкинский район","5.json","#ca5784");
    GetAreaPolygon("Вологодская область","Великоустюгский район","6.json","#57cab2");
    GetAreaPolygon("Вологодская область","Верховажский район","7.json","#467623");
    GetAreaPolygon("Вологодская область","Вожегодский район","8.json","#764923");
    GetAreaPolygon("Вологодская область","Вытегорский район","9.json","#236c76");
    GetAreaPolygon("Вологодская область","Грязовецкий район","10.json","#3eb9ca");
    GetAreaPolygon("Вологодская область","Кадуйский район","11.json","#4fca3e");
    GetAreaPolygon("Вологодская область","Кирилловский район","12.json","#cab13e");
    GetAreaPolygon("Вологодская область","Кичменгско-Городецкий район","13.json","#e47694");
    GetAreaPolygon("Вологодская область","Междуреченский район","14.json","#e176e4");
    GetAreaPolygon("Вологодская область","Никольский район","15.json","#7694e4");
    GetAreaPolygon("Вологодская область","Нюксенский район","16.json","#76e4e4");
    GetAreaPolygon("Вологодская область","Сокольский район","17.json","#76e4af");
    GetAreaPolygon("Вологодская область","Сямженский район","18.json","#80e476");
    GetAreaPolygon("Вологодская область","Тарногский район","19.json","#b2e476");
    GetAreaPolygon("Вологодская область","Тотемский район","20.json","#e4a576");
    GetAreaPolygon("Вологодская область","Усть-Кубинский район","21.json","#e48676");
    GetAreaPolygon("Вологодская область","Устюженский район","22.json","#e4768a");
    GetAreaPolygon("Вологодская область","Харовский район","23.json","#d776e4");
    GetAreaPolygon("Вологодская область","Чагодощенский район","24.json","#a876e4");
    GetAreaPolygon("Вологодская область","Череповецкий район","25.json","#76dae4");
    GetAreaPolygon("Вологодская область","Шекснинский район","26.json","#FF0000");
    
    
};

</script> 
1 45 46 47 48 49 308