有没有办法改变firefox的shift热键,使firefox在安全模式下启动?我已经使用Selenium和PHPUnit设置了一些单元测试,但是如果我在运行测试的同时在机器上工作,那么我会发现我经常在键入时按shift键(选择代码块时按住shift键是另一个很大的问题)。这会导致测试失败(并超时),即使您单击弹出的安全模式提示。
有没有办法禁用这个热键,或者把这个键改成我不常用的键?
发布于 2012-04-12 05:05:03
我也遇到过这个问题,但没有找到解决方案。它似乎仍然是一个悬而未决的问题:Mozilla Forums thread,Bug 653410,Bug 644175等等。作为一种变通办法,你可以安装Firefox3.6,因为这个功能是从Firefox4开始实现的,但这可能不适合你。
发布于 2017-11-13 03:02:46
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在图形用户界面中的任何地方使用Control+Alt+G启动我的web浏览器,其中当然包括Alt修饰符,Firefox倾向于将其解释为信号安全模式。
发布于 2013-11-26 04:10:52
在Bug 653410修复之前,我能想到的最好的解决办法是检测安全模式何时启动,并以最适合您特定目的的方式处理它。这可能意味着杀死Firefox进程并重新启动,或者可能意味着警告用户,或者两者兼而有之。
当火狐进入安全模式时,它会在配置文件目录中的compatibility.ini文件中写入"LastVersion=Safe模式“。下面给出了一个用于监视此情况的示例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
}https://stackoverflow.com/questions/10111026
复制相似问题