powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Fullscreen из iframe.
3 сообщений из 3, страница 1 из 1
Fullscreen из iframe.
    #37868307
Ромб
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток.

Задача: переключать браузер в полноэкранный режим из iframe, причем src этого фрейма может указывать на другой домен. Задача решается легко, если домены iframe и родитель находятся в одном домене, но этого недостаточно.

Если домены разные, то window.parent пустой из-за ограничений безопасности.

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

Пробовал вариант с изменением флага в iframe и проверкой состояния этого влага в родителе по таймеру, но в таком случае API фулскрина не срабатывают - вероятно, это ограничение, чтоб фуллскрин можно было включить только по прямому действию пользователя.

У кого-нибудь есть идеи?
...
Рейтинг: 0 / 0
Fullscreen из iframe.
    #37868318
Ромб
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исходник умной обертки fullscreen API, взятый отсюда
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
function () {
			var
				fullScreenApi = {
					supportsFullScreen: false,
					isFullScreen: function() { return false; },
					requestFullScreen: function() {},
					cancelFullScreen: function() {},
					fullScreenEventName: '',
					prefix: ''
				},
				browserPrefixes = 'webkit moz o ms khtml'.split(' ');
				
			// check for native support	
			if (typeof document.cancelFullScreen != 'undefined') {
				fullScreenApi.supportsFullScreen = true;
			} else {
				// check for fullscreen support by vendor prefix
				for (var i = 0, il = browserPrefixes.length; i < il; i++ ) {
					fullScreenApi.prefix = browserPrefixes[i];
		 
					if (typeof document[fullScreenApi.prefix + 'CancelFullScreen' ] != 'undefined' ) {
						fullScreenApi.supportsFullScreen = true;
		 
						break;
					}
				}
			};
			var prevEl;
		 
			// update methods to do something useful
			if (fullScreenApi.supportsFullScreen) {
				fullScreenApi.fullScreenEventName = fullScreenApi.prefix + 'fullscreenchange';
		 
				fullScreenApi.isFullScreen = function() {
					switch (this.prefix) {
						case '':
							return document.fullScreen;
						case 'webkit':
							return document.webkitIsFullScreen;
						default:
							return document[this.prefix + 'FullScreen'];
					}
				}
				fullScreenApi.requestFullScreen = function(el) {
					
					return (this.prefix === '') ? el.requestFullScreen() : el[this.prefix + 'RequestFullScreen']();
				}
				fullScreenApi.cancelFullScreen = function(el) {
					return (this.prefix === '') ? document.cancelFullScreen() : document[this.prefix + 'CancelFullScreen']();
				}
			};
		 
			// jQuery plugin
			if (typeof jQuery != 'undefined') {
				jQuery.fn.requestFullScreen = function() {
		 
					return this.each(function() {
						if (fullScreenApi.supportsFullScreen) {
							fullScreenApi.requestFullScreen(this);
						}
					});
				};
			};
		
			// export api
			window.fullScreenApi = fullScreenApi;
		}

...
Рейтинг: 0 / 0
Fullscreen из iframe.
    #37869337
Ромб
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все еще актуально
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Fullscreen из iframe.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]