是否有一个命令行参数会强制firefox.exe为特定的URL启动新进程,而不管另一个firefox实例是否已在运行?有没有办法强制Firefox在新进程中启动?
回答
如果有第二个人资料(如“搭档”),下面将推出一个新的Firefox进程:
firefox.exe -no-remote -p sidekick
但是,如果配置文件已经由当前的Firefox会话,不会工作。
要创建一个新配置文件,请从命令行使用-P标志启动Firefox并创建它。
firefox.exe -P
我认为他意味着一个完全独立的过程... ie - 任务列表将报告firefox.exe运行的两个实例。 – 2008-12-05 21:55:06
我刚刚发现:/那么,这是星期五晚上(这是我的借口) – Greg 2008-12-05 21:56:16
我经常需要关闭多个实例,在重建我的web应用程序后测试我的更改时清除缓存并打开多个Firefox窗口。我使用firefox portable来实现这个目的,以允许多个实例。我已经写下如下批处理脚本,它们修改FirefoxPortable安装,如果尚未修改,请停止当前的firefox进程并重新启动它。我通常有四个实例以不同的可执行文件名称运行。一个用于我的常规浏览,另外三个用于测试Web应用程序。当你想测试和认证你的网络应用程序的当前和以前版本的Firefox非常有用。
我可能会在同一浏览器中打开三个选项卡,但在处理浏览器时我倾向于偏执。在重新测试之前,我宁愿为不同的应用程序清理并重新打开浏览器的新实例,而不是使用F5或Ctrl F5。
该脚本将运行一个单独的firefox可移植进程,并使用单独的进程名称和单独的配置文件。
希望这些帮助你。随意使用它们。请在此主题上回复您的修改和错误修复。
安装FirefoxPortable到夹名为FirstFirefoxPortable(或任何其它适当的名称)
REM ==============
setlocal
set URL=%1
REM FirefoxPortable installation folder
set FIREFOX_PORTABLE_HOME=C:\portables\FirstFirefoxPortable
REM Name of the FirefoxPortable executable file
set FIREFOX_FILENAME_NOEXT=FirstFirefoxPortable
REM Name of the Firefox executable file within App/firefox
set FIREFOX_EXEC_NOEXT=firstfirefox
set FIREFOX_PORTABLE_EXEC=%FIREFOX_PORTABLE_HOME%\%FIREFOX_FILENAME_NOEXT%.exe
REM Name of the other profile folder.
set FIREFOX_PROFILE=firstprofile
set CLEAR_HISTORY=true
set CLEAR_CACHE=true
set CLEAR_SAVED_PASSWORDS=true
set CLEAR_SESSION=true
set WAIT_DURATION=4
set ADDITIONAL_WAIT_DURATION=2
if not exist %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%.ini (
@echo off
echo.
echo.
echo Setting up Firefox Profile
echo.
echo.
pause
@echo on
echo [FirefoxPortable]>%FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%.ini
echo FirefoxDirectory=App\firefox>>%FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%.ini
echo ProfileDirectory=%FIREFOX_PROFILE%\profile>>%FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%.ini
echo SettingsDirectory=%FIREFOX_PROFILE%\settings>>%FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%.ini
echo PluginsDirectory=%FIREFOX_PROFILE%\plugins>>%FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%.ini
echo FirefoxExecutable=%FIREFOX_EXEC_NOEXT%.exe>>%FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%.ini
echo AdditionalParameters=>>%FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%.ini
echo LocalHomepage=>>%FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%.ini
echo DisableSplashScreen=false>>%FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%.ini
echo AllowMultipleInstances=false>>%FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%.ini
echo DisableIntelligentStart=false>>%FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%.ini
echo SkipCompregFix=false>>%FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%.ini
echo RunLocally=false>>%FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%.ini
rem create dirs
pushd %FIREFOX_PORTABLE_HOME%
mkdir %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%
mkdir %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\profile
mkdir %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\settings
mkdir %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\plugins
popd
rem copy profile
xcopy /e %FIREFOX_PORTABLE_HOME%\App\DefaultData\profile %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\profile
copy /y %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%.ini %FIREFOX_PORTABLE_HOME%\FirefoxPortable.ini
rename %FIREFOX_PORTABLE_HOME%\FirefoxPortable.exe %FIREFOX_FILENAME_NOEXT%.exe
rename %FIREFOX_PORTABLE_HOME%\App\Firefox\firefox.exe %FIREFOX_EXEC_NOEXT%.exe
)
rem check if firefox is running
REM tasklist /FI "IMAGENAME eq %FIREFOX_FILENAME_NOEXT%.exe" 2>NUL | find /I /N "%FIREFOX_FILENAME_NOEXT%.exe">NUL
REM if "%ERRORLEVEL%"=="0" (
REM echo Firefox running
REM taskkill /t /FI "IMAGENAME eq %FIREFOX_FILENAME_NOEXT%.exe"
REM ping -n 4 127.0.0.1 > NUL
REM tasklist /FI "IMAGENAME eq %FIREFOX_FILENAME_NOEXT%.exe"
REM echo retrying killing Firefox
REM taskkill /f /t /FI "IMAGENAME eq %FIREFOX_FILENAME_NOEXT%.exe"
REM ping -n 2 127.0.0.1 > NUL
REM taskkill /f /t /FI "IMAGENAME eq %FIREFOX_EXEC_NOEXT%.exe"
REM) else (
REM echo Firefox not running.. starting..
REM)
taskkill /t /FI "IMAGENAME eq %FIREFOX_FILENAME_NOEXT%.exe"
ping -n %WAIT_DURATION% 127.0.0.1 > NUL
echo ==== try killing
tasklist /FI "IMAGENAME eq %FIREFOX_FILENAME_NOEXT%.exe"
tasklist /FI "IMAGENAME eq %FIREFOX_EXEC_NOEXT%.exe"
taskkill /t /FI "IMAGENAME eq %FIREFOX_FILENAME_NOEXT%.exe"
taskkill /t /FI "IMAGENAME eq %FIREFOX_EXEC_NOEXT%.exe"
ping -n %ADDITIONAL_WAIT_DURATION% 127.0.0.1 > NUL
echo ==== retry killing forcefully
tasklist /FI "IMAGENAME eq %FIREFOX_FILENAME_NOEXT%.exe"
tasklist /FI "IMAGENAME eq %FIREFOX_EXEC_NOEXT%.exe"
taskkill /f /t /FI "IMAGENAME eq %FIREFOX_FILENAME_NOEXT%.exe"
taskkill /f /t /FI "IMAGENAME eq %FIREFOX_EXEC_NOEXT%.exe"
REM clear everything - delete profile
REM del /f /s /q %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\profile\*
REM rmdir %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\profile\
REM mkdir %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\profile\
REM clear all sqlite files
rem for /d %%x in (%FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\*) do del /q /s /f %%x\*sqlite
if "%CLEAR_HISTORY%"=="true" (
echo.
echo Clearing History
echo.
rem clear history (Bookmarks, browsing and download history)
del /q /s /f %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\profile\places.sqlite*
rem clear form history (Saved form data)
del /q /s /f %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\profile\formhistory.sqlite*
)
if "%CLEAR_SESSION%"=="true" (
echo.
echo Clearing browsing session
echo.
rem clear previous browsing session
del /q /s /f %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\profile\sessionstore.js
)
if "%CLEAR_SAVED_PASSWORDS%"=="true" (
echo.
echo Clearing saved passwords
echo.
rem clear saved passwords
del /q /s /f %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\profile\logins.json
)
if "%CLEAR_CACHE%"=="true" (
echo.
echo Clearing cache
echo.
rem clear permissions (Permission database for cookies, pop-up blocking, image loading and add-ons installation.)
del /q /s /f %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\profile\permissions.sqlite*
rem clear content preferences (Individual settings for pages.)
del /q /s /f %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\profile\content-prefs.sqlite*
rem clear cookies
del /q /s /f %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\profile\cookies.sqlite*
rem clear cache
del /q /s /f %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\profile\cache2\*
rem clear offline cache
del /q /s /f %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\profile\OfflineCache\*
rem clear DOM Storage
del /q /s /f %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\profile\webappsstore.sqlite*
)
if "%URL%"=="" (
set URL=www.google.com?q=DidYouPassTheURLArgument
)
@echo on
start /MAX "%FIREFOX_FILENAME_NOEXT%.exe" %FIREFOX_PORTABLE_EXEC% -P "%FIREFOX_PROFILE%" -no-remote -new-tab %URL%
endlocal
REM ==================
脚本用于打开火狐用于第二应用程序。它和上面的脚本是一样的。
复制并保存在单独的文件中,例如secondfirefox.bat。将FirefoxPortable安装到其他文件夹中,例如C:\便携式\ SecondFirefoxPortable。更改secondfirefox.bat中的变量以指向其他便携式Firefox安装文件夹。
setlocal
set URL=%1
REM FirefoxPortable installation folder
set FIREFOX_PORTABLE_HOME=C:\portables\SecondFirefoxPortable
REM Name of the FirefoxPortable executable file
set FIREFOX_FILENAME_NOEXT=SecondFirefoxPortable
REM Name of the Firefox executable file within App/firefox
set FIREFOX_EXEC_NOEXT=secondfirefox
set FIREFOX_PORTABLE_EXEC=%FIREFOX_PORTABLE_HOME%\%FIREFOX_FILENAME_NOEXT%.exe
REM Name of the other profile folder.
set FIREFOX_PROFILE=secondprofile
REM --- snip ---
---- ----更新
错误修正 - 修正了配置文件路径。
分隔出明确的密码变量。记住我的网络应用的登录页面的密码。减少打字。
---- ----更新2014-10-01
删除需要手动重命名FirefoxPortable.exe文件。该脚本在首次运行FirefoxPortable安装时执行此操作。
---- ----更新2014-11-09
变化通过运行FirefoxPortable安装程序,以允许更新。当此批次要求您覆盖首选项和书签时,请键入N.这将保留书签和一些设置。
- 1. 有没有办法强制在Symfony2中进行表单绑定?
- 2. 有没有办法在暂停状态下启动进程?
- 3. 有没有办法在primefaces中自动启动进度条?
- 4. 有没有办法强制一个程序留在内存中
- 5. 有没有办法用python启动/停止linux进程?
- 6. 有没有办法在进入前景时强制全局刷新视图?
- 7. 有没有办法限制启动时进程消耗的内存
- 8. 有没有办法在Ruby中强制实现接口方法?
- 9. 有没有办法强制Zend_Auth进行身份验证?
- 10. 有没有办法*真的*强制pydev使用强制内建?
- 11. 有没有办法强制刷新主机?
- 12. 有没有办法强制install4j auto updater更新当前版本?
- 13. 有没有办法强制IntentService不被重新创建?
- 14. 在VS2008中,有没有办法自动“附加到进程”?
- 15. 有没有办法强制在iPhone中改变界面方向?
- 16. 有没有办法在c#中强制函数内联?
- 17. 有没有办法在WSO2 API Manager中强制请求HTTP DELETE?
- 18. 有没有办法在JavaScript/jQuery中强制DOM焦点?
- 19. 有没有办法强制GIF加载Glide是非动画
- 20. 有没有办法强制Eclipse自动清理每次运行?
- 21. 有没有办法在PyQt4中强制使用QNetworkAccessManager进行身份验证?
- 22. 有没有办法在div中改变Firefox的滚动条边?
- 23. 有没有办法强制MonoDevelop构建/加载程序集?
- 24. 有没有办法在AngularJS中强制重新加载递归ng-include?
- 25. 有没有办法强制在标签中打开“onclick”新窗口?
- 26. 有没有办法强制WebView更新其图片(视图),而滚动?
- 27. 有没有办法强制复制,只复制插入和更新的数据?
- 28. 有没有办法重新启动Windows Phone 7模拟器?
- 29. 启动R时有没有办法抑制MOTD?
- 30. 有没有办法强制Eclipse自动重启远程调试(在监听模式下)?
正确回答,只是想补充一点,更详细的解释可以在这里找到:[http://www.callum-macdonald.com/about /faq/multiple-firefox-instances/](http://www.callum-macdonald.com/about/faq/multiple-firefox-instances/) – kkara 2012-01-12 10:53:18