เหตุใดนักพัฒนา Firefox จึงใช้ chrome: // urls เพื่อโหลดสคริปต์ [ซ้ำ]


14

ฉันเพิ่งดาวน์โหลดสำเนาของเบราว์เซอร์ Firefox Developer Edition ใหม่และเริ่มเล่นซอกับเครื่องมือ dev

ฉันสังเกตเห็นว่ามีการโหลดลิงก์และสคริปต์บางรายการผ่านchrome://URL ซึ่งฉันคิดว่าได้ลงทะเบียนกับ Google Chrome แล้ว

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

นี่คือบางส่วนของเส้นเหล่านั้นโดยเฉพาะ

<link id="favicon" rel="icon" type="image/png" href="chrome://branding/content/icon32.png"></link>
<link rel="stylesheet" type="text/css" media="all" href="chrome://browser/content/searchSuggestionUI.css"></link>
<link rel="stylesheet" type="text/css" media="all" defer="defer" href="chrome://browser/content/abouthome/aboutHome.css"></link>
<script type="text/javascript;version=1.8" src="chrome://browser/content/abouthome/aboutHome.js"></script>
<script type="text/javascript;version=1.8" src="chrome://browser/content/searchSuggestionUI.js"></script>

ฉันสงสัยว่าพวกเขากำลังจี้สินทรัพย์ Chrome หรือไม่ แต่หลังจากตรวจสอบสคริปต์ตัวใดตัวหนึ่งฉันพบข้อคิดเห็น Mozilla

/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

ฉันไม่ค่อยรู้เกี่ยวกับโปรโตคอลที่กำหนดเองหรือวิธีการลงทะเบียนหรือใช้งาน เกิดอะไรขึ้นที่นี่?

คำตอบ:


36

Chrome ในกรณีนี้ไม่ได้อ้างถึงเบราว์เซอร์ Chrome แต่เป็นส่วน "ส่วนต่อประสานผู้ใช้" ของ Firefox

ดูhttps://developer.mozilla.org/en-US/docs/Glossary/Chromeสำหรับข้อมูลเพิ่มเติม:

โดยปกติแล้ว

Chromeเป็นคำศัพท์สำหรับส่วนต่าง ๆ ของส่วนต่อประสานผู้ใช้ของเว็บเบราว์เซอร์นอกเหนือจากเว็บเพจที่แสดงอยู่

"Chrome" มักใช้เพื่ออ้างถึงเว็บเบราว์เซอร์ Google Chrome

...

รหัส chromeหรือรหัสพิเศษของ chromeคือชื่อที่กำหนดให้กับรหัส JavaScript ใน Firefox ที่ใช้เบราว์เซอร์เอง

สำหรับการอ้างอิงในอนาคต Mozilla Developer Network (MDN) มีความรู้มากมายในทุกสิ่งที่ Mozilla


36
และโปรดทราบว่า MOzilla ใช้คำนี้นานเกินกว่าที่เบราว์เซอร์ Chrome จะคุ้นเคย
Mr Lister

17
และที่จริงแล้ว Google Chrome นั้นได้รับการตั้งชื่อตามแนวคิดของเบราว์เซอร์ chrome เนื่องจากได้รับการออกแบบมาให้เป็นเบราว์เซอร์ที่ตัดโครเมี่ยมที่ไม่จำเป็นออกไปให้มากที่สุด
3Doubloons

2
@ 3Doubloons Chrome ปัจจุบันยังมีปรัชญานี้อยู่หรือไม่? การใช้ Chrome โดยเฉพาะบน Mac เป็นเบราว์เซอร์ที่ช้าที่สุดและใช้หน่วยความจำมากที่สุด
theGreenCabbage

4
@theGreenCabbage: การใช้หน่วยความจำ (ประสิทธิภาพ) ไม่เกี่ยวข้องโดยตรงกับการใช้งานแบบเรียบง่าย (อาจเป็นการเคลื่อนไหวศิลปะสมัยใหม่) แม้ว่าในทางทฤษฎีแล้ว UI ที่น้อยที่สุดควรใช้ทรัพยากรน้อยกว่าซึ่งไม่เป็นความจริงเมื่อเพื่อให้บรรลุถึงความเรียบง่ายนั้น (เช่นใน Google Chrome) คุณไม่ต้องสนใจระบบปฏิบัติการที่ให้ API สำหรับ Windows ฯลฯ และเขียนทุกอย่างด้วยตัวเอง
slebetman

1

โปรโตคอลที่กำหนดเองหรือวิธีที่พวกเขาลงทะเบียนหรือใช้งาน

มันเป็นสิ่งสำคัญที่จะต้องทราบว่านี่คือไม่โปรโตคอล แต่เป็นโครงการ URI โปรโตคอลเครือข่ายกำหนดรูปแบบของการสื่อสาร โครงการ URI ระบุความหมายของ URI

ซึ่งฉันคิดว่าถูกลงทะเบียนสำหรับ Google Chrome

IANA เก็บรักษารายการแผนการ URI ชั่วคราว chromeโครงการมีการลงทะเบียนในปัจจุบันเป็นโครงการชั่วคราวมีสองคำจำกัดความ: หนึ่งสำหรับการใช้งานของ Mozilla และสำหรับการใช้งาน Google

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

หนึ่งในแนวทาง RFC 4395 สำหรับการลงทะเบียนรูปแบบชั่วคราวคือ:

  There is not already an entry with the same URI scheme name.  (In
  the unfortunate case that there are multiple, different uses of
  the same scheme name, the IESG may approve a request to modify an
  existing entry to note the separate use.)

ที่น่าสนใจคือทั้งคำจำกัดความที่ลงทะเบียนในปัจจุบันมีรายชื่อผู้ติดต่อเดียวกันซึ่งใช้ที่microsoft.comอยู่อีเมล - และแม่แบบการลงทะเบียนดั้งเดิมคือในปี 2012 หลังจากทั้ง Mozilla และ Chrome ใช้งานแล้ว ดังนั้นดูเหมือนว่า Mozilla จะไม่ลงทะเบียนกับ IANA และตอนนี้เราอยู่ในสถานการณ์นี้ด้วยการใช้สองชื่อต่างกัน


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