2008-12-05 4 views

Antwort

23

Wenn Sie ein zweites Profil (wie ‚Kumpel‘) haben, die folgende wird einen neuen Firefox-Prozess starten:

firefox.exe -no-remote -p sidekick 

Wenn jedoch das Profil bereits von einer aktuellen Firefox-Sitzung verwendet wird, das wird nicht Arbeit.

Um ein neues Profil zu erstellen, starten Sie Firefox über die Befehlszeile mit dem Flag -P und erstellen Sie es.

firefox.exe -P 
+0

Korrekt beantwortet, wollte nur hinzufügen, dass eine detailliertere Erklärung hier gefunden werden kann: [http://www.callum-macdonald.com/about /faq/multiple-firefox-instances/](http://www.callum-macdonald.com/about/faq/multiple-firefox-instances/) – kkara

1

Ja, wie in Firefox Command Line Arguments beschrieben:

firefox -new-window

Edit: Wieder Lesen Sie tatsächlich gesagt, "Prozess", in welchem ​​Fall nein, ich glaube nicht, Sie können.

+0

Ich denke, er meint einen völlig separaten Prozess ... dh - tasklist meldet zwei Instanzen von firefox.exe läuft. –

+0

Ich habe gerade das entdeckt:/Nun, es ist Freitagabend (das ist meine Ausrede) – Greg

2

Ich brauche oft mehrere Instanzen, löschen Sie den Cache und öffnen mehrere Firefox-Fenster zu schließen, wenn meine Änderungen Prüfung nach meiner Web-Anwendung neu zu erstellen. Ich benutze Firefox für diesen Zweck, um mehrere Instanzen zu ermöglichen. Ich habe unten Batch-Skripte geschrieben, die eine Firefox Portable-Installation modifizieren, wenn sie noch nicht modifiziert wurden, den aktuellen Firefox-Prozess stoppen und ihn neu starten. Ich habe normalerweise vier Instanzen mit einem anderen ausführbaren Namen ausgeführt. Eine für das regelmäßige Surfen und die anderen drei für das Testen von Web-Apps. Sehr nützlich, wenn Sie Ihre Webanwendung für aktuelle und frühere Versionen von Firefox testen und zertifizieren möchten.

Ich öffne vielleicht drei Registerkarten im selben Browser, aber ich bin im Umgang mit Browsern eher paranoid. Ich bevorzuge es, eine neue Instanz des Browsers für verschiedene Anwendungen zu säubern und erneut zu öffnen, bevor ich erneut teste, anstatt F5 oder Ctrl F5.

Das Skript wird einen separaten tragbaren Firefox-Prozess mit einem separaten Prozessnamen und einem separaten Profil ausführen.

Hoffe, dass diese Ihnen helfen. Fühlen Sie sich frei, sie zu benutzen. Bitte poste deine Änderungen und Fehlerkorrekturen in diesem Thread.

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 ================== 

Script zum Öffnen firefox für die zweite App

Firefox installieren, um Ordner FirstFirefoxPortable (oder einem anderen geeigneten Namen) benannt. Es ist das gleiche Skript wie oben.

Kopieren und Speichern in einer separaten Datei, z. secondfirefox.bat. Installieren Sie FirefoxPortable in einem anderen Ordner, z. C: \ portables \ SecondFirefoxPortable. Ändern Sie die Variablen in secondfirefox.bat, um auf den anderen tragbaren firefox-Installationsordner zu verweisen.

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 --- 

---- ---- aktualisieren

Fehlerbehebungen - korrigiert den Profilpfad.

Getrennte Variable für eindeutige Passwörter. Merken Sie sich das Passwort für die Login-Seite meiner Web-App. Weniger tippen.

---- -----Update 2014-10-01

die Notwendigkeit entfernt, um manuell die FirefoxPortable.exe Datei zu umbenennen. Das Skript macht es bei der ersten Installation von FirefoxPortable.

---- -----Update 2014-11-09

Änderungen Aktualisierung zu ermöglichen, durch den Firefox Installer ausgeführt wird. Wenn Sie in diesem Stapel aufgefordert werden, die Vorgaben und Lesezeichen zu überschreiben, geben Sie N ein. Dadurch bleiben Lesezeichen und einige Einstellungen erhalten.

+0

Sehr nützliches Skript, sicherlich detaillierter als meine 5-jährige Antwort. +1 – VonC

+0

Versehentlich abstimmten dies ohne es zu merken - nur herum navigieren. Jetzt wird SO mich nicht klar machen. Lame. Schnüffeln. – Jester