Kérdésem van a válasz megválaszolásáról. Észrevettem, hogy sok HTML kód úgy tűnik, hogy működik a válasz előnézetében, de nem jelenik meg a végleges válasz. Miért vannak ezek blokkolva?

Kérdésem van a válasz megválaszolásáról. Észrevettem, hogy sok HTML kód úgy tűnik, hogy működik a válasz előnézetében, de nem jelenik meg a végleges válasz. Miért vannak ezek blokkolva?
Anonim

A rövid válasz az, hogy két különböző Markdown könyvtárat használunk az előnézet és a végleges válasz megjelenítéséhez. Ez a két különböző könyvtár különbözőképpen kezeli a HTML-t.

Válaszunkat „Markdown” nevű jelölőnyelv használatával formázzuk és formázzuk. A Markdown az előre definiált jelölést HTML-re konvertálja linkek, képek, fejlécek, dőlt betűk, kiemelések stb.

Anélkül, hogy túlságosan technikussá válnánk, a válasz előnézete a böngészőben a Javascript könyvtár használatával jön létre. Ezt gyorsasági okokból végezzük.

Amikor frissíti az oldalt, a válasz már átalakult HTML-re a Python Markdown könyvtárunk segítségével. Ezt azért csináljuk, mert azt szeretnénk, ha a válasz jól néz ki, amint eljut az oldalhoz. Ha úgy döntöttünk, hogy egyszerűen kiadjuk a nyers választ, majd a Javascript könyvtárunkkal konvertáljuk, először a "csúnya" nyers választ, majd a szépen formázott változatba ugrik. Ez nem olyan rossz, de a probléma az, hogy a Google és más botok, amelyek a keresési oldalunkat feltérképezik, nem futtatnak Javascript-et. Ezek a botok mindig látják a nyers, csúnya választ, ami sértheti a keresési rangot.

Miért kezelik a két könyvtár különbözőképpen a HTML-kódokat? A végső válaszért felelős "Python" könyvtár "elhagyja" a HTML-t, ami azt jelenti, hogy ezeket a HTML-kódokat veszi, és ártalmatlan szöveggé változtatja. Azt mondom, ártalmatlan, mert el tudod képzelni, hogy lehetővé teszi a felhasználók számára, hogy HTML-t írjanak be oldalunkra, hogy teljesen elpusztítsák az oldal elrendezését. Az előnézetért felelős Javascript könyvtár NEM menekül a HTML-ből, ami műszakilag hiba.

A jövőben eltávolítanunk kell a Javascript könyvtár képességét, hogy biztonsági okokból előnézze a HTML kódokat. Továbbra is egy könyvtárat használunk, hogy az összes Markdown-szöveget megadhassuk.