Архив

Архив раздела ‘Web’
26 октября 2017 Нет комментариев

HTML:

<div id="map"></div>
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap" async defer></script>

Javascript:

var map;
function initMap(){
	map=new google.maps.Map(document.getElementById('map'),{
		center:{lat:50.464579,lng:30.522939},
		zoom:17,
		scrollwheel:false,
	});
	var image='/images/icon_pin.png';
	var marker=new google.maps.Marker({
		position:{lat:50.464579,lng:30.522939},
		map:map,
		icon:image,
		title:'Адрес',
	});
	var infowindow=new google.maps.InfoWindow({
		content:'Название компании<br/>Адрес',
	});
	marker.addListener('click',function(){
		infowindow.open(map,marker);
	});
	var styledMapType=new google.maps.StyledMapType(
		[
			{
				"elementType":"geometry",
				"stylers":[
					{
						"color":"#f5f5f5"
					}
				]
			},
			{
				"elementType":"labels.icon",
				"stylers":[
					{
						"visibility":"off"
					}
				]
			},
			{
				"elementType":"labels.text.fill",
				"stylers":[
					{
						"color":"#616161"
					}
				]
			},
			{
				"elementType":"labels.text.stroke",
				"stylers":[
					{
						"color":"#f5f5f5"
					}
				]
			},
			{
				"featureType":"administrative.land_parcel",
				"elementType":"labels.text.fill",
				"stylers":[
					{
						"color":"#bdbdbd"
					}
				]
			},
			{
				"featureType":"poi",
				"elementType":"geometry",
				"stylers":[
					{
						"color":"#eeeeee"
					}
				]
			},
			{
				"featureType":"poi",
				"elementType":"labels.text.fill",
				"stylers":[
					{
						"color":"#757575"
					}
				]
			},
			{
				"featureType":"poi.park",
				"elementType":"geometry",
				"stylers":[
					{
						"color":"#e5e5e5"
					}
				]
			},
			{
				"featureType":"poi.park",
				"elementType":"labels.text.fill",
				"stylers":[
					{
						"color":"#9e9e9e"
					}
				]
			},
			{
				"featureType":"road",
				"elementType":"geometry",
				"stylers":[
					{
						"color":"#ffffff"
					}
				]
			},
			{
				"featureType":"road.arterial",
				"elementType":"labels.text.fill",
				"stylers":[
					{
						"color":"#757575"
					}
				]
			},
			{
				"featureType":"road.highway",
				"elementType":"geometry",
				"stylers":[
					{
						"color":"#dadada"
					}
				]
			},
			{
				"featureType":"road.highway",
				"elementType":"labels.text.fill",
				"stylers":[
					{
						"color":"#616161"
					}
				]
			},
			{
				"featureType":"road.local",
				"elementType":"labels.text.fill",
				"stylers":[
					{
						"color":"#9e9e9e"
					}
				]
			},
			{
				"featureType":"transit.line",
				"elementType":"geometry",
				"stylers":[
					{
						"color":"#e5e5e5"
					}
				]
			},
			{
				"featureType":"transit.station",
				"elementType":"geometry",
				"stylers":[
					{
						"color":"#eeeeee"
					}
				]
			},
			{
				"featureType":"water",
				"elementType":"geometry",
				"stylers":[
					{
						"color":"#c9c9c9"
					}
				]
			},
			{
				"featureType":"water",
				"elementType":"labels.text.fill",
				"stylers":[
					{
						"color":"#9e9e9e"
					}
				]
			}
		],
		{name:'Styled Map'}
	);
	map.mapTypes.set('styled_map',styledMapType);
	map.setMapTypeId('styled_map');
}

CSS:

#map{
	width:570px;
	height:530px;
}

Подробнее: https://developers.google.com/maps/documentation/javascript/
Google Maps APIs Styling Wizard для быстрого создания объекта стиля JSON: https://mapstyle.withgoogle.com/

Categories: Web Tags:
6 сентября 2017 Нет комментариев
<object data="/files/file.pdf" type="application/pdf" width="100%" height="450px">
	<a href="/files/file.pdf">Download PDF file</a>
</object>

или

<iframe src="https://docs.google.com/viewer?url=http://site.ru/files/file.pdf&embedded=true" 
style="width:100%;height:450px;" frameborder="0">Ваш браузер не поддерживает фреймы</iframe>
Categories: Web Tags:
11 января 2017 Нет комментариев

HTML:

<script src="https://api-maps.yandex.ru/2.1/?lang=ru_RU" type="text/javascript"></script>
<div id="map"></div>

Javascript:

ymaps.ready(init);
function init(){
	var myMap=new ymaps.Map("map",{
		center:[59.974504,30.550266],
		zoom:11,
		controls:['zoomControl']
	}),
	Placemark1=new ymaps.Placemark([60.002148,30.272623],{
		balloonContent:'Балун 1',
		hintContent:'Стандартный значок метки 1',
	},{
		preset:'islands#redDotIcon'
	}),
	Placemark2=new ymaps.Placemark([59.935935,30.363452],{
		balloonContent:'Балун 2',
		hintContent:'Стандартный значок метки 2',
	},{
		preset:'islands#redDotIcon'
	});
	myMap.geoObjects.add(Placemark1).add(Placemark2);
	myMap.behaviors.disable('scrollZoom');
}

CSS:

#map{
	height:390px;
}
[class*="ymaps-2"][class*="-ground-pane"]{
	filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");
	-webkit-filter:grayscale(100%);
}

На основе: http://jsfiddle.net/9aj8j/76/

Categories: Web Tags: ,
19 декабря 2016 Нет комментариев

В примере для открытия URL каждый день в час ночи.

0 1 * * * wget -O - http://site.com/cron.php >/dev/null 2>&1

Еще варианты:
http://stackoverflow.com/questions/13259530/using-cron-jobs-to-visit-url

Categories: Unix, Web Tags:
9 декабря 2016 Нет комментариев

DaData.ru
Подключение и простой поиск:

<html>
<head>
	<link href="https://cdn.jsdelivr.net/jquery.suggestions/16.8/css/suggestions.css" type="text/css" rel="stylesheet"/>
	<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
	<!--[if lt IE 10]>
	<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-ajaxtransport-xdomainrequest/1.0.1/jquery.xdomainrequest.min.js"></script>
	<![endif]-->
	<script type="text/javascript" src="https://cdn.jsdelivr.net/jquery.suggestions/16.8/js/jquery.suggestions.min.js"></script>
</head>
<body>
	<input id="party" name="party" type="text" size="100"/>
	<script type="text/javascript">
		$("#party").suggestions({
			serviceUrl:"https://suggestions.dadata.ru/suggestions/api/4_1/rs",
			token:"---",
			type:"PARTY",
			count:5,
			onSelect:function(suggestion){
				console.log(suggestion);
			}
		});
	</script>
</body>
</html>

Разложить организацию по полям:

<html>
<head>
	<link href="https://cdn.jsdelivr.net/jquery.suggestions/16.8/css/suggestions.css" type="text/css" rel="stylesheet"/>
	<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
	<!--[if lt IE 10]>
	<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-ajaxtransport-xdomainrequest/1.0.1/jquery.xdomainrequest.min.js"></script>
	<![endif]-->
	<script type="text/javascript" src="https://cdn.jsdelivr.net/jquery.suggestions/16.8/js/jquery.suggestions.min.js"></script>
</head>
<body>
	<section class="container">
		<h1>Подсказки по организациям и ИП</h1>
		<input id="party" name="party" type="text" placeholder="Введите название, ИНН, ОГРН или адрес организации"/>
	</section>
	<section class="result">
		<p id="type"></p>
		<div class="row">
			<label>Краткое наименование</label>
			<input id="name_short"/>
		</div>
		<div class="row">
			<label>Полное наименование</label>
			<input id="name_full"/>
		</div>
		<div class="row">
			<label>ИНН / КПП</label>
			<input id="inn_kpp"/>
		</div>
		<div class="row">
			<label>Адрес</label>
			<input id="address"/>
		</div>
	</section>
	<script>
		function join(arr){
			var separator=arguments.length>1?arguments[1]:", ";
			return arr.filter(function(n){return n}).join(separator);
		}
		function typeDescription(type){
			var TYPES={
				'INDIVIDUAL':'Индивидуальный предприниматель',
				'LEGAL':'Организация'
			}
			return TYPES[type];
		}
		function showSuggestion(suggestion){
			console.log(suggestion);
			var data=suggestion.data;
			if(!data)return;
			$("#type").text(
				typeDescription(data.type)+" ("+data.type+")"
			);
			if(data.name)$("#name_short").val(join([data.opf&&data.opf.short||"",data.name.short||data.name.full]," "));
			if(data.name&&data.name.full)$("#name_full").val(join([data.opf&&data.opf.full||"",data.name.full]," "));
			$("#inn_kpp").val(join([data.inn, data.kpp]," / "));
			if(data.address)$("#address").val(data.address.value);
		}
		$("#party").suggestions({
			serviceUrl:"https://suggestions.dadata.ru/suggestions/api/4_1/rs",
			token:"---",
			type:"PARTY",
			count:5,
			onSelect:showSuggestion
		});
	</script>
</body>
</html>

Подробнее:
Подключение: https://dadata.ru/suggestions/usage/#party
REST API: https://dadata.ru/api/suggest/#request-party
Как разложить компанию по полям? Наименование, ИНН, КПП, адрес? http://codepen.io/dadata/pen/Gdakz?editors=1010

Еще по теме:
https://www.nalog.ru/rn77/service/egrip2/
http://sc-kontur.ru/focus/focus_api

Categories: Web Tags:
2 ноября 2016 Нет комментариев

В примере переносим сайт с site.com на site.org
.htaccess

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} robots.txt$ [NC]
RewriteRule ^([^/]+) $1 [L]
 
RewriteCond %{HTTP_HOST} ^site\.com
RewriteRule ^(.*)$ http://site.org/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.site\.com
RewriteRule ^(.*)$ http://site.org/$1 [R=301,L]

robots.txt

User-agent: Yandex
Host: site.org
 
User-agent: *
Disallow:
Sitemap: http://site.org/sitemap.xml

Источник: https://habrahabr.ru/post/168471/

Categories: Web Tags: ,
2 ноября 2016 Нет комментариев
RewriteEngine On
RewriteCond %{HTTPS} off
#RewriteCond %{REQUEST_URI} !/robots\.txt
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

или другой вариант (Sweb)

RewriteEngine On
RewriteCond %{HTTP:HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
SetEnvIf X-Forwarded-Proto https HTTPS=on

nic.ru

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
#RewriteCond %{REQUEST_URI} !/robots\.txt
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Categories: Web Tags: