Startpagina » Coding » HTML5 Contenteditable Attribuut Bewerk Web Content op Front-end

    HTML5 Contenteditable Attribuut Bewerk Web Content op Front-end

    Een van de nieuwe functies in HTML5 dat trok me aan, is de native front-end editor. Deze functie wordt vaak toegepast in Content Management Systems om inhoud rechtstreeks vanuit de browser te bewerken en wordt meestal volledig gebouwd met JavaScript en AJAX. HTML5 komt om het proces een beetje gemakkelijker te maken contenteditable attribuut.

    Wat het doet

    Wanneer dit kenmerk wordt toegepast op elk element, kunnen we dit doen Bewerk de inhoud erin, laten we het onderstaande voorbeeld bekijken:

    Cookie muffin croissant. Faworki Deens koekje. Jujubes poeder koekje koekje halvah halvah. Biscuit gummies jelly biscuit.

    Zoete rol tiramisu chocoladereep suikerpruim karamels tootsie rolkaramels. Chocolate cake wypas suikerspin glazuur. Sesame snaps zoethout gebak croissant karamels fruitcake peperkoek biscuit. Donut toffee snoep stokken.

    In dit voorbeeld hebben we toegevoegd contenteditable attribuut en stel het in waar zodat de inhoud bewerkbaar wordt. Er zijn twee andere waarden die voor dit kenmerk kunnen worden toegevoegd;

    • vals wat het tegenovergestelde doet: de inhoud kan niet worden bewerkt
    • erven; het zal de inhoud bewerkbaar maken wanneer het directe ouder is ook bewerkbaar.
    • Demo bekijken

    Als je de bovenstaande demo hebt uitgecheckt, kun je zien dat de inhoud rechtstreeks vanuit de browser kan worden bewerkt. Er moet echter worden opgemerkt dat dit element niet de opslag van de wijzigingen die we hebben aangebracht dekt, dus wanneer u de pagina vernieuwt nadat u de wijziging hebt aangebracht, wordt de inhoud teruggezet.

    Hoe de wijzigingen op te slaan

    Het opslaan van wijzigingen hangt af van waar we de gegevens opslaan; gewoonlijk wordt het opgeslagen in een database. Maar omdat we geen databasetoegang hebben, laten we u in deze zelfstudie zien hoe u de wijzigingen kunt opslaan lokale opslag. Om dit te doen, zullen we ook een beetje jQuery gebruiken om de code eenvoudiger te maken. Ik raad u aan om een ​​kijkje te nemen naar Het verleden, het heden en de toekomst van lokale opslag voor webtoepassingen als verdere referentie.

    Laten we eerst een toevoegen knop naast onze inhoud.

     

    Zoete rol tiramisu chocoladereep suikerpruim karamels tootsie rolkaramels. Chocolate cake wypas suikerspin glazuur. Sesame snaps zoethout gebak croissant karamels fruitcake peperkoek biscuit. Donut toffee snoep stokken.

    Het idee hier is dat we de wijzigingen opslaan zodra op de knop wordt geklikt. Laten we deze gebeurtenis dus via het script instellen;

     var theContent = $ ('# content2'); $ ('# save'). on ('click', function () var editedContent = theContent.html (); localStorage.newContent = editedContent;); 

    Deze code maakt een nieuwe sleutel aan in LocalStorage die de laatste wijziging bevat die in de inhoud is gemaakt. We kunnen de Firebug- of ontwikkelaarstools gebruiken om te verduidelijken of de gegevens met succes zijn opgeslagen of niet, maar zorg ervoor dat u op de knop drukt. Voor Firefox-gebruikers, ga naar DOM paneel en zoek naar localStorage. Zowel in Chrome als Safari kunnen we dit bekijken op het tabblad 'Bronnen'.

    We kunnen deze gegevens dan als volgt ophalen om de inhoud bij te werken;

     if (localStorage.getItem ('newContent')) theContent.html (localStorage.getItem ('newContent'));  

    De bovenstaande code identificeert het item nieuwe inhoud van de localStorage en als deze bestaat, zal deze in dit geval de waarde doorgeven aan het geselecteerde element # content2. Op dit moment, wanneer we de pagina vernieuwen, moeten we de wijziging die we hebben doorgevoerd nog steeds zien.

    • Demo bekijken
    • Download de bron

    Laatste gedachte

    Vroeger kon het toevoegen van de front-end bewerkingsfunctie zoals we hebben aangetoond, uren of misschien zelfs weken duren. Vandaag duurt het slechts een seconde met dit kenmerk, contenteditable.

    En, volgens caniuse.com, wordt dit kenmerk al (verrassend) ondersteund in IE7 + en (niet verwonderlijk) in andere browsers als volgt: Firefox 12, Chrome 20, Safari 5.1 en Opera 12. Dat betekent dat we dit element met vrede kunnen gebruiken of mind zonder eerst fallbacsk te moeten instellen voor oudere browsers.