เป็นไปได้ไหมที่จะใช้งาน Chrome ทั้งที่มีและไม่มีการรักษาความปลอดภัยเว็บพร้อมกัน?


37

ฉันเพิ่งพบว่าฉันสามารถปิด Chrome "ความปลอดภัยของเว็บ" โดยใช้อาร์กิวเมนต์บรรทัดคำสั่งทำให้การพัฒนา JavaScript ง่ายขึ้น ปัญหาคือฉันไม่สามารถเรียกใช้งาน "อินสแตนซ์" ของ Chrome ได้มากกว่าหนึ่งครั้ง หากฉันchrome.exe --disable-web-securityในขณะที่ Chrome กำลังทำงานอยู่มันเพิ่งเปิดหน้าต่างใหม่ภายในอินสแตนซ์ที่กำลังทำงานอยู่และละเว้นอาร์กิวเมนต์บรรทัดคำสั่งของฉัน ฉันสามารถปิด Chrome ได้อย่างสมบูรณ์และเปิดใหม่อีกครั้งด้วยอาร์กิวเมนต์บรรทัดคำสั่งด้านบน แต่หน้าต่างทั้งหมดของฉันจะทำงานโดยไม่มีการรักษาความปลอดภัยเว็บซึ่งเป็นสิ่งที่ไม่ดีสำหรับการใช้เบราว์เซอร์ทั่วไป

ดังนั้นเพื่อสรุปคำถาม: เป็นไปได้ไหมที่จะเริ่มต้นอินสแตนซ์ของ Chrome ด้วยการ--disable-web-securityตั้งค่าสถานะในขณะที่อินสแตนซ์ของ Chrome กำลังทำงานอยู่?


หมายเหตุ:ฉันสงสัยว่าคำตอบอาจอยู่ในสวิตช์บรรทัดคำสั่งของ Chromeแต่มีเพียง ... จำนวนมาก ...

คำตอบ:


41

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

chrome.exe --user-data-dir="C:/Chrome dev session" --disable-web-security

และหน้าต่าง Chrome ใหม่จะเปิดขึ้นพร้อมกับปิดการรักษาความปลอดภัยเว็บ เย้!


หมายเหตุ:หมายความว่าการลากและวางหน้าต่างจะไม่ทำงานระหว่างหน้าต่างทั้งสองนี้


1
You can tell Chrome to start a new session by passing it a new user data directory. ได้; อันที่จริงมันทำสิ่งนี้กับสวิตช์ส่วนใหญ่; "อินสแตนซ์" คือ Chrome ที่มีชุดอาร์กิวเมนต์ที่ไม่ซ้ำกัน (ในลำดับใดก็ได้) ตอนนี้อาจไม่ทำงานเหมือนเดิม แต่user-data-dirอย่างน้อยที่สุดจะยังคงทริกเกอร์อินสแตนซ์ใหม่ Window drag & drop won't work between these two windows. Nope; เท่าที่เกี่ยวข้องกับ Chrome พวกเขามาจากเบราว์เซอร์ / แอพสองตัวที่แตกต่างกัน ระวังตัวจัดการ: การรัน.htmไฟล์หรือคั่นหน้าจะเปิดขึ้นในอินสแตนซ์ที่มี args ที่ระบุในการลงทะเบียนประเภท
Synetech

มีวิธีทำเช่นนี้ใน Mac OS X หรือไม่?
สิงหาคม

1
@aug: ฉันไม่สามารถทดสอบนี้ แต่ลอง open -a /Applications/Chrome.app --user-data-dir="/tmp/chrome_dev_session" --disable-web-security(จากขั้ว): ฉันสมมติว่าที่นี่ว่า OSX มีไดเรกทอรี "/ tmp /" คุณสามารถเปลี่ยนเส้นทางได้หากไม่มี
Hubro

1
ฉันได้รับแล้วyou are using an unsupported command-line flag disable-web-security
CodyBugstein

1
@CoryMawhorter นี่มีอยู่แล้วในคำตอบด้านล่าง
Hubro

6

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

chrome.exe --allow-file-access-from-files --disable-web-security

3

การตอบสนองต่อความคิดเห็นของ @aug และ @ hubro คุณสามารถใช้การตั้งค่าสถานะopenของคำสั่ง-nเพื่อเปิดอินสแตนซ์ใหม่ของแอปผ่านทางเทอร์มินัลของ Mac OS X:

open -n -a /Applications/Chrome.app

คุณสามารถเพิ่มการตั้งค่าสถานะใด ๆ ที่คุณต้องการใช้ (เช่น--disable-web-security) บนส่วนท้ายของคำสั่งนั้น


นี่ดูเหมือนจะไม่สร้างอินสแตนซ์ใหม่ เพราะเมื่อฉันลองในตัวอย่างเก่า (ด้วยการรักษาความปลอดภัยไม่ได้ปิดการใช้งาน) ฉันสามารถทำ cors
tobbe

ใช่แล้วคุณพูดถูก! หน้า man ของopenคำสั่งระบุว่าการ-nตั้งค่าสถานะสำหรับเปิดอินสแตนซ์ใหม่ของแอปพลิเคชัน แต่ดูเหมือนว่า Chrome & Chromium มีตรรกะบางอย่างที่ป้องกันไม่ให้เปิดแอปพลิเคชันหลายอินสแตนซ์ ตัวอย่างเช่นคำสั่งใช้งานได้สำหรับ Safari
arielkirkwood

เนื่องจากคำตอบนี้ไม่ถูกต้องคุณสามารถลบมันได้หรือไม่
Noel Yap

1
ฉันไม่ได้มีแม็ค แต่ผมได้ยินมาว่ามันทำงานได้ถ้าคุณรวมตัวเลือก --user-data-dir open -n -a /Applications/Chrome.app --user-data-dir="/tmp/chrome_dev_session" --disable-web-securityเพิ่มเติม: โปรดลองดู
Sam Watkins

1
@ วิธี SamWatkins ทำงานให้ฉันใน macOS Sierra แต่หลังจากเพิ่มการ--argsตั้งค่าสถานะและเปิดปฏิบัติการ Chrome (ไม่ใช่คอนเทนเนอร์ Chrome.app); ดังนั้น:open -n -a /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --args --user-data-dir="/tmp/chrome_dev_session_2" --disable-web-security
Bungle

3

สำหรับ Mac:

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --user-data-dir="/tmp/chrome_dev_session" --disable-web-security 

แทนที่ด้วยพา ธ เฉพาะของคุณไปยัง Chrome หากจำเป็น


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