reproduce - ¿Hay alguna manera de forzar a Firefox a lanzar en un nuevo proceso?
html5 firefox plugin (3)
Si tiene un segundo perfil (como ''sidekick''), lo siguiente lanzará un nuevo proceso de Firefox:
firefox.exe -no-remote -p sidekick
Sin embargo, si ese perfil ya es utilizado por una sesión actual de Firefox, eso no funcionará.
Para crear un nuevo perfil, ejecute Firefox desde la línea de comando con el indicador -P y créelo.
firefox.exe -P
¿Hay un argumento de línea de comandos que forzaría a firefox.exe a iniciar un nuevo proceso para una URL particular independientemente de si ya se está ejecutando otra instancia de firefox?
Sí, como se detalla en los Argumentos de la línea de comandos de Firefox :
firefox -new-window
Editar: volver a leer, en realidad dijo "proceso", en cuyo caso, no, no creo que pueda.
A menudo necesito cerrar varias instancias, borrar el caché y abrir varias ventanas de Firefox al probar mis cambios después de reconstruir mi aplicación web. Utilizo Firefox Portable para este propósito para permitir múltiples instancias. Escribí debajo de las secuencias de comandos por lotes que modifican una instalación de FirefoxPortable si aún no se han modificado, detengo el proceso actual de Firefox y lo reinicio. Normalmente tengo cuatro instancias ejecutándose con un nombre ejecutable diferente. Uno para mi navegación habitual y los otros tres para probar aplicaciones web. Muy útil cuando quiere probar y certificar su aplicación web para las versiones actuales y anteriores de Firefox.
Puedo abrir tres pestañas en el mismo navegador, pero tiendo a ser paranoico cuando trato con navegadores. Prefiero limpiar y volver a abrir una nueva instancia del navegador para diferentes aplicaciones antes de volver a probar en lugar de F5 o Ctrl F5.
El script ejecutará un proceso separado de Firefox portable con un nombre de proceso separado y un perfil separado.
Espero que estos te ayuden Siéntase libre de usarlos. Publique sus modificaciones y correcciones de errores en este hilo.
Instala FirefoxPortable en una carpeta llamada FirstFirefoxPortable (o cualquier otro nombre apropiado)
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 para abrir Firefox para la segunda aplicación. Es el mismo script que el anterior.
Copie y guarde en un archivo separado, por ejemplo, secondfirefox.bat. Instala FirefoxPortable en otra carpeta, por ejemplo, C: / portables / SecondFirefoxPortable. Cambie las variables en secondfirefox.bat para apuntar a la otra carpeta de instalación portátil de 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 ---
---- Actualización ----
Corrección de errores: corrigió la ruta del perfil.
Separado de la variable de salida para contraseñas claras. Recordar contraseña para la página de inicio de sesión de mi aplicación web. Menos tipeo
---- Actualización ---- 2014-10-01
Se eliminó la necesidad de renombrar manualmente el archivo FirefoxPortable.exe. El script lo hace en la primera ejecución de la instalación de FirefoxPortable.
---- Actualización ---- 2014-11-09
Cambios para permitir la actualización ejecutando el instalador de FirefoxPortable. Cuando este lote le pida que sobrescriba las preferencias y los marcadores, escriba N. Esto conservará los marcadores y algunas configuraciones.