Javascript.RU

Обмен данными между доменами. Часть 2.

Update: Более новый материал по этой теме находится по адресу https://learn.javascript.ru/xhr-crossdomain.

Эта статья является продолжением статьи Обмен данными для документов с разных доменов и рассматривает новые способы обмена данными между доменами, которые, однако, уже поддерживаются основными современными браузерами.

В стандарте HTML5 предусмотрена отсылка javascript-сообщения из одного окна в другое при помощи специального вызова window.postMessage.

При этом окна могут быть с любых доменов, не важно. Например, один iframe с yandex.ru , а другой - с vaysapupkin.info. Чтобы получать кросс-доменные сообщения, принимающее окно регистрирует специальный обработчик onmessage, в котором, кроме всего прочего, может проверить, с какого домена пришло сообщение.

В примере ниже используется iframe с домена javascript.ru, исходник которого приведен ниже, и iframe с домена ilyakantor.ru.

Как вы можете видеть, сообщение прекрасно пересылается. Пример работает в браузерах Firefox 3.5, Opera 10, Safari 4.0/Chrome 3.0+, Internet Explorer 8.0.

Исходник окна, отправляющего сообщение:

<html>
<body>
<iframe src="http://ilyakantor.ru/receive.html" id="iframe"></iframe>
<form id="form">
  <input type="text" id="msg" value="Ваше сообщение"/>
  <input type="submit"/>
</form>
<script>
var win = document.getElementById("iframe").contentWindow;

document.getElementById("form").onsubmit = function(){
	win.postMessage(
		document.getElementById("msg").value,
		"http://ilyakantor.ru" // target domain
	);
	return false
}
</script>
</body>
</html>

Как видите, для передачи сообщения достаточно вызвать метод postMessage(message, targetOrigin) принимающего окна.

message
Сообщение - javascript-объект
targetOrigin
Целевой домен, с которого должно быть окно, получающее сообщение. Если вы не хотите ограничить целевой домен - поставьте вместо него звездочку "*".

Исходный код принимающего окна (в ифрейме):

<html>
<body>
<b>iframe с домена http://ilyakantor.ru</b>
<div id="test">Пришли мне сообщение!</div>
<script>
function listener(event){
	if ( event.origin !== "http://javascript.ru" )
		return;

	document.getElementById("test").innerHTML = event.origin + " прислал: " + event.data;
}

if (window.addEventListener){
	window.addEventListener("message", listener,false);
} else {
	window.attachEvent("onmessage", listener);
}


</script>

</body>
</html>

Обработчик события onmessage проверяет исходный домен, который находится в свойстве event.origin, и, если все нормально, выводит на экран сообщение event.data.

Все прозрачно и удобно.

Реализация postMessage браузерами использует внутренний механизм передачи сообщений, поэтому можно передавать любые объекты, а сам факт передачи никак не отслеживается снифферами пакетов.

Интерфейс поддерживается основными современными браузерами.

Уже давно в W3C вызревает второй стандарт XMLHTTPRequest 2. А пока суть да дело - Firefox 3.5, Safari 4/Chrome 3 и IE8 уже реализовали ряд фич.

Например, кросс-доменные запросы.

Следующий пример отправляет запрос с текущего домена (javascript.ru) на домен ilyakantor.ru.

Он не работает в старых браузерах и... в Opera.

Кросс-доменный запрос отсылается точно так же, как и обычный XMLHttpRequest, но браузер посылает на сервер дополнительный заголовок Origin.

Сервер в ответе указывает заголовком Access-Control-Allow-Origin, для каких доменов доступны данные. Ответ сервера:

Если вдруг домен, на который приходит ответ, не совпадает с Access-Control-Allow-Origin (можно указать звездочку "*" для любого домена), то браузер блокирует операцию из соображений безопасности.

В то время как Firefox/Safari расширили обычный объект XMLHTTPRequest, специалисты Microsoft завели для кросс-доменных запросов новый объект XDomainRequest.

Оба объекта имеют весьма схожие интерфейсы, но решение Firefox/Safari более полно реализует XMLHTTPRequest 2. В частности, поддерживаются другие методы, кроме GET/POST, работа с Cookie/HTTP Auth и расширены средства контроля доступа.

Исходный код отсылающего запрос ифрейма:

<html>
<head>

<script type="text/javascript">
    var url = 'http://ilyakantor.ru/xdr/receive.php';

    function doCallOtherDomain(){
        var XHR = window.XDomainRequest || window.XMLHttpRequest
        var xhr = new XHR();

        xhr.open('GET', url, true);

        // замена onreadystatechange
        xhr.onload = function() {
            document.getElementById('response').innerHTML = xhr.responseText
        }

        xhr.onerror = function() {
            alert("Error")
        }

        xhr.send()
    }

    function callOtherDomain() {
        try {
            doCallOtherDomain()
        } catch (e) {
            alert("В этом браузере данная фича не поддерживается.")
        }
    }

    </script>
</head>
<body>

<div id="response"></div>
    <input type="button" value="Нажмите для запроса к другому домену" onclick="callOtherDomain()" />

</body>
</html>

Принимающий код:

<?php
// можно ограничить домен, для которого доступен ответ
// header('Access-Control-Allow-Origin: http://javascript.ru');

header('Access-Control-Allow-Origin: *');
?>
http://ilyakantor.ru Ха-ха! Все получилось!

Как видно из примера, в обоих реализациях можно отказаться от onreadystatechange и использовать события onload/onerror/onabort.

Кроме того, начиная с Firefox 3.5/Safari 4/IE8 поддерживается событие onprogress, предназначенное для реализации progress bar.

Конечно, можно написать кросс-браузерную обертку, которая будет прозрачно отправлять запросы, используя эти новые методы в дополнение к уже существующим.

Мы разобрали основы новых способов кросс-доменной коммуникации. При практической реализации вам могут понадобиться детали.

Могу порекомендовать следующие статьи.


Автор: Гость (не зарегистрирован), дата: 12 ноября, 2009 - 13:45
#permalink

то есть получается, что с помощью этой фичи можно xss атаки проводить еще проще... например, передать куки с одного домена ну другой ?


Автор: subzey, дата: 20 ноября, 2009 - 11:40
#permalink

Если скрипт будет отдавать что попало кому попало, то да.


Автор: viglim (не зарегистрирован), дата: 5 февраля, 2010 - 14:01
#permalink

Именно этим разработчики оперы мотивируют категорическое нежелание делать возможность обычных кросс-браузерных запросов.


Автор: Гость (не зарегистрирован), дата: 22 июня, 2012 - 16:16
#permalink

Кросс-доменные запросы


Автор: Гость (не зарегистрирован), дата: 17 ноября, 2014 - 12:21
#permalink

Ты хотел сказать кроссайтовые т.е. крос доменные a.com b.com


Автор: Гость (не зарегистрирован), дата: 9 апреля, 2010 - 23:03
#permalink

Гость что отпостил выше и viglim:

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

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


Автор: Зайва Игорь Леонидович (не зарегистрирован), дата: 21 июля, 2010 - 09:17
#permalink

Прикольно полдня просидел в поисках решения передачи запроса с одного своего сайта на другой и вуаля... Автору спасибо. От себя замечу: простой скриптик всего в несколько строчек работает на Мозиле (3.6) у меня без всяких выкрутасов (в других браузерах пока не проверял), всё, что здесь написано - не заработало у меня, хотя примеры на этой странице работают, как и написано. Эх, лень копаться в глюках.

Для передачи параметров на другой сайт всего лишь прописал строку, указанную в статье и всё:

header('Access-Control-Allow-Origin: *');


Автор: matfor2013, дата: 7 декабря, 2013 - 22:49
#permalink

Для передачи параметров на другой сайт всего лишь прописал строку, указанную в статье и всё:

header('Access-Control-Allow-Origin: *');

А куда прописал? У меня похожая ситуация, получаю от сервера Origin "null" и пустой ответ. Подскажите.


Автор: Snipe, дата: 13 ноября, 2010 - 17:55
#permalink

ИЕ 7 и ИЕ 6 еще долго будут портить кровь программистам, не давая возможности использовать эти фишки, а это чуть больше 10% по статистики li


Автор: Armen, дата: 28 февраля, 2011 - 15:35
#permalink

То есть таким способом, можно читать xml файлы с других доменов ?


Автор: Boo (не зарегистрирован), дата: 2 мая, 2011 - 23:11
#permalink

XMLHTTPRequest 2 если не ошибаюсь, если делает запрос на другой домен, перед этим сначало запрашивает ту же страницу с методом OPTION. а уже потом идет запрос либо GET либо POST либо что то еще.


Автор: Гость (не зарегистрирован), дата: 6 марта, 2012 - 15:57
#permalink

Здесь, при нажатии Отправить, сообщение посылается во фрейм. Если добавить второй фрейм с каким-либо сайтом, как послать в первый фрейм вместо сообщения адрес из второго фрейма?


Автор: Tester1199357 (не зарегистрирован), дата: 28 марта, 2012 - 15:41
#permalink

С локального файла не работает - надо обязательно загрузить на реальный сервер
То есть убогий костыль!

Интересно что через яховский прокси работает отвосюду в том числе и с локального файла.


Автор: Sanya_Zol, дата: 23 июня, 2012 - 00:55
#permalink

XMLHTTPRequest 2 / XDomainRequest
В недавно вышедшей опере 12.00 сделали


Автор: Гость (не зарегистрирован), дата: 5 июля, 2012 - 00:52
#permalink

подскажите пожалуйста очень нужно. А как правильно формировать обращение к окну, если нам надо наоборот отправить обращение из ифрейма к перент окну? или как правильно обратиться к не вложенному, а соседнему ифрейму? (вопрос по способу postMessage)


Автор: Vovumba, дата: 20 июля, 2012 - 13:03
#permalink

Для отправления сообщения родительскому окну используйте конструкцию вида top.postMessage. А вот к соседнему фрейму, насколько я представляю себе модель безопасности при кросдоменных запросах, можно только через родительское окно.

Но лучше не изобретать велосипеды, а использовать библиотеку типа easyXDM (так же есть плагин для jQuery для работы с postMessage). Там все это реализовано довольно удобно, в том числе механизм удаленного вызова процедур, который является надстройкой над вот таким транспортом (или другим, если браузер не поддерживает его).


Автор: Гость (не зарегистрирован), дата: 10 октября, 2013 - 17:25
#permalink

Ребят... Curl вам в помощь... Отправляете запрос на php на своем домене, Curl отправляет запрос на другой и возвращает ответ Вам... Если бы опера еще работала с этим, то было бы норм. А так через фреймы или отправлять Ajaxом. Ну нафиг. На php это 5 строчек и полная кроссбраузерность))


Автор: SkyLight, дата: 11 октября, 2013 - 12:35
#permalink

Это далеко не всегда и не всем подходит. Иногда нужно использовать именно клиентский вариант.


Автор: Гость: Ермолаев Андрей (не зарегистрирован), дата: 12 августа, 2016 - 04:25
#permalink

Curl, wget и любые другие серверные качалки для разовых задач, при этом нагрузка на сервер, что облегчается и ускоряется Ajax-ом.


Автор: Гость (не зарегистрирован), дата: 28 января, 2014 - 16:53
#permalink

Помогите, пожалуйста, разобраться с такой вот проблемой.
Делается кроссдоменный POST-запрос по отправке файла, в ответе идет строка с идентификатором добавленного объекта (Content-type: text/plain).
Все браузеры адекватно эту строку вынимают при помощи xhr.responseText, а вот у IE10 в xhr.responseText всегда пусто.
Что там может быть такое?


Автор: Гость (не зарегистрирован), дата: 19 мая, 2014 - 10:07
#permalink

IE11, FR29.0.1
В этом браузере данная фича не поддерживается.

CR34.0
Всё ok


Автор: nimo (не зарегистрирован), дата: 3 февраля, 2020 - 10:40
#permalink

A very nice blog, I like the way you share very honestly and interestingly, through my blog I learned a lot of things. enable flash in chrome


Автор: alternatives to cable tv (не зарегистрирован), дата: 22 марта, 2020 - 09:42
#permalink

If you set out to make me think today; mission accomplished! I really like your writing style and how you express your ideas. Thank you. alternatives to cable tv


Автор: lago de Atitlan (не зарегистрирован), дата: 2 мая, 2020 - 18:42
#permalink

I wanted to thank you for this great read!! I definitely enjoying every little bit of it I have you bookmarked to check out new stuff you post.


Автор: kaelanna (не зарегистрирован), дата: 18 мая, 2020 - 09:19
#permalink

It was a great suggestion for me, thank you for sharing run 3


Автор: johnas (не зарегистрирован), дата: 10 августа, 2020 - 13:52
#permalink

hi was just seeing if you minded a comment. I like your website and the them you picked are super. I will be back.


Автор: john bond (не зарегистрирован), дата: 10 августа, 2020 - 14:50
#permalink

This article was written by a real thinking writer. I agree many of the with the solid points made by the writer. I’ll be back.
go here


Автор: Michael Almeida (не зарегистрирован), дата: 25 октября, 2020 - 11:30
#permalink

Эта информация, которую вы даете, очень ценна для меня, я не всегда могу найти эти кодировки, спасибо. basketball legends 2020


Автор: osama shk (не зарегистрирован), дата: 27 декабря, 2020 - 15:25
#permalink

I have read a few of the articles on your website now, and I really like your style of blogging. I added it to my favorites blog site list and will be checking back soon. Please check out my site as well and let me know what you think.
click this site


Автор: Гость (не зарегистрирован), дата: 30 декабря, 2020 - 08:53
#permalink

Very good points you wrote here..Great stuff...I think you've made some truly interesting points.Keep up the good work.
Click here


Автор: lopika (не зарегистрирован), дата: 4 января, 2021 - 06:36
#permalink

I do not know what to say really what you share very well and useful to the community, I feel that it makes our community much more developed, thanks basketball legends


Автор: osama shk (не зарегистрирован), дата: 6 января, 2021 - 15:16
#permalink

I can see that you are an expert at your field! I am launching a website soon, and your information will be very useful for me.. Thanks for all your help and wishing you all the success in your business.
binary options


Автор: osama shk (не зарегистрирован), дата: 7 января, 2021 - 15:48
#permalink

I can see that you are an expert at your field! I am launching a website soon, and your information will be very useful for me.. Thanks for all your help and wishing you all the success in your business.
covid cozumel


Автор: osama shk (не зарегистрирован), дата: 10 января, 2021 - 15:02
#permalink

I can see that you are an expert at your field! I am launching a website soon, and your information will be very useful for me.. Thanks for all your help and wishing you all the success in your business.
pousada no rio araguaia


Автор: osama shk (не зарегистрирован), дата: 13 января, 2021 - 11:21
#permalink

I can see that you are an expert at your field! I am launching a website soon, and your information will be very useful for me.. Thanks for all your help and wishing you all the success in your business.
online marketing


Автор: osama shk (не зарегистрирован), дата: 13 января, 2021 - 15:27
#permalink

Thanks for taking the time to discuss this, I feel strongly about it and love learning more on this topic.
bridgend house clearance


Автор: osama shk (не зарегистрирован), дата: 14 января, 2021 - 15:12
#permalink

I can see that you are an expert at your field! I am launching a website soon, and your information will be very useful for me.. Thanks for all your help and wishing you all the success in your business.
taco bar


Автор: osama shk (не зарегистрирован), дата: 16 января, 2021 - 16:58
#permalink

I can see that you are an expert at your field! I am launching a website soon, and your information will be very useful for me.. Thanks for all your help and wishing you all the success in your business.
okos ügyvéd Debrecen


Автор: osama shk (не зарегистрирован), дата: 16 января, 2021 - 17:58
#permalink

Great write-up, I am a big believer in commenting on blogs to inform the blog writers know that they’ve added something worthwhile to the world wide web!..
nemzetközi szállítmányozás nagyobb biztonság


Автор: osama shk (не зарегистрирован), дата: 17 января, 2021 - 11:34
#permalink

Great write-up, I am a big believer in commenting on blogs to inform the blog writers know that they’ve added something worthwhile to the world wide web!..
Buy Website Traffic


Автор: osama shk (не зарегистрирован), дата: 18 января, 2021 - 19:25
#permalink

Interesting post. I Have Been wondering about this issue, so thanks for posting. Pretty cool post.It 's really very nice and Useful post.Thanks
Curcumin vs Turmeric


Автор: osama shk (не зарегистрирован), дата: 19 января, 2021 - 12:46
#permalink

I can see that you are an expert at your field! I am launching a website soon, and your information will be very useful for me.. Thanks for all your help and wishing you all the success in your business.
p405


Автор: osama shk (не зарегистрирован), дата: 24 января, 2021 - 16:27
#permalink

Really a great addition. I have read this marvelous post. Thanks for sharing information about it. I really like that. Thanks so lot for your convene.
Gmail PVA Accounts


Автор: osama shk (не зарегистрирован), дата: 30 января, 2021 - 17:43
#permalink

Thanks for taking the time to discuss this, I feel strongly that love and read more on this topic. If possible, such as gain knowledge, would you mind updating your blog with additional information? It is very useful for me.
https://joo-petri.com/


Автор: osama shk (не зарегистрирован), дата: 1 февраля, 2021 - 13:04
#permalink

Your content is nothing short of brilliant in many ways. I think this is engaging and eye-opening material. Thank you so much for caring about your content and your readers.
tulum cenotes


Автор: osama shk (не зарегистрирован), дата: 3 февраля, 2021 - 11:07
#permalink

Great write-up, I am a big believer in commenting on blogs to inform the blog writers know that they’ve added something worthwhile to the world wide web!..
schluesseldienst köln


Автор: osama shk (не зарегистрирован), дата: 4 февраля, 2021 - 16:32
#permalink

Great write-up, I am a big believer in commenting on blogs to inform the blog writers know that they’ve added something worthwhile to the world wide web!..
آموزش سیستم هوشمند


Автор: osama shk (не зарегистрирован), дата: 9 февраля, 2021 - 13:54
#permalink

Superbly written article, if only all bloggers offered the same content as you, the internet would be a far better place..
water features coventry


Автор: osama shk (не зарегистрирован), дата: 13 февраля, 2021 - 14:36
#permalink

Great write-up, I am a big believer in commenting on blogs to inform the blog writers know that they’ve added something worthwhile to the world wide web!..
serralheria df


Автор: osama shk (не зарегистрирован), дата: 13 февраля, 2021 - 15:19
#permalink

Thanks for taking the time to discuss this, I feel strongly about it and love learning more on this topic. If possible, as you gain expertise, would you mind updating your blog with more information? It is extremely helpful for me.
reforma de sofa brasilia


Автор: osama shk (не зарегистрирован), дата: 13 февраля, 2021 - 16:45
#permalink

I can see that you are an expert at your field! I am launching a website soon, and your information will be very useful for me.. Thanks for all your help and wishing you all the success in your business.
cancun


Автор: osama shk (не зарегистрирован), дата: 17 февраля, 2021 - 19:36
#permalink

I really loved reading your blog. It was very well authored and easy to understand. Unlike other blogs I have read which are really not that good.Thanks alot!
építési pályázatírás Debrecen


Автор: Гостьsad (не зарегистрирован), дата: 21 февраля, 2021 - 18:32
#permalink

this is really nice to read..informative post is very good to read..thanks a lot!
youtube shares


Автор: Гостьsd (не зарегистрирован), дата: 22 февраля, 2021 - 07:32
#permalink

This is my first time visit here. From the tons of comments on your articles,I guess I am not only one having all the enjoyment right here!
cenote azul Tulum


Автор: osama shk (не зарегистрирован), дата: 24 февраля, 2021 - 14:53
#permalink

Thanks for sharing this information. I really like your blog post very much. You have really shared a informative and interesting blog post with people..
rumah pintar


Автор: osama shk (не зарегистрирован), дата: 2 марта, 2021 - 16:25
#permalink

Thanks for taking the time to discuss this, I feel strongly about it and love learning more on this topic. If possible, as you gain expertise, would you mind updating your blog with more information? It is extremely helpful for me.
nemzetközi szállítmányozás ajánlat


Автор: Гостьsad (не зарегистрирован), дата: 3 марта, 2021 - 14:50
#permalink

I wanted to thank you for this great read!! I definitely enjoying every little bit of it I have you bookmarked to check out new stuff you post.
beach in cozumel


Автор: Гостьsad (не зарегистрирован), дата: 8 марта, 2021 - 13:12
#permalink

Very nice article, I enjoyed reading your post, very nice share, I want to twit this to my followers. Thanks!.
attractions in tulum


Автор: Гостьasa (не зарегистрирован), дата: 10 марта, 2021 - 09:36
#permalink

I really loved reading your blog. It was very well authored and easy to undertand. Unlike additional blogs I have read which are really not tht good. I also found your posts very interesting. In fact after reading, I had to go show it to my friend and he ejoyed it as well!
beach restaurant cancun


Автор: farhan (не зарегистрирован), дата: 23 марта, 2021 - 07:54
#permalink

An fascinating discussion is value comment. I think that it is best to write extra on this matter, it won’t be a taboo topic however generally people are not enough to talk on such topics. To the next. Cheers
treatnheal


Автор: john bond (не зарегистрирован), дата: 27 марта, 2021 - 11:30
#permalink

I can see that you are an expert at your field! I am launching a website soon, and your information will be very useful for me.. Thanks for all your help and wishing you all the success in your business.
jr mudanças


Автор: john bond (не зарегистрирован), дата: 27 марта, 2021 - 13:27
#permalink

You have a good point here!I totally agree with what you have said!!Thanks for sharing your views...hope more people will read this article!!!
mudanças em brasília


Автор: oma sex sa (не зарегистрирован), дата: 27 марта, 2021 - 23:55
#permalink

oma sex sa – amazing web place for free hot chat with sexy young local ladies


Автор: fave fave (не зарегистрирован), дата: 28 марта, 2021 - 15:09
#permalink

Your blog provided us with valuable information to work with. Each & every tips of your post are awesome. Thanks a lot for sharing. Keep blogging,
Automatyka hoteli


Автор: osama shk (не зарегистрирован), дата: 4 апреля, 2021 - 17:28
#permalink

Great write-up, I am a big believer in commenting on blogs to inform the blog writers know that they’ve added something worthwhile to the world wide web!..
luxury bathroom vanity


Автор: fave fave (не зарегистрирован), дата: 11 апреля, 2021 - 14:10
#permalink

You have a real ability for writing unique content. I like how you think and the way you represent your views in this article. I agree with your way of thinking. Thank you for sharing.
best place to stay in tulum


Автор: osama shk (не зарегистрирован), дата: 12 апреля, 2021 - 19:26
#permalink

This is just the information I am finding everywhere. Thanks for your blog, I just subscribe your blog. This is a nice blog..
coronavirus yucatan


Автор: farhan (не зарегистрирован), дата: 14 апреля, 2021 - 21:59
#permalink

I like this post,And I guess that they having fun to read this post,they shall take a good site to make a information,thanks for sharing it to me.
Best food in Hualien


Автор: osama shk (не зарегистрирован), дата: 16 апреля, 2021 - 00:45
#permalink

Great job for publishing such a beneficial web site. Your web log isn’t only useful but it is additionally really creative too. There tend to be not many people who can certainly write not so simple posts that artistically. Continue the nice writing
Hualien attractions


Автор: osama shk (не зарегистрирован), дата: 22 апреля, 2021 - 23:26
#permalink

I am happy to find your distinguished way of writing the post. Now you make it easy for me to understand and implement the concept. Thank you for the post.
greek restaurant near me


Автор: daisygosia (не зарегистрирован), дата: 6 мая, 2021 - 09:55
#permalink

That's good news, I've been searching for it for days
word finder


Автор: osama shk (не зарегистрирован), дата: 23 мая, 2021 - 10:22
#permalink

Great write-up, I am a big believer in commenting on blogs to inform the blog writers know that they’ve added something worthwhile to the world wide web!..

Area Rug Cleaning


Автор: osama shk (не зарегистрирован), дата: 23 мая, 2021 - 10:23
#permalink

I can see that you are an expert at your field! I am launching a website soon, and your information will be very useful for me.. Thanks for all your help and wishing you all the success in your business.
Area Rug Cleaning


Автор: farhan (не зарегистрирован), дата: 11 июня, 2021 - 15:40
#permalink

I recently came across your blog and have been reading along. I thought I would leave my first comment. I don't know what to say except that I have enjoyed reading. Nice blog. I will keep visiting this blog very often.
sell a home fast


Автор: Гостьasa (не зарегистрирован), дата: 16 июля, 2021 - 11:13
#permalink

I would like to thank you for the efforts you have made in writing this article. I am hoping the same best work from you in the future as well..
Portrait Photographer in Bangalore


Автор: farhan (не зарегистрирован), дата: 17 июля, 2021 - 00:11
#permalink

I really loved reading your blog. It was very well authored and easy to understand. Unlike other blogs I have read which are really not that good.Thanks alot!
Old Age Home in Bangalore


Автор: Гостьsd (не зарегистрирован), дата: 17 июля, 2021 - 10:09
#permalink

Keep up the good work , I read few posts on this web site and I conceive that your blog is very interesting and has sets of fantastic information.
auto école yvetot


Автор: casual sex leicester (не зарегистрирован), дата: 17 июля, 2021 - 18:18
#permalink

If you are looking for casual contacts in UK for your own pleasur try to visit casual sex leicester


Автор: Гостьasa (не зарегистрирован), дата: 18 июля, 2021 - 13:23
#permalink

This is a great post. I like this topic.This site has lots of advantage.I found many interesting things from this site. It helps me in many ways.Thanks for posting this again.
freelance angular developer


Автор: farhan (не зарегистрирован), дата: 25 июля, 2021 - 12:18
#permalink

Thanks you very much for sharing these links. Will definitely check this out..
stoma tips


Автор: Гостьasa (не зарегистрирован), дата: 31 июля, 2021 - 11:16
#permalink

Great write-up, I am a big believer in commenting on blogs to inform the blog writers know that they’ve added something worthwhile to the world wide web!..
record hands-free Instagram story


Автор: leicester shemales (не зарегистрирован), дата: 4 августа, 2021 - 15:33
#permalink

If you want to find fine ladies for chat in UK you must to visit leicester shemales


Автор: farhan (не зарегистрирован), дата: 7 августа, 2021 - 14:30
#permalink

I would like to say that this blog really convinced me to do it! Thanks, very good post.
cheap smm panel


Автор: sexchat in brighton (не зарегистрирован), дата: 9 августа, 2021 - 12:45
#permalink

Casual chat contacts all over UK only at our web platform sexchat in brighton


Автор: farhan (не зарегистрирован), дата: 30 августа, 2021 - 10:34
#permalink

Interesting post. I Have Been wondering about this issue, so thanks for posting. Pretty cool post.It 's really very nice and Useful post.Thanks
롤듀오


Автор: fave fave (не зарегистрирован), дата: 31 августа, 2021 - 18:20
#permalink

This is really a nice and informative, containing all information and also has a great impact on the new technology. Thanks for sharing it
구글상위노출


Автор: fave fave (не зарегистрирован), дата: 2 сентября, 2021 - 18:34
#permalink

Thanks for your post. I’ve been thinking about writing a very comparable post over the last couple of weeks, I’ll probably keep it short and sweet and link to this instead if thats cool. Thanks.
서버모아


Автор: farhan (не зарегистрирован), дата: 3 сентября, 2021 - 12:56
#permalink

Positive site, where did u come up with the information on this posting? I'm pleased I discovered it though, ill be checking back soon to find out what additional posts you include.
Buy RuneScape Gold


Автор: farhan (не зарегистрирован), дата: 5 сентября, 2021 - 09:57
#permalink

These are some great tools that i definitely use for SEO work. This is a great list to use in the future..
swap rs3 gold


Автор: farhan (не зарегистрирован), дата: 7 сентября, 2021 - 21:23
#permalink

I read a article under the same title some time ago, but this articles quality is much, much better. How you do this..
arete capital


Автор: fave fave (не зарегистрирован), дата: 13 сентября, 2021 - 12:57
#permalink

I recently came across your blog and have been reading along. I thought I would leave my first comment. I don't know what to say except that I have enjoyed reading. Nice blog. I will keep visiting this blog very often.
명품레플리카


Автор: farhan fave (не зарегистрирован), дата: 14 сентября, 2021 - 14:41
#permalink

This is just the information I am finding everywhere. Thanks for your blog, I just subscribe your blog. This is a nice blog..
오피사이트


Автор: sex in frankfurt (не зарегистрирован), дата: 27 сентября, 2021 - 20:35
#permalink

Your work is very good. Thank you for sharing great information to us. sex in frankfurt


Отправить комментарий

Приветствуются комментарии:
  • Полезные.
  • Дополняющие прочитанное.
  • Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
    Для остальных вопросов и обсуждений есть форум.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.
Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешены HTML-таги: <strike> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <u> <i> <b> <pre> <img> <abbr> <blockquote> <h1> <h2> <h3> <h4> <h5> <p> <div> <span> <sub> <sup>
  • Строки и параграфы переносятся автоматически.
  • Текстовые смайлы будут заменены на графические.

Подробнее о форматировании

CAPTCHA
Антиспам
3 + 10 =
Введите результат. Например, для 1+3, введите 4.
 
Текущий раздел
Поиск по сайту
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Последние комментарии
Последние темы на форуме
Forum