我想关闭通过后端C#进程打开的firefox浏览器。所有其他浏览器都支持通过 C#进程打开(<~%) :: MonadState s m => ATraversal' s a -> (a -> m a) -> m ()
。但是firefox不支持。我的代码在 C# window.close();
打开浏览器后我调用了这个js代码。 window.close()的;所有其他浏览器完美运行。但FF。如果你可以帮我这个。
答案 0 :(得分:1)
根据this documentation,脚本不应该关闭它最初没有打开的窗口:
Window.close()方法关闭当前窗口或调用它的窗口。
只允许对使用window.open()方法由脚本打开的窗口调用此方法。如果脚本没有打开窗口,则控制台中会出现类似于此窗口的错误: 脚本可能无法关闭脚本未打开的窗口 。
所以,虽然它今天在IE和Chrome中运行,但不要指望它永远工作。
如果您想以编程方式关闭窗口,似乎最好的方法是关闭c#代码的过程,例如
var p = Process.Start("firefox", "http://www.google.com");
System.Threading.Thread.Sleep(10000); //Wait 10 seconds
p.CloseMainWindow();