Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pozbycie sie ramki
Forum PHP.pl > Forum > Po stronie przeglądarki > HTML \ XHTML
kufalo
Ponizszy kod to maly edytor tresci html. Po kliknieciu na obrazek stosuje pochylenie kroju czcionek zaznaczonego fragmentu tekstu w ramce.

Zalezy mi na tym, aby w ponizszym kodzie pozbyc się ramki, ktora nie jest zgodna ze specyfikacja xhtml 1.0 Strict.

Probowalem z divem poprzez: contentEditable= 'true'
Niestety tego nie wspiera mozilla.

Czy mozna to zrobic jakos inaczej ? (pozostajac w xhtml 1.0 Strict)

  1. <?xml version="1.0"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <head>
  4. <meta http-equiv="content-type" content="text/html;charset=utf-8" />
  5. <script type="text/javascript">
  6. function italic(){
  7. document.getElementById('edit').contentWindow.document.execCommand('italic',false,null)
  8. }
  9. </script>
  10. </head>
  11. <body onload="document.getElementById('edit').contentWindow.document.designMode='on'">
  12. <div><img src="italic.gif" alt="" onclick="italic()" /></div>
  13. <iframe id="edit"></iframe>
  14. </body>
  15. </html>
revyag
Musisz mieć iframe. Dlaczego ?

Zobacz:

Żebyś mógł coś edytować musisz mieć obszar w którym będziesz to robił. Ten obszar musi być innym dokumentem html a to założenie spełnia tylko iframe. Gdybyś nie miał iframe, edytowałbyś wszystko, a nie to co chcesz smile.gif

Każdy WYSIWYG korzysta z iframe. Nawet jeśli nie jest on jawnie użyty to jest generowany z poziomu js.
Zobacz jak wygląda źródło strony w przykładach na stronach fckeditora i tineMCE
kufalo
Cytat
Żebyś mógł coś edytować musisz mieć obszar w którym będziesz to robił. Ten obszar musi być innym dokumentem html a to założenie spełnia tylko iframe. Gdybyś nie miał iframe, edytowałbyś wszystko, a nie to co chcesz


Pod IE oraz Operą istnieje mozliwosc edycji obszaru, ktory nie jest calym ani innym dokumentem, lecz jedynie fragmentem dokumentu:
Kod
<div contentEditable="true">edycja</div>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.