Полноэкранный режим не работает при загрузке веб-страницы в новом окне - PullRequest
0 голосов
/ 28 января 2019

Я использовал следующий сегмент кода для перехода с веб-страницы A.aspx на веб-страницу B.aspx, и мне нужно загрузить страницу B.aspx в полноэкранном режиме в отдельном окне.Я могу загрузить контент в отдельном окне, но не могу отобразить его в полноэкранном режиме.Окно просто отображается до половины экрана

Response.Redirect("B.aspx", "", "fullscreen=yes");

Я также пробовал его с ScriptManager, но снова я столкнулся с той же проблемой.Ниже приведен сегмент кода.

string url = "B.aspx";
ScriptManager.RegisterStartupScript(this, typeof(string), "OPEN_WINDOW", "window.open(' " + url + "', '', 'fullscreen=yes,resizable=no,scrollbars=yes,toolbar=no,menubar=no,status=yes' );", true); 

Я также попытался установить ширину и высоту окна и получил тот же вывод!

Примечание. Проблема возникает в браузерах Google Chrome и Microsoft Edge.Когда я запускаю программу в Firefox, страница загружается в полноэкранном режиме.Это проблема с браузером или есть способ ее достижения, если она совместима со всеми браузерами?

1 Ответ

0 голосов
/ 28 января 2019

Здесь есть несколько ошибок и рекомендаций:

1) Response.Redirect() метод принимает только максимум 2 параметра, поэтому вы не можете использовать fullscreen=yes в качестве третьего параметра.

2) fullscreen=yes как параметр window.open() работает только для IE (и более ранних версий Firefox), но поддерживаются не все версии ( ссылка на MDN ).Вместо этого вам нужно использовать специфичные для браузера API на целевой странице.

Следовательно, как упоминалось ранее, вы должны добавить функцию для вызова полноэкранного API в зависимости от браузера клиента:

function fullScreenMode(element) {
    if(element.requestFullscreen)
        element.requestFullscreen();
    else if(element.mozRequestFullScreen)
        element.mozRequestFullScreen();
    else if(element.webkitRequestFullscreen)
        element.webkitRequestFullscreen();
    else if(element.msRequestFullscreen)
        element.msRequestFullscreen();
}

Тогдаизмените RegisterStartupScript следующим образом:

ScriptManager.RegisterStartupScript(this, typeof(string), "OPEN_WINDOW", 
              "window.open('" + url + @"', '', 'resizable=no,scrollbars=yes,toolbar=no,menubar=no,status=yes' );", true);

И вызовите функцию fullScreenMode(document.documentElement) на целевой странице, когда пользователь запускает определенное событие DOM, потому что некоторые браузеры накладывают ограничения, чтобы предотвратить злоупотребление всплывающими окнами подобно *Функция 1023 *.

Проблема, связанная с данной:

Как автоматически открывать веб-страницы в полноэкранном режиме

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

...