2008-12-05 37 views

Trả lời

23

Nếu bạn có một cấu hình thứ hai (như 'bạn nối khố'), sau đây sẽ khởi động một quá trình Firefox mới:

firefox.exe -no-remote -p sidekick 

Tuy nhiên, nếu hồ sơ đã được sử dụng bởi một phiên Firefox hiện tại, đó sẽ không công việc.

Để tạo hồ sơ mới, hãy khởi chạy Firefox từ dòng lệnh có cờ -P và tạo nó.

firefox.exe -P 
+0

Trả lời đúng, chỉ muốn thêm rằng một lời giải thích chi tiết hơn có thể được tìm thấy ở đây: [http://www.callum-macdonald.com/about /faq/multiple-firefox-instances/](http://www.callum-macdonald.com/about/faq/multiple-firefox-instances/) – kkara

1

Vâng, như chi tiết trong Firefox Command Line Arguments:

firefox -new-window

Edit: đọc lại bạn thực sự nói "quá trình", trong trường hợp này không, tôi không nghĩ rằng bạn có thể.

+0

Tôi nghĩ rằng anh ấy có nghĩa là một quá trình hoàn toàn riêng biệt ... tức là - tasklist sẽ báo cáo hai trường hợp chạy firefox.exe. –

+0

Tôi chỉ phát hiện ra rằng:/Vâng, đó là tối thứ Sáu (đó là lý do của tôi) – Greg

2

Tôi thường cần đóng nhiều phiên bản, xóa bộ nhớ cache và mở nhiều cửa sổ firefox khi thử nghiệm các thay đổi sau khi xây dựng lại ứng dụng web của mình. Tôi sử dụng firefox di động cho mục đích này để cho phép nhiều trường hợp. Tôi đã viết kịch bản lệnh dưới đây để sửa đổi cài đặt FirefoxPortable nếu chưa sửa đổi, ngừng quá trình firefox hiện tại và khởi động lại nó. Tôi thường có bốn trường hợp chạy với một tên thực thi khác nhau. Một cho duyệt web thông thường của tôi và ba ứng dụng khác để thử nghiệm các ứng dụng web. Rất hữu ích khi bạn muốn kiểm tra và xác nhận ứng dụng web của mình cho các phiên bản Firefox hiện tại và trước đó.

Tôi có thể mở ba tab trong cùng một trình duyệt, nhưng tôi có xu hướng hoang tưởng khi giao dịch với trình duyệt. Tôi thích làm sạch và mở lại một trình duyệt mới của trình duyệt cho các ứng dụng khác nhau trước khi thử lại thay vì F5 hoặc Ctrl F5.

Tập lệnh sẽ chạy một quy trình di động firefox riêng biệt với tên quy trình riêng và một cấu hình riêng biệt.

Hy vọng những điều này sẽ giúp bạn. Hãy sử dụng chúng. Vui lòng đăng lại các sửa đổi và sửa lỗi của bạn về chủ đề này.

Cài đặt Mozilla Firefox, Phiên bản Di động để thư mục có tên FirstFirefoxPortable (hoặc bất kỳ tên thích hợp khác)

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 mở firefox cho ứng dụng thứ hai. Đó là cùng một kịch bản như trên.

Sao chép và lưu trong một tệp riêng biệt, ví dụ: secondfirefox.bat. Cài đặt FirefoxPortable trong một thư mục khác, ví dụ: C: \ portables \ SecondFirefoxPortable. Thay đổi các biến trong secondfirefox.bat để trỏ đến thư mục cài đặt firefox di động khác.

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

---- Cập nhật ----

Sửa lỗi - sửa chữa các đường dẫn hồ sơ.

Biến riêng biệt cho mật khẩu rõ ràng. Nhớ mật khẩu cho trang đăng nhập của ứng dụng web của tôi. Ít đánh máy hơn.

---- Cập nhật ---- 2014-10-01

Xóa cần phải đổi tên tệp FirefoxPortable.exe theo cách thủ công. Kịch bản sẽ chạy nó trong lần chạy đầu tiên của cài đặt FirefoxPortable.

---- Cập nhật ---- 2014-11-09

thay đổi để cho phép cập nhật bằng cách chạy trình cài đặt Mozilla Firefox, Phiên bản Di động. Khi lô này yêu cầu bạn ghi đè lên các prefs và đánh dấu, gõ N. Điều này sẽ giữ lại dấu trang và một số cài đặt.

+0

Kịch bản rất hữu ích, chắc chắn chi tiết hơn câu trả lời 5 năm tuổi của tôi. +1 – VonC

+0

Vô tình bỏ phiếu này mà không nhận ra điều đó - chỉ cần điều hướng xung quanh. Bây giờ SO sẽ không cho phép tôi xóa nó. Què. Bị nghẹt mũi. – Jester

Các vấn đề liên quan