browserconfig.xml แบบง่าย / น้อยที่สุดสำหรับเว็บไซต์คืออะไร


111

ฉันไม่ต้องการทำอะไรพิเศษหรือยุ่งยากเกี่ยวกับ Windows 8 และการตรึงฉันแค่ไม่ต้องการเห็นข้อความ 404 Not Found เนื่องจาก IE มองหาการbrowserconfig.xmlเลื่อนโดยในไฟล์บันทึกของฉัน

มีbrowserconfig.xmlไฟล์เล็กน้อยที่ฉันสามารถใส่ไว้ในรูทของฉันที่จะตอบสนอง IE และทำหน้าที่เป็นตัวยึดตำแหน่งที่ดีฉันควรตัดสินใจเพิ่มการสนับสนุนที่ดีกว่าสำหรับ Window 8 ในภายหลังหรือไม่

คำตอบ:


79

ฉันเพิ่มรหัสเมตาลงในหัวของฉันแล้ว แต่ฉันก็ยังได้รับคำขอ browserconfig.xml ด้วย

ดังนั้นฉันคิดว่าวิธีที่ดีที่สุดคือ อ้างอิงจาก: http://msdn.microsoft.com/browserconfig.xml

<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
    <msapplication>
    </msapplication>
</browserconfig>

60

มีตัวอย่างใน MSDN หน้าไมโครซอฟท์เป็นเบราว์เซอร์อ้างอิงคีมาการกำหนดค่า

คุณใส่browserconfig.xmlไฟล์ในโฟลเดอร์รูทของเว็บเซิร์ฟเวอร์

คุณยังสามารถรวม:

<meta name="msapplication-config" content="none"/>

ใน HTML ของคุณเพื่อป้องกันไม่ให้ IE มองหาไฟล์นี้หากเป็นตัวเลือกสำหรับคุณก็อาจใช้ได้เช่นกัน


6
แม้ว่าฉันจะมีเมตาแท็กในหน้าของฉัน แต่ฉันก็ไม่ค่อยเห็นคำขอ browserconfig.xml จากตัวแทนผู้ใช้ที่ระบุว่าเป็น IE 11 ดังนั้นวิธีเดียวที่จะกำจัด 404 เหล่านี้ได้ก็คือการเพิ่มไฟล์เปล่าสำหรับ browserconfig XML ฉันลองตรึงโดยใช้ไฟล์เปล่าและไม่เห็นความแตกต่างว่ามีหรือไม่มีไฟล์ว่าง
Gerd K

4
ตัวอย่างนั้นไม่ใช่ "ง่ายที่สุด / น้อยที่สุด"
HorusKol

41

ทางออกที่ง่ายที่สุดคือใช้ตัวสร้างไฟล์ Microsoft Browserconfig.xml อย่างเป็นทางการ: http://www.buildmypinnedsite.com

คุณสามารถสร้างไฟล์ xml แบบเต็มและรับภาพขนาดทั้งหมดของโลโก้ได้ใน 3 ขั้นตอน ฉันเพิ่งทำเพื่อไซต์ของฉันและใช้เวลาเพียง 2 นาที

มันจะสร้างไฟล์ browserconfig.xml แบบเต็มและใส่รูปภาพที่มีชื่อทั้งหมดไว้ในไฟล์ zip เดียว

แก้ไข 1/8/2015:ฉันเพิ่งพบตัวเลือกอื่น: http://realfavicongenerator.net/

ประโยชน์ของเว็บไซต์นี้คือสร้าง browserconfig.xml ของคุณและไอคอน apple-touch- *, favicon และอื่น ๆ โดยทั่วไปเป็นเว็บไซต์ครบวงจรสำหรับการสร้างทุกอย่างเพียงครั้งเดียว


3
นี่เป็นทางออกที่ดี แต่ไม่ตอบโจทย์ OP เพราะต้องการแค่ตัวยึดตำแหน่ง
Rob

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

น่าเสียดายที่ไม่มีไซต์ใดสร้างไฟล์ browserconfig.xml
ปีเตอร์

23

การเพิ่มmetaแท็กอาจทำได้หรือไม่ได้ เราได้เพิ่มแท็กนี้แล้ว แต่เรายังคงได้รับข้อผิดพลาด 404 สำหรับbrowserconfig.xmlคำขอตลอดเวลา ในตอนท้ายเราตัดสินใจทำ xml แบบง่ายๆ

browserconfig.xmlหน้าตาของเราจะเป็นแบบนี้และโดยพื้นฐานแล้วมันบอกตำแหน่งของภาพ 4 ภาพ

<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
    <msapplication>
        <tile>
        <square70x70logo src="/mstile-70x70.png"/>
        <square150x150logo src="/mstile-150x150.png"/>
        <wide310x150logo src="/mstile-310x150.png"/>
        <square310x310logo src="/mstile-310x310.png"/>
        <TileColor>#8bc53f</TileColor>
        <TileImage src="/mstile-150x150.png" />
        </tile>
    </msapplication>
</browserconfig>

และใส่สิ่งนี้ใน html ของคุณ:

<meta name="msapplication-config" content="/browserconfig.xml" />

และตอนนี้ก็โอเค


6

คุณสามารถเพิ่มลงใน HTML ของคุณได้เช่นกันและตั้งค่าการกำหนดค่าเป็น "ไม่มี" ดังนี้:

<meta name="msapplication-TileColor" content=" #009900" />
<meta name="msapplication-square70x70logo" content="images/smalltile.png" />
<meta name="msapplication-square150x150logo" content="images/mediumtile.png" />
<meta name="msapplication-wide310x150logo" content="images/widetile.png" />
<meta name="msapplication-square310x310logo" content="images/largetile.png" />
<meta name="msapplication-config" content="none"/>

แหล่งที่มา:

http://samples.msdn.microsoft.com/iedevcenter/PinnedSites/scenario1.html https://msdn.microsoft.com/library/dn320426


6
การเพิ่มเมตาแท็กทั้งหมดนี้น่าจะเป็นทางออกที่แย่ที่สุด IMO ถ้าคุณทำเช่นนั้นคุณจะส่งทุกข้อมูลนั้นไปยังทุกผู้เข้าชมเว็บไซต์ของคุณในทุกมุมมองหน้า ข้อดีสองประการของ browserconfig.xml คือ 1. คนเดียวที่ได้อะไรคือคนที่ใช้เบราว์เซอร์ที่ใส่ใจและ 2. เบราว์เซอร์สามารถแคชไฟล์และไม่ดาวน์โหลดอีก
ชาด

5

มีวิธีที่สามในการป้องกันไม่ให้browserconfig.xmlกรอกไฟล์บันทึกของคุณด้วยข้อผิดพลาด 404 คุณสามารถส่งคืนค่า null (444) จากเซิร์ฟเวอร์และปิดการบันทึกเฉพาะตำแหน่งนั้น สิ่งนี้มีความเกี่ยวข้องเนื่องจาก favicon.ico ทำสิ่งเดียวกันโดยไม่สนใจแท็ก meta head และเบราว์เซอร์ที่เรียกมัน (สร้าง 404 ด้วย) ปัญหาใหญ่กว่าไฟล์ที่ไม่ต้องการเพียงไฟล์เดียว

สำหรับคำถามเฉพาะของคุณเกี่ยวกับการป้องกันข้อผิดพลาด 404 ในบันทึกของคุณบน browser.xml - สำหรับ NGINX คุณสามารถสร้างไฟล์ใหม่/etc/nginx/snippets/จากนั้น#includeไฟล์นั้นใน/etc/nginx/sites-available/example.orgไฟล์ของคุณภายในบล็อกเซิร์ฟเวอร์

ตัวอย่าง: /etc/nginx/snippets/block-known-errors.confมีเนื้อหาดังต่อไปนี้:

location ~* /(favicon.ico|browserconfig.xml)$
   { access_log off; log_not_found off; return 444; }

จากนั้นในการกำหนดค่าของ/etc/nginx/sites-available/example.orgคุณคุณจะเพิ่ม:

include /etc/nginx/snippets/block-known-errors.conf;

หมายเหตุในสเปคที่ตั้งใน NGINX ใช้การแสดงออกปกติและเป็นกรณีตาย และเนื่องจากเป็นสิ่งที่locationต้องอยู่ภายในserverข้อกำหนด

ในทางปฏิบัติจริงๆแล้วเราจะรวมไฟล์ของเราไว้ใน/etc/nginx/snippets/โฟลเดอร์และมีการรวมแบบโกลบอลหนึ่งรายการและการรวมอื่น ๆ สำหรับไซต์เฉพาะขึ้นอยู่กับข้อกำหนดด้านความปลอดภัย / เทคโนโลยี สิ่งนี้ช่วยให้ปลายทางของเราสามารถแก้ไขปัญหาทั่วโลกได้เกือบจะในทันทีโดยการเพิ่มไฟล์เดียวหรือแก้ไขไฟล์ที่มีอยู่เพื่อจัดการบันทึกของเรา

มีเพียงปมมากมายที่คุณสามารถมองเห็นได้ด้วย OSSEC และ ELK stack

ฉันแน่ใจว่า mod_rewrite ใน Apache สามารถทำได้เช่นกัน


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