我正在 Delphi 中制作一个 TMS WEB Core 网站,我希望有一个按钮可以在全屏模式下切换网站(就像在浏览器中按 F11 一样)。
在 FireMonkey 中,表单上有一个
FullScreen
属性来执行此操作,然后在 FMX 应用程序中的代码中,我实际上可以为此执行以下代码:
MyForm.FullScreen := not(MyForm.FullScreen)
TWebForm
没有 FullScreen
属性。
但是我如何使用 Delphi 和 TMS WEB Core 在浏览器中的网站上执行此操作?
我编写了一个 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;