【问题标题】:How can I open a new browser window in "F11" mode (without toolbars etc)?如何在“F11”模式下打开一个新的浏览器窗口(没有工具栏等)?
【发布时间】:2014-10-09 08:58:26
【问题描述】:

我正在编写一个页面(供我公司内部使用)以尝试触发基于浏览器的“一键式”视频会议。我们使用基于网络的视频会议解决方案 (www.bluejeans.com)。目前要开始视频会话,用户导航到一个 url (www.bluejeans.com/,然后登录。我们将它与相机和投影仪一起使用,因此用户需要将浏览器窗口拖到投影仪屏幕上,最大化窗口,然后按 F11 删除浏览器 gubbins。

我想简化用户点击链接的过程,并在正确的链接处打开新的浏览器窗口,最大化,移动到正确的屏幕和“F11'd”(浏览器栏等已删除)。

该应用程序是一个 c# Web 应用程序,但我假设我需要使用 javascript 来进行此客户端窗口操作。我可以最大化打开一个窗口,但不能让它删除边框/地址栏。

仔细阅读后,它看起来像是出于安全原因,这是有道理的。但是,鉴于我处于“封闭”环境中,我想知道是否还有其他方法可以使用?例如触发新窗口的 Windows 窗体应用?

编辑:

这与我看到的其他问题不同,这些问题在浏览器中调整内容大小以使特定元素全屏显示。在这种情况下,我想与浏览器本身进行交互,隐藏工具栏并模拟 F11 按键。

【问题讨论】:

  • @Frederic Hamidi - 如果我正确阅读“重复答案”,这是不同的行为,因为它正在调整浏览器窗口中的元素大小。我希望调整浏览器窗口本身的大小。如果我错了,你能纠正我吗?或者请从这个问题中删除重复的标记?
  • 不要只阅读接受的答案。其他答案都涉及调整浏览器窗口的大小(几乎所有人都说这是不可能的)。
  • @Frederic Hamidi - 我想你可能误读/误解了我的问题。 “我想知道我是否可以使用任何其他方法?例如触发新窗口的 Windows 窗体应用程序?”我正在寻找a)确认网络应用程序(它似乎是)是不可能的,以及b)替代方法的建议。到目前为止,我需要采取的方法似乎是使用 Windows 窗体应用程序 - 我想知道这是否是我唯一/最好的选择。
  • 很公平,我会重新打开这个。不过,您可能需要更改标题以反映您在上一条评论中提出的观点。

标签: javascript c#


【解决方案1】:

出于安全原因,似乎无法从浏览器执行此操作。但是,根据问题,我正在为我的网络上的内部客户端机器寻找替代方案。这是通过一个 winforms 应用实现的:

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}"); 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-21
    • 1970-01-01
    • 1970-01-01
    • 2010-11-02
    • 1970-01-01
    • 1970-01-01
    • 2018-01-07
    • 2011-02-08
    相关资源
    最近更新 更多