我正在编写一个页面(供我公司内部使用)以尝试触发“一键式”基于浏览器的视频会议。我们使用基于网络的视频会议解决方案(www.bluejeans.com)。目前,为了开始视频会话,用户导航到网址(www.bluejeans.com/,并登录。我们使用相机和投影仪,因此用户需要将浏览器窗口拖到投影仪屏幕上,最大化在窗口中,按F11删除浏览器gubbins。
我希望简化用户单击链接的过程,并在正确的链接打开新的浏览器窗口,最大化,移动到正确的屏幕并“F11'd”(浏览器栏等已删除)。
该应用程序是一个c#Web应用程序,但我认为我需要使用javascript进行此客户端窗口操作。我可以打开一个最大化的窗口,但不能删除边框/地址栏。
阅读完它看起来是出于安全原因,这是有道理的。但是,鉴于我处于“封闭”环境,我想知道是否还有其他方法可以使用?例如,用于触发新窗口的Windows窗体应用程序?
编辑:
这与我在浏览器中调整内容大小以使特定元素全屏显示的其他问题不同。在这种情况下,我想与浏览器本身进行交互,隐藏工具栏并模拟F11按键。
答案 0 :(得分:0)
出于安全原因,似乎无法通过浏览器进行操作。但是根据我的问题,我正在寻找网络上内部客户端计算机的替代方案。这是通过winforms app实现的:
Process.Start("http://www.google.com");
IntPtr handle = new IntPtr();
bool found = false;
// Get handle of browser window ready to move / bring to front
// Wait for browser process to start before moving on
while (!found)
{
foreach (Process clsProcess in Process.GetProcesses())
{
Console.WriteLine(clsProcess.MainWindowTitle);
if (clsProcess.MainWindowTitle.Contains("Google"))
{
found = true;
handle = clsProcess.MainWindowHandle;
}
}
Thread.Sleep(500);
}
Console.WriteLine("Window Found");
// This method gets the users preferred screen (not included in this code snippet)
ConnectedScreen PreferredScreen = GetPreferredScreen(GetScreens());
if (handle != null) {
MoveWindow(handle, PreferredScreen.workingArea.X, PreferredScreen.workingArea.Y,PreferredScreen.workingArea.Width,PreferredScreen.workingArea.Height, true);
SetForegroundWindow(handle);
}
Thread.Sleep(500);
// Need to send space first if on chrome, or it maximises to last known screen
SendKeys.Send(" ");
SendKeys.Send("{F11}");