Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 18.11.2017, 18:30
Кандидат Javascript-наук
Отправить личное сообщение для smart-create Посмотреть профиль Найти все сообщения от smart-create
 
Регистрация: 25.10.2016
Сообщений: 144

laimas, проверил, отправил простой get, ответ получил в виде html кода запрашиваемой страницы. Во общем запросы проходят. Но как это может помочь получить доступ к iframe?
Ответить с цитированием
  #12 (permalink)  
Старый 18.11.2017, 18:42
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 7,561

Значит браузер накладывает ограничения на iframe, и в его контексте заголовки не решат проблемы. Знаю, что в IE можно добавить домен в доверенные, и заголовков не потребуется. Не знаю как программно это обойти, в сети значит есть описание проблемы и ее обхода. Плохо то, что у каждого браузера свое понимание, и надо полагать и решений потребуется не одно.
Ответить с цитированием
  #13 (permalink)  
Старый 18.11.2017, 18:52
Кандидат Javascript-наук
Отправить личное сообщение для smart-create Посмотреть профиль Найти все сообщения от smart-create
 
Регистрация: 25.10.2016
Сообщений: 144

laimas, а вариант который предлагал ruslan_mart нельзя использовать? Как по мне подход вполне действенный, просто я не до конца понимаю как с ним работать
Ответить с цитированием
  #14 (permalink)  
Старый 18.11.2017, 19:04
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 7,561

Сообщение от smart-create
а вариант который предлагал ruslan_mart нельзя использовать?
Это уж чего вам надо, либо контент получить, либо во фрейме код выполнить.
Ответить с цитированием
  #15 (permalink)  
Старый 23.11.2017, 14:51
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 2,804

IFrame:

(function() {
	var actions = {
		getContent: function() {
			return document.documentElement.innerHTML;
		}
	};

	window.addEventListener('message', function(e) {
		if(e.origin === 'http://bistro-obed.ru') {
			var data = JSON.parse(e.data);

			if(data.action in actions) {
				data.result = actions[data.action]();
				parent.postMessage(JSON.stringify(data), '*');
			}
		}
	});
})();



Основной сайт:
(function() {

	var frame = document.getElementById('include_content');

	var callbackList = {
		handleContent: function(result) {
			var contents = (new DOMParser).parseFromString(result, 'text/html');
			console.log(contents);
		}
	};

	window.addEventListener('message', function(e) {
		if(e.origin === 'https://menu.food24h.ru') {
			var data = JSON.parse(e.data);

			if(data.callback in callbackList) {
				callbackList[data.callback](data.result);
			}
		}
	});

	frame.addEventListener('load', function() {
		var data = {
			action: 'getContent',
			callback: 'handleContent'
		};

		frame.contentWindow.postMessage(JSON.stringify(data), '*');
	});

})();
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Авторесайз iFrame на разных доминах MIRU4b (X)HTML/CSS 3 13.08.2015 14:58
Доступ к функциям Iframe Kot137 Events/DOM/Window 1 13.05.2015 20:01
Доступ в IFRAME cobria2 (X)HTML/CSS 1 06.02.2012 18:32
Получить доступ к тегам в IFrame vamfirius Events/DOM/Window 6 28.04.2011 00:24
iframe и как получить доступ к его содержимому syegorius jQuery 13 14.04.2011 22:05