如何使用 TMS WEB Core 网站中的按钮切换全屏?

问题描述 投票:0回答:1

我正在 Delphi 中制作一个 TMS WEB Core 网站,我希望有一个按钮可以在全屏模式下切换网站(就像在浏览器中按 F11 一样)。

在 FireMonkey 中,表单上有一个

FullScreen
属性来执行此操作,然后在 FMX 应用程序中的代码中,我实际上可以为此执行以下代码:

MyForm.FullScreen := not(MyForm.FullScreen)

TWebForm
没有
FullScreen
属性。

但是我如何使用 Delphi 和 TMS WEB Core 在浏览器中的网站上执行此操作?

delphi fullscreen tms html5-fullscreen tms-web-core
1个回答
1
投票

我编写了一个 Delphi 小程序,可以在 TMS WEB 核心网站中切换

FullScreen

仅支持现代浏览器

以下代码适用于所有现代浏览器:

procedure ToggleFullScreen();
begin
  asm
    if (!document.fullscreenElement) {
      document.documentElement.requestFullscreen();
    } else {
      document.exitFullscreen();
    }
  end;
end;

对于旧版浏览器的支持

如果需要支持Internet Explorer及其他旧版本浏览器,则使用以下代码:

procedure ToggleFullScreen();
begin
  asm
    if (document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement) {
        if (document.cancelFullScreen) {
            document.cancelFullScreen();
        } else if (document.mozCancelFullScreen) {
            document.mozCancelFullScreen();
        } else if (document.webkitCancelFullScreen) {
            document.webkitCancelFullScreen();
        }
    } else {
        if (document.documentElement.requestFullscreen) {
            document.documentElement.requestFullscreen();
        } else if (document.documentElement.mozRequestFullScreen) {
            document.documentElement.mozRequestFullScreen();
        } else if (document.documentElement.webkitRequestFullscreen) {
            document.documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
        }
    }
  end;
end;

如何使用程序?

您只需在按钮的

ToggleFullScreen()
事件中调用
onClick
即可使用它:

procedure TForm2.WebButton1Click(Sender: TObject);
begin
  ToggleFullScreen();
end;
© www.soinside.com 2019 - 2024. All rights reserved.