เครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ · HTML บรรณาธิการ WYSIWYG
จะเกิดอะไรขึ้นเมื่อคุณวางจาก Word หรือ Google Docs ลงใน Web Editor
· มันทำงานอย่างไร
html เป็นที่พอใจ การล้างข้อความ
อธิบายว่าการวางข้อความแบบ Rich-Text มีอะไรบ้าง ตั้งแต่สไตล์ MSO ไปจนถึงองค์ประกอบตัวตัดและสแต็กแบบอักษร และแสดงวิธีอ่านมาร์กอัปผลลัพธ์ก่อนที่จะมาถึงไซต์ของคุณ
มันดูดีใน Word — เปิดขึ้นพร้อมกับบทความที่วางซึ่งมีระยะห่างและแบบอักษรที่ขัดแย้งกับการออกแบบไซต์
ย่อหน้าที่คัดลอกจากโปรแกรมประมวลผลคำสามารถดูต้นฉบับได้สวยงามและมีแบบอักษร การเว้นวรรค และตัวตัดคำที่ขัดแย้งกับไซต์ ToolAcre ไม่สงวนการนำเสนอนั้นไว้ขายส่ง Listener แบบวางจะขัดขวางการดำเนินการก่อนที่จะแทรกมาร์กอัปแบบสมบูรณ์ดั้งเดิม และเลือกการแสดงที่กรองแทน
หลักฐานที่สำคัญคือมุมมองแหล่งที่มา ไม่ใช่ว่าการแสดงภาพครั้งแรกจะคล้ายกับเอกสารต้นฉบับหรือไม่ ตัวแก้ไขตั้งใจจำกัดให้แคบลง: ส่วนหัว ย่อหน้า การเน้น รายการ เครื่องหมายคำพูด องค์ประกอบที่คล้ายโค้ด และลิงก์สามารถคงอยู่ได้ ในขณะที่คอนเทนเนอร์โครงร่าง ชื่อคลาส รหัส และคุณลักษณะสไตล์อินไลน์ไม่อยู่ในสัญญาส่งออก
คลิปบอร์ดมีมากกว่าข้อความ — อธิบายว่าสำเนา Rich Text มีรสชาติ HTML ควบคู่ไปกับข้อความธรรมดา
คลิปบอร์ดสามารถเปิดเผย `text/html` และ `text/plain` สำหรับการคัดลอกหนึ่งครั้ง ผู้จัดการขอทั้งสองอย่าง เมื่อเพย์โหลด HTML มีอยู่ มันจะฆ่าเชื้อสตริงนั้นและแทรกส่วนที่เขียนใหม่ด้วย `insertHTML`; เฉพาะเมื่อไม่มี Rich HTML เท่านั้น มันจะแทรกเพย์โหลดธรรมดาด้วย `insertText`
ลำดับความสำคัญดังกล่าวได้รับการพิสูจน์ด้วยโค้ดแล้วสำหรับกลุ่มนี้ ไม่ใช่คำสั่งสากลเกี่ยวกับทุกแอปพลิเคชัน มันอธิบายว่าทำไมการวางแบบเข้มข้นจึงสามารถเก็บรายการไว้ได้ในขณะที่สูญเสียรูปลักษณ์ไป แอปพลิเคชันต้นทางเขียนคลิปบอร์ด HTML แต่รายการที่อนุญาตของ ToolAcre จะตัดสินว่าส่วนใดที่จะยอมรับในพื้นที่ที่แก้ไขได้
สิ่งที่ตัวแก้ไขนี้ลบออกจาก Rich Paste: องค์ประกอบ แอตทริบิวต์ และความคิดเห็นที่ไม่รองรับ
องค์ประกอบที่ไม่สนับสนุนได้รับการจัดการในสองวิธี Wrapper ธรรมดาที่ไม่รู้จักจะถูกแกะออกเพื่อให้คำยังคงอยู่ ในขณะที่สคริปต์ สไตล์ iframe แบบฟอร์ม SVG MathML และคอนเทนเนอร์ที่มีความเสี่ยงหรือไม่ใช่ตัวแก้ไขอื่นๆ จะถูกลบออกพร้อมกับเนื้อหา ความคิดเห็นและประเภทเอกสารก็จะถูกละทิ้งไปแทนที่จะนำไปรวมไว้ในฉบับร่าง
คุณสมบัติหันหน้าไปทางประตูที่สอง คลาส, ID, สไตล์, คุณลักษณะข้อมูลและตัวจัดการเหตุการณ์ทั้งหมดจะถูกลบออกเนื่องจากมีการตั้งชื่อแอตทริบิวต์ที่อนุญาตตามองค์ประกอบ ซึ่งหมายความว่าชื่อคลาสเฉพาะของแหล่งที่มาและการนำเสนอแบบอินไลน์ไม่สามารถต่อสู้กับสไตล์ชีตปลายทางได้หลังจากที่ ToolAcre กรองการวางแล้ว แม้ว่าสไตล์ของแหล่งที่มาที่มีประโยชน์อาจหายไปเช่นกัน
เหตุใด Wrapper และสไตล์เฉพาะแหล่งที่มาจึงไม่อยู่ในรายการที่อนุญาต
พื้นที่เก็บข้อมูลไม่มีโปรแกรม Word หรือ Google Docs ที่บันทึกไว้ ดังนั้นบทความนี้จึงไม่สร้างคลาส `mso-` รหัสภายใน หรือลำดับ wrapper ที่แน่นอนสำหรับรุ่นเฉพาะ โดยสามารถระบุผลลัพธ์ที่พิสูจน์โดยรายการที่อนุญาต: คลาสและสไตล์จะถูกลบออกโดยไม่คำนึงถึงแหล่งที่มาของแอปพลิเคชันที่ให้มา
กฎที่ไม่เชื่อเรื่องแหล่งที่มานั้นเป็นคำแนะนำด้านบรรณาธิการที่แข็งแกร่งกว่าแคตตาล็อกที่เปราะบาง ตรวจสอบประกาศการลบหลังจากวาง โดยจะบันทึกเหตุผลที่ไม่ซ้ำกัน เช่น wrapper ที่ไม่รองรับ แอตทริบิวต์ที่ต้องห้าม หรือ URL ที่ถูกปฏิเสธ รายงานจะบอกคุณว่าการใช้งานนี้ละทิ้งอะไรไปโดยไม่แสร้งทำเป็นว่าระบุแอปพลิเคชันที่สร้างทุกส่วนตั้งแต่แรก
ตัวอย่างการทำงาน: วางสามย่อหน้าแล้วอ่านมาร์กอัปที่กรอง
คัดลอกย่อหน้าสั้นๆ สามย่อหน้า โดยกำหนดให้ประโยคกลางเป็นตัวหนา และย่อหน้าสุดท้ายเป็นรายการ หลังจากวางแล้ว ให้สลับไปที่โหมดแหล่งที่มา องค์ประกอบย่อหน้า, strong, ul และ li อยู่ในรายการที่อนุญาต ในขณะที่ div ที่อยู่รอบๆ จะถูกคลายออก และแอตทริบิวต์สไตล์จะหายไป แท็ก b และ i แบบเดิมจะปรับให้เป็นมาตรฐานและแบบ em
ตอนนี้เพิ่มแอตทริบิวต์เหตุการณ์ที่ไม่ปลอดภัยในตัวอย่างแหล่งที่มาแบบใช้แล้วทิ้งและกลับสู่โหมดภาพ แอตทริบิวต์จะถูกลบออกก่อนที่แหล่งที่มานั้นจะกลายเป็น DOM สิ่งนี้แสดงให้เห็นถึงขอบเขตการแก้ไข ไม่ใช่การเผยแพร่การส่งเนื้อหาที่ไม่เป็นมิตรอย่างปลอดภัย โครงการเตือนอย่างชัดเจนเกี่ยวกับส่วนต่างของ parser และต้องการตัวฆ่าเชื้อฝั่งเซิร์ฟเวอร์ที่เหมาะสมสำหรับเนื้อหาที่ไม่น่าเชื่อถือ
การวางข้อความธรรมดาจะใช้เฉพาะเมื่อคลิปบอร์ดไม่มีรสชาติ HTML
การแทรกข้อความธรรมดาเป็นทางเลือก ไม่ใช่คำสั่ง "วางโดยไม่มีการจัดรูปแบบ" ที่ผู้ใช้สามารถเลือกได้ในแถบเครื่องมือนี้ หากคลิปบอร์ดระบุ HTML ToolAcre จะใช้สาขานั้น ทางลัดของเบราว์เซอร์หรือระบบปฏิบัติการอาจเปิดเผยการวางแบบธรรมดาเท่านั้น แต่พื้นที่เก็บข้อมูลไม่ได้กำหนดหรือรับประกันพฤติกรรมของทางลัดที่เฉพาะเจาะจง
เมื่อมีเฉพาะข้อความเท่านั้น `insertText` ขอให้เบราว์เซอร์วางอักขระเหล่านั้นไว้ที่เครื่องหมายรูปหมวก โครงสร้างย่อหน้าใดๆ ที่สร้างขึ้นในภายหลังยังคงขึ้นอยู่กับลักษณะการแก้ไขของเบราว์เซอร์ ใช้มุมมองต้นฉบับเพื่อเพิ่มส่วนหัวหรือรายการโดยเจตนา แทนที่จะถือว่าการขึ้นบรรทัดใหม่จากแอปพลิเคชันอื่นกลายเป็นโครงสร้างที่ CMS ของคุณคาดหวังโดยอัตโนมัติ
สิ่งที่ไม่ครอบคลุม ได้แก่ กฎการล้างข้อมูลอัตโนมัติ ตัวกรองการวางเฉพาะ CMS หรือการรักษาการเปลี่ยนแปลงที่ติดตาม
เวิร์กโฟลว์นี้ไม่รักษาการเปลี่ยนแปลง ความคิดเห็น เค้าโครงหน้า แบบอักษร สี ตาราง หรือรูปภาพที่ติดตาม รูปภาพหายไปโดยเจตนาเนื่องจากรูปภาพที่อนุญาตสร้างคำขอขาออกและพื้นผิวตัวจัดการข้อผิดพลาด ตัวแก้ไขยังไม่มีโปรไฟล์การล้างข้อมูลเฉพาะแหล่งที่มาหรือสวิตช์ที่รับประกันความเที่ยงตรงของชุดโปรแกรมสำนักงานชุดเดียว
การวางในเครื่องไม่ได้พิสูจน์ว่าปลายทางสุดท้ายจะยอมรับชุดย่อยเดียวกัน CMS อาจตัดแท็กเพิ่มเติม เขียนลิงก์ใหม่ หรือบังคับใช้นโยบายของตนเอง เปรียบเทียบเอาต์พุตของตัวแก้ไขกับเอกสารปลายทาง และเก็บสำเนาต้นฉบับไว้เมื่อสูญเสียการจัดรูปแบบที่ไม่รองรับจะเป็นการลบข้อมูลแทนที่จะเป็นเพียงการนำเสนอ
ประเด็นสำคัญ: ดูก่อนที่คุณจะเผยแพร่ — สรุปพฤติกรรมการตรวจสอบและวิธีที่โปรแกรมแก้ไข HTML WYSIWYG ของ ToolAcre ให้คุณวางในเครื่องและดูมาร์กอัปก่อนที่จะไปที่ใดก็ได้
ดูก่อนที่จะเผยแพร่: วางตัวแทน ส่วนที่ไม่ละเอียดอ่อน อ่านคำเตือนการลบ ตรวจสอบแหล่งที่มา และดูตัวอย่างผลลัพธ์ที่กรอง ToolAcre แสดงรายการที่อนุญาตอย่างชัดเจนรายการเดียว แทนที่จะส่งการนำเสนอจากต่างประเทศมาในไซต์ของคุณโดยไม่ส่งเสียง นั่นทำให้มองเห็นการล้างข้อมูลได้ แต่ไม่ได้รับรองโดยพลการ HTML ว่าปลอดภัย
หากโครงสร้างสำคัญหายไป ให้สร้างใหม่โดยใช้ส่วนหัว ย่อหน้า รายการ การเน้น และลิงก์ที่รองรับ หากเป้าหมายยอมรับน้อยลง ให้ลดความซับซ้อนลงไปอีก อาร์ติแฟกต์ที่ถูกต้องไม่ใช่การเลียนแบบด้วยภาพใกล้เคียงที่สุดของเอกสารต้นฉบับ เป็นมาร์กอัปที่ได้รับการตรวจสอบซึ่งเข้าใจทั้งความหมายและนโยบายปลายทาง