มีวิธีง่าย ๆ ในการแยกไอคอน Dock สำหรับโปรไฟล์ Chrome ที่แตกต่างกันหรือไม่?


27

ฉันใช้Google Chromeเวอร์ชัน 22 บน OS X 10.8 ฉันใช้โปรไฟล์ผู้ใช้แยกต่างหาก (สร้างโดยใช้สิ่งอำนวยความสะดวกของ Chrome ในSettings->Users) สำหรับการท่องเว็บ "ปกติ" ของฉันและการพัฒนาเว็บไซต์ที่ฉันทำ ฉันเปิดใช้โปรไฟล์การพัฒนาเว็บจากหน้าต่างโปรไฟล์ Chrome ปกติโดยคลิกที่รูปประจำตัวที่มุมบนซ้ายมือ:

ป้อนคำอธิบายรูปภาพที่นี่

ในขณะนี้โปรไฟล์เหล่านี้ทั้งสองใช้ไอคอนท่าเรือเดียว อย่างไรก็ตามฉันอยากจะให้โปรไฟล์ Chrome แต่ละอันมีไอคอนท่าเรือของตัวเองโดยมีหน้าต่างจัดการแยกต่างหาก - และเพื่อให้ไอคอนท่าเรือโดดเด่นในบางด้าน เป็นไปได้อย่างง่ายดายหรือไม่ โดย 'ง่าย' ฉันหมายถึงสิ่งต่าง ๆ เช่นการสร้าง Chrome ขึ้นมาใหม่ไม่ใช่ตัวเลือกที่ฉันจะพิจารณา

หมายเหตุ : ฉันต้องการใช้ Chrome รุ่นเดียวกันที่มีความเสถียรทั้งสองโปรไฟล์ จะเป็นการดีถ้าคุณติดตั้งรุ่นเดียวกันสองครั้งตราบใดที่สามารถแยกเก็บไว้ได้และไอคอนท่าเรือแตกต่าง


ฉันต้องการชี้ให้เห็นว่านี่เป็นคุณลักษณะมาตรฐานของ Chrome บน Windows (อย่างน้อยใน v64) เมื่อคุณสร้างโปรไฟล์ใหม่ใน Chrome Settings->UsersChrome จะถามว่า "สร้างทางลัดบนเดสก์ท็อปสำหรับผู้ใช้รายนี้" และหากคุณคลิกใช่จะสร้างทางลัดนั่นคือไอคอน Chrome ที่มีไอคอนโปรไฟล์ Chrome ของผู้ใช้ซ้อนอยู่ที่มุมล่างขวา เมื่อแอปทำงานแต่ละโปรไฟล์จะมีไอคอนเป็นของตนเองในทาสก์บาร์ ฉันนำสิ่งนี้มาเพราะฉันหวังว่าในที่สุดพวกเขาจะนำคุณสมบัตินั้นไปเป็นเวอร์ชัน macOS
gman

คำตอบ:


7

หากต้องการให้ Chrome สองตัวทำงานพร้อมกันคุณต้องสร้าง Google Chrome App ที่ทำงานได้ครั้งที่สอง

คุณสามารถสร้างแอปพลิเคชันที่สองนั้นได้โดยเรียกใช้สคริปต์ต่อไปนี้ มันมาจากเว็บไซต์นี้ฉันคัดลอกและวางเพื่อความสะดวกของผู้อ่าน:

#!/bin/bash

PROFILE_NAME=$1
mkdir -p "/Applications/Google Chrome $1.app/Contents/MacOS"

F="/Applications/Google Chrome $1.app/Contents/MacOS/Google Chrome $1"
cat > "$F" <<\EOF
#!/bin/bash

#
# Google Chrome for Mac with additional profile.
#

# Name your profile:
EOF

echo "PROFILE_NAME='$PROFILE_NAME'\n" >> "$F"

cat >> "$F" <<\EOF
# Store the profile here:
PROFILE_DIR="/Users/$USER/Library/Application Support/Google/Chrome/${PROFILE_NAME}"

# Find the Google Chrome binary:
CHROME_APP=$(mdfind 'kMDItemCFBundleIdentifier == "com.google.Chrome"' | head -1)
CHROME_BIN="$CHROME_APP/Contents/MacOS/Google Chrome"
if [[ ! -e "$CHROME_BIN" ]]; then
  echo "ERROR: Can not find Google Chrome.  Exiting."
  exit -1
fi

# Start me up!
exec "$CHROME_BIN" --enable-udd-profiles --user-data-dir="$PROFILE_DIR"
EOF

sudo chmod +x "$F"

บันทึกไว้ในไฟล์ (สมมติว่าcreate_second_chrome.shอยู่ในโฟลเดอร์เดสก์ท็อป) เปิดเชลล์และดำเนินการโดยส่งพารามิเตอร์ของโฟลเดอร์โปรไฟล์ที่คุณต้องการเชื่อมโยงไปยัง Chrome App ที่สอง Google Chrome profile_folder_nameมันจะถูกเรียกว่า สมมติว่าGoogle Chrome Development:

$ cd ~/Desktop
$ . create_second_chrome.sh Development

ตอนนี้คุณสามารถเปิด Chrome เวอร์ชันใหม่ ( Google Chrome Development) ได้จาก~/Applicationsไดเรกทอรี คุณสามารถตั้งค่าไอคอนอื่นได้โดยคลิกขวาที่แอพและเลือก 'รับข้อมูล' คุณจะเห็นว่าเวอร์ชั่นใหม่นี้มีไอคอนของตัวเองที่ Dock และสามารถเชื่อมต่อได้หากจำเป็น


1
ดูเหมือนจะไม่ทำงาน ฉันสร้างโปรไฟล์ใหม่สำหรับตัวเองที่เรียกว่าในDevelopment เรื่องนี้สร้างไดเรกทอรีSettings -> Users ~/Library/Application Support/Google/Chrome/Profile 2อย่างไรก็ตามการดำเนินการopen -a "Google Chrome" --args --profile-directory="Profile 2"ยังคงเปิดโปรไฟล์เก่า / ดั้งเดิมอย่างที่ฉันสามารถบอกได้จากอวตารที่มุมขวาบน
Andrew Ferrier

@AndrewFerrier คุณพยายามปิดcommand + qChrome และเปิดใหม่โดยใช้เวิร์กโฟลว์หรือไม่ มันทำงานกับฉัน
Maverik

1
ใช้งานได้ถ้าคุณทำเช่นนั้นใช่ (เช่นถ้า Chrome ไม่ได้เริ่มเลยจะเปิดโปรไฟล์ที่ต้องการ) แต่ถ้าหนึ่งโปรไฟล์เริ่มต้นขึ้นแล้วการดำเนินการคำสั่งนั้นจะเปิดหน้าต่างใหม่สำหรับโปรไฟล์นั้นโดยไม่คำนึงว่าจะระบุโปรไฟล์ใด นั่นไม่ได้ช่วยในคำถามเนื่องจากวัตถุประสงค์คือการเปิดทั้งสองพร้อมกัน
Andrew Ferrier

@AndrewFerrier ขอบคุณสำหรับการแก้ไขของคุณตอนนี้ตอบได้ดีกว่า! หวังว่ามันจะช่วยคุณ! Luca
Maverik

1
ไม่ใช่ฉันตอนนี้! ดูเหมือนว่าฉันทำผิดดูเหมือนว่าตกลงตอนนี้ จะปล่อยให้มันทำงานสำหรับบิตดูว่าฉันยังคงประสบปัญหา ...
แอนดรู Ferrier

4

อัปเดต : ฉันไม่ใช้วิธีนี้อีกต่อไป แต่ตอนนี้ฉันใช้Epichromeซึ่งใช้งานได้ง่ายกว่าและทำงานได้ดีกว่า ฉันโพสต์คำตอบใหม่ด้วยข้อมูลนี้และฉันแนะนำให้คนอื่นใช้แทน


คำตอบเดิมพร้อมคำแนะนำด้วยตนเอง:

ฉันลองใช้สคริปต์จาก @Maverick และทำงานได้บางส่วน (ขอบคุณ!) แต่ฉันพบปัญหาบางอย่าง ปัญหาหลักคือสำเนาที่ห่อของ Chrome แม้ว่าจะเป็นอิสระมีไอคอนของตัวเองและทำงานอย่างถูกต้องด้วยตัวเองไม่สามารถเปิด URL ที่ส่งมาจากแอปพลิเคชันอื่นดังนั้นจึงไม่สามารถใช้งานได้กับ Choosy

นี่คือสิ่งที่ใช้ได้ผลสำหรับฉันในการรับ Chrome ตัวที่สองซึ่งสามารถเปิดลิงก์ผ่าน Choosy ได้เช่น:

  1. คัดลอกLibrary/Application Support/Google/ChromeไปยังLibrary/Application Support/Google/ChromePersonalในไดเรกทอรีบ้านของคุณ นี่เป็นทางเลือก ฉันต้องการถ่ายโอนโปรไฟล์ผู้ใช้ Chrome ของฉันไปยังอินสแตนซ์ใหม่ แต่ถ้าคุณเริ่มต้นใหม่คุณสามารถข้ามสิ่งนี้ได้
  2. คัดลอกGoogle Chrome.appไปยังตำแหน่งอื่น /Applications/Google Chrome Personal.appผมใช้
  3. คัดลอกสคริปต์ wrapper.sh ของฉัน (ด้านล่าง) ลงในContents/MacOSไดเรกทอรีของแอป
  4. chmod +x wrapper.sh
  5. แก้ไขContents/Info.plistในแอพใหม่นี้เพื่อ:
    • ชี้ไปที่สคริปต์ตัวตัด (ตั้งCFBundleExecutableค่าเป็นwrapper.sh)
    • มีเอกลักษณ์CFBundleIdentifier(เพียงเพิ่ม "ส่วนบุคคล" ให้กับค่าที่มีอยู่)
    • มีเอกลักษณ์CFBundleName(เพียงเพิ่ม "ส่วนบุคคล" ให้กับค่าที่มีอยู่)
    • มีเอกลักษณ์CFBundleDisplayName(เพียงเพิ่ม "ส่วนบุคคล" ให้กับค่าที่มีอยู่)

นี่คือสคริปต์ wrapper.sh ที่แก้ไขของฉัน วางไว้ที่/Applications/Google\ Chrome\ Personal.app/Contents/MacOS/wrapper.shแล้วแก้ไข Info.plist เช่นเดียวกับในขั้นตอนที่ 4

#!/bin/bash

# Wrapper script that starts independent instance of Google Chrome for Mac

# To use: copy Google Chrome.app to a new location.  Copy this script into
# the Contents/MacOS directory of the copied app.  Edit the copied app's
# Contents/Info.plist and change CFBundleExecutable to "wrapper.sh",
# and pick a unique CFBundleIdentifier.

# Instance data will be stored here.  You can copy your existing data 
# to this location if you want to preserve your existing user profile(s).
# You can also change this if you want to store the data somewhere else.
INSTANCE_DIR="/Users/$USER/Library/Application Support/Google/ChromePersonal"

# Find the Google Chrome binary:
CHOME_BIN="$(dirname "$0")/Google Chrome"

# Start Chrome
exec "$CHOME_BIN" --user-data-dir="$INSTANCE_DIR"

ข้อแม้อย่างหนึ่ง: ฉันเชื่อว่าคุณลักษณะการอัปเดตอัตโนมัติของ Chrome จะทำให้สิ่งนี้เสียหายทุกครั้งที่มีการอัปเดต Chrome ซึ่งหมายความว่าคุณต้องทำขั้นตอนที่ 3 และ 4 อีกครั้งหลังจากการอัปเดต Chrome ทุกครั้ง


ทำตามคำแนะนำเหล่านี้ฉันได้รับแอปที่ไม่เปิดตัว
Tom J Nowell

ขออภัย @TomJNowell! ฉันเดาว่าคงต้องพลาดสักก้าวเดียว อาจเป็นไปได้ว่าคุณต้อง chmod 755 สคริปต์ wrapper.sh? ของฉันสามารถใช้งานได้ หากคุณลองและแก้ไขปัญหาให้คุณโปรดแจ้งให้เราทราบเพื่อให้ฉันสามารถอัปเดตคำตอบได้
jbyler

chmod + x ทำกลอุบาย
Tom J Nowell

คุณสามารถป้องกันการอัปเดตอัตโนมัติโดยการเปลี่ยนแปลงที่สำคัญในKSProductID Info.plistหากคุณไปที่หน้าเกี่ยวกับคุณจะเห็น "แอป KSOmahaServer 'com.google.ChromePersonal' สถานะโหนดข้อมูล 'ข้อผิดพลาดที่ไม่รู้จักการสมัคร'. ... "; ข้อผิดพลาดเมื่อพยายามอัปเดตด้วยตนเอง
webXL

การติดตามผล: KSProductIDการปรับปรุงดูเหมือนจะปิดการใช้งานสำหรับฉันโดยไม่ต้องเปลี่ยน มันบอกว่ามีการอัปเดตที่พร้อมใช้งานจากนั้นฉันคลิกเปิดใช้งานใหม่และเปิดใช้งานอีกครั้งในเวอร์ชันเดียวกัน ฉันไม่ได้เปิดใช้งานการอัปเดตอัตโนมัติสำหรับผู้ใช้ทั้งหมดดังนั้นอาจเป็นเหตุผลหรือว่าฉันได้เปลี่ยนชื่อไฟล์ปฏิบัติการ
webXL

1

คำตอบเหล่านี้ไม่ได้ผลสำหรับฉันในวิธีที่ครอบคลุมภายใต้ Mac OS X Yosemite นี่คือโซลูชันของฉันซึ่งให้หลายอินสแตนซ์เมนูเรียกใช้งาน Dock สำหรับอินสแตนซ์และไอคอนแตกต่างกันสำหรับแต่ละอินสแตนซ์ เมื่อคุณเรียกใช้สคริปต์สคริปต์จะผ่านโปรไฟล์ทั้งหมดของคุณโดยอัตโนมัติจากนั้นบอกคุณว่าจะต้องทำอะไรต่อไป

#!/bin/bash

# cdi.sh - Make chrome profiles behave like multiple browsers on Mac OS X
#          (Tested on Yoshmite). Make profiles work like seperate applications
#          - esp. useful if you want to easily switch between different browsers
#          in different virtual desktops / workspaces, or don't want work
#          windows mixed in with home windows in the "Window" menu, or want to
#          be able to easily see what processes are with a certain profile in
#          chrome task manager, or be able to eaisly quit one profile with
#          multiple windows open and start where you left of later.

set -e

cd /Users/$USER/Library/Application\ Support/Google/Chrome

CDI="cdi-chrome-multiple-profile-instances-in-dock-with-different-icons.d"
APPLESCRIPTS="$CDI/Applescript-Sources"
LAUNCHERS="$CDI/Chrome-Launchers"
RUNTIMES="$CDI/Chrome-Runtimes"
test -d $CDI || mkdir $CDI
test -d $APPLESCRIPTS || mkdir $APPLESCRIPTS
test -d $LAUNCHERS || mkdir $LAUNCHERS
test -d $RUNTIMES || mkdir $RUNTIMES

grep '"username"' Profile*/Preferences Default/Preferences | grep -v '               ' | awk -F : '{print $1";"$3}' | sed 's:/Preferences::g' | sed 's:\@:-at-:g' | sed 's/;\ /;/g' > $CDI/profiles.txt
# Like: Profile 1;"webmaster-at-example.org"

echo "Be patient, this involves copying a lot of data..."

while read PROFILE; do

DIR="$(echo $PROFILE | awk -F\; '{print $1}')"
# Like: DIR='Profile 1'
echo "Working on profile: $DIR"

LINK="$(echo $PROFILE | awk -F\; '{print $2}' | sed 's/\ /\-/g' | sed 's/"//g' | sed 's/^/cdi-profile-/g')"
# Like: cdi-profile-webmaster-at-example.org

APP="$(echo $LINK | sed 's/^cdi-profile-//g' | sed 's/$/-DO-NOT-RUN-DIRECTLY-JUST-USE-FOR-CHANGING-ICON-cdi\.app/g')"
# Like: webmaster-at-example.org-DO-NOT-RUN-DIRECTLY-JUST-USE-FOR-CHANGING-ICON-cdi.app

SHIM="$(echo $LINK | sed 's/^cdi-profile-//g' | sed 's/$/\.app/g')"
# Like: webmaster-at-example.org.app

TXT="$APPLESCRIPTS/$(echo $LINK | sed 's:^cdi-profile-:chrome-:g' | sed 's/$/\.txt/g')"
# Like:
# cdi-chrome-multiple-profile-instances-in-dock-with-different-icons.d
# /Applescript-Sources/chrome-webmaster-at-example.org.txt

test -L "$LINK" || ln -s "$DIR" "$LINK"
cd "$LINK"
test -L Default || ln -s . Default
cd /Users/$USER/Library/Application\ Support/Google/Chrome
test -d "$RUNTIMES/$APP" || cp -R /Applications/Google\ Chrome.app "$RUNTIMES/$APP"

## This section disabled because enabling it makes automatic profile login not work.
## There is a chance someone who knows more about chrome will help at some point; see:
## https://code.google.com/p/chromium/issues/detail?id=460787
## https://groups.google.com/a/chromium.org/forum/#!topic/chromium-discuss/0HEeMuh8WqA
## https://github.com/lhl/chrome-ssb-osx
# Change Bundle ID so desktop assignation works. Not sure if this will survive updates.
# CFBundleIdentifier must contain only alphanumeric (A-Z,a-z,0-9), hyphen (-), and period (.) characters.
# (Based on fiddling around there also seems to be a length limit.)
#UUID="$(echo $APP | md5sum | awk '{print $1}' | tr [0-9] [A-Z] | cut -c 1-4,29-32)"
#plutil -replace CFBundleIdentifier -string "cdi.$UUID" -- "$RUNTIMES/$APP/Contents/Info.plist"
#plutil -replace CFBundleName -string "$UUID" -- "$RUNTIMES/$APP/Contents/Info.plist"
#plutil -replace CFBundleDisplayName -string "$UUID" -- "$RUNTIMES/$APP/Contents/Info.plist"
#plutil -replace KSProductID -string "cdi.$UUID" -- "$RUNTIMES/$APP/Contents/Info.plist"
# To check: defaults read ~/Library/Preferences/com.apple.spaces.plist app-bindings

echo "on run" > $TXT
echo -n "do shell script " >> $TXT
echo -n '"' >> $TXT
echo -n "/Users/$USER/Library/Application\\\\ Support/Google/Chrome/$RUNTIMES/$APP/Contents/MacOS/Google\\\\ Chrome --user-data-dir=/Users/$USER/Library/Application\\\\ Support/Google/Chrome/$LINK" >> $TXT
echo ' > /dev/null 2>&1 &"' >> $TXT
echo "quit" >> $TXT
echo "end run" >> $TXT
test -d "$LAUNCHERS/$SHIM" || osacompile -o "$LAUNCHERS/$SHIM" $TXT

done < $CDI/profiles.txt

echo
echo 'Done with automated portion. Now you should manually:'
echo
echo '1. Add (identical) icons of your choice to each pair of profile Launchers'
echo '   / Runtimes in the folder ~/Library/Application Support/Google/Chrome/'
echo '   cdi-chrome-multiple-profile-instances-in-dock-with-different-icons.d'
echo '   (google for numerous guides on how to change mac os x app icons)'
echo
echo '2. From the finder, drag the "Chrome-Launchers" folder to the stacks area'
echo '   of the dock. Right click on the stack and select "List" for easy viewing.'
echo '   Also select "Display as Folder" and give the folder a nice icon.'
echo
echo '3. BE SURE to only open Chrome via this stack. DO NOT pin the app-area'
echo '   Chrome icon(s) to the app area of the dock! DO NOT run "normal" Chrome!'
echo
echo 'The only exception to (3) is if you need to add a new profile. In that case,'
echo 'close all instances, then open the "normal" Chrome, add profile, close, and'
echo 'then run this script again.'
echo
echo 'Note: when you launch first time you will get "Welcome to Google Chrome"'
echo '      dialog box. This is normal; do not worry. It will ask if you want'
echo '      to set Chrome as default; this applies to that instance of chrome.'
echo '      Choosy - http://www.choosyosx.com/ - works great with this!'
echo

สำหรับไอคอนคุณสามารถใช้ PNG (หรือรูปแบบอื่น ๆ ก็ได้)

อวตาร chrome ที่คุณอาจเคยใช้อยู่ภายใต้ "~ / Library / Application Support / Google / Chrome / Avatars" - avatar_ninja.png เป็นต้น

หรือทำด้วยตัวเองหรือใช้หนึ่งในเว็บไซต์ที่ไอคอนต่าง ๆ นานา - ฉันชอบEasyicon

นอกจากนี้ยังมีประโยชน์เช่นกัน - วิธีรับรูปประจำตัวใน Chrome เพื่อเปลี่ยนโปรไฟล์ผู้ใช้อย่างง่ายดายยิ่งขึ้น - เพื่อทำให้หน้าต่างที่เปิดอยู่นั้นง่ายขึ้นในการระบุได้อย่างรวดเร็ว (ไม่ได้ทดสอบ)

สิ่งหนึ่งที่ยังใช้งานไม่ได้ก็คือความสามารถในการกำหนดอินสแตนซ์ของโปรไฟล์ผู้ใช้โครเมี่ยมต่าง ๆ ให้กับเดสก์ท็อปที่เฉพาะเจาะจง นี่เป็นเพราะหากแอตทริบิวต์ที่ใช้ทำสิ่งนี้เปลี่ยนไปเบราว์เซอร์จะไม่สามารถเข้าสู่โปรไฟล์นั้นโดยอัตโนมัติเมื่อเบราว์เซอร์เริ่มทำงาน ฉันได้โพสต์ฟอรัมและรายงานข้อผิดพลาดเกี่ยวกับปัญหานี้; มันเป็นปัญหาสำหรับเบราว์เซอร์เฉพาะไซต์ด้วยดังนั้นโครงการ chrome-ssb-osx อาจทำงานได้ในบางจุด ฉันไม่ได้รับคะแนนชื่อเสียง 10 คะแนนเพื่อรวมลิงก์มากกว่า 2 ลิงก์ในโพสต์ที่นี่ (ช่วยด้วย! :-) ดังนั้นคุณจะต้องดูลิงก์ไปยังสิ่งเหล่านี้ในสคริปต์ด้านบน (ส่วน "ปิดใช้งานส่วนนี้") )


เนื่องจากสิ่งนี้เริ่มมีความซับซ้อนขึ้นเล็กน้อยสิ่งใหม่ ๆ ทั้งหมดจะไปที่github.com/djbclark/chrome-apartheid
Daniel J Clark

1

ตอนนี้ฉันใช้Epichromeเพื่อจุดประสงค์นี้ Epichrome ได้รับการออกแบบมาสำหรับการสร้างเบราว์เซอร์เฉพาะไซต์ แต่คุณสามารถตั้งค่ากฎการกรองและไอคอนได้ตามที่คุณต้องการดังนั้นมันจึงสามารถสร้าง Chrome ตัวที่สองที่มีโปรไฟล์แยกต่างหากและไอคอน Dock แยกต่างหาก เบราว์เซอร์ที่สร้างโดย Epichrome นั้นใช้งานได้กับกลไกการอัปเดตของ Google ดังนั้นพวกเขาจะได้รับการอัปเดตด้วย Chrome เวอร์ชันล่าสุด

มันมี GUI ง่าย ๆ - ไม่ต้องเขียนโค้ดหรือคอมไพล์ใหม่ของ Chrome ฉันคิดว่ามันเป็นทางออกที่มั่นคงสำหรับปัญหานี้


-2

คุณลองรุ่นเบต้าแล้วหรือยัง? ฉันไม่สามารถทดสอบได้ในขณะนี้ดังนั้นฉันจึงไม่แน่ใจ 100% ว่ามันเป็นไอคอนที่แตกต่าง - และหากไม่เป็นเช่นนั้นคุณสามารถลองใช้ "canary build" -

ไม่ควรอยู่ไกลจากงานสร้างอย่างเป็นทางการในแง่ของการแสดงผลเพื่อให้คุณสามารถไว้วางใจในสิ่งที่คุณเห็น และคุณสามารถทำให้โปรไฟล์ผู้พัฒนาเป็นค่าเริ่มต้น


ฉันไม่ชัดเจนในสิ่งที่คุณแนะนำ คุณกำลังแนะนำให้เรียกใช้ Chrome สองเวอร์ชันที่แตกต่างกันในเวลาเดียวกันหรือไม่? (เสถียรและเบต้า) ฉันควรจะใช้ความเสถียรในกระดาน ขอบคุณสำหรับคำแนะนำแม้ว่า
Andrew Ferrier

FWIW ฉันดาวน์โหลด Chrome จากช่องเบต้าและมีไอคอนเหมือนกันดังนั้นน่าเสียดายที่มันไม่ช่วยฉันได้มากที่นั่น ...
Andrew Ferrier

FYI, Chrome Canary จริง ๆ แล้วมีไอคอนแตกต่างกัน แต่มีความเสถียรน้อยกว่า (มันใช้งานได้ทั่วไป)
studgeek
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.