有没有什么办法来改变Firefox的转变热键,使得在安全模式下启动的Firefox? 我已经设置了使用Selenium和PHPUnit的一些单元测试,但如果我的机器上工作时的测试运行,那么我经常发现我按shift为I型(控股转变,因为我选择块的代码是另一大罪犯)。 这会导致测试失败(和超时),即使你单击过去弹出的安全模式提示。
有没有一种方法来禁用该热键,或更改关键的东西,我经常使用的少?
有没有什么办法来改变Firefox的转变热键,使得在安全模式下启动的Firefox? 我已经设置了使用Selenium和PHPUnit的一些单元测试,但如果我的机器上工作时的测试运行,那么我经常发现我按shift为I型(控股转变,因为我选择块的代码是另一大罪犯)。 这会导致测试失败(和超时),即使你单击过去弹出的安全模式提示。
有没有一种方法来禁用该热键,或更改关键的东西,我经常使用的少?
我也遇到了这个问题,并没有找到一个解决方案。 看来,它仍然是一个悬而未决的问题: Mozilla的论坛主题 , 臭虫653410 , 臭虫644175等。 作为一种变通方法,你可以安装Firefox 3.6,因为这功能是因为火狐4中实现,但可能这不会适合你。
Mozilla的最后增加了一个环境变量来控制此行为。 不幸的是,适用于整个图形化系统,而不是仅仅一个bash会话的方式,配置此环境变量是有点困难。 过去,这是通过/etc/launchd.conf完成,但在的MacOS下降v10.10这种支持。 幸运的是,systemctl提供的.plist文件系统,它可以定义运行程序,并在启动时确定全系统的环境变量,所以我公布这方面的工作的.plist文件,以安装和删除它的说明:
https://github.com/mcandre/dotfiles/blob/master/setenv.MOZ_DISABLE_SAFE_MODE_KEY.plist
这是真棒对我来说,因为我喜欢在任何地方启动网页浏览器中通过的QuickSilver按下Ctrl + Alt + G,其中当然也包括Alt修饰符火狐倾向于解释为信令安全模式的GUI。
直到错误653410是固定的,我能想出的最好的解决方法是,当启动安全模式来检测和最佳的方式适合您的特殊用途处理。 这可能意味着杀死Firefox进程,并再次启动,也可能意味着警告用户,或两者兼而有之。
当Firefox启动进入安全模式,在其配置文件目录中写入“LastVersion =安全模式”,以它的compatibility.ini文件。 一个例子C#功能来监视这个如下。
FileSystemWatcher safeModeWatcher;
private void watchSafeMode()
{
string profiles = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Mozilla", "Firefox", "Profiles");
string defaultProfile = Directory.GetDirectories(profiles, "*default*")[0];
safeModeWatcher = new FileSystemWatcher(defaultProfile, "compatibility.ini");
safeModeWatcher.NotifyFilter = NotifyFilters.LastWrite;
safeModeWatcher.Changed += delegate(object s, FileSystemEventArgs e)
{
if (File.ReadAllText(e.FullPath).Contains("LastVersion=Safe Mode"))
{
// safe mode!
System.Diagnostics.Trace.WriteLine("safe mode detected!");
// TODO kill Firefox and launch again, or whatever makes sense for you
}
};
safeModeWatcher.EnableRaisingEvents = true;
// ...
// TODO Dispose safeModeWatcher when done
}