@zkrvndm
Веб-разработчик

Как замаскировать window.parent внутри iframe при помощи расширения Google Chrome?

Создаю бота ВКонтакте в виде браузерного плагина. Для удобства контроля, хочу бота внутри фрейма запускать, для чего специально предусмотрел в background.js удаление заголовка X-Frame-Options:
chrome.webRequest.onHeadersReceived.addListener(

    function(info) { 
	
		var headers = info.responseHeaders; // Получаем массив отсылаемых заголовков
		
		// Обходим массив полученных заголовков:
		
		for (var i=headers.length-1; i>=0; --i) {
			
			var header = headers[i].name.toLowerCase(); // Считываем название того или иного заголовка
			
			// При наличии совпадений, удаляем заголовок нахрен:
			
			if (header == 'x-frame-options' || header == 'frame-options') { 
				headers.splice(i, 1);
			}
			
		}
		
		return {responseHeaders: headers}; // Вовращаем почищенный массив заголовков назад
		
    },
	
    { urls: [ '<all_urls>' ], types: [ 'sub_frame' ] },
	
    ['blocking', 'responseHeaders']
	
);

Однако, этого оказалось недостаточно, так как ВКонтакте оказывается так же использует ручную проверку на факт загрузки страницы во фрйеме. Вот кусочек кода, который просто удаляет страницу, если это фрейм:
5db724bf3a16f974459174.png
Как бы половчее обойти проверку? В идеале, хотелось бы узнать, нельзя при помощи расширения и вовсе замаскировать фрейм под главное окно window.top? Буду признателен за советы от более опытных коллег.
  • Вопрос задан
  • 82 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы