是否有一個命令行參數會強制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