Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Mailbox - min 2 problemy
areli
post 27.03.2018, 13:50:12
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 18.10.2008

Ostrzeżenie: (10%)
X----


Pracuje nad zrobienie mailboxa i nie jestem pewien czy zrobilem to we wlasciwy sposob... tzn chyba nie do konca, bo mam minimum 2 problemy

Maile otwieram w modalu, a tresc laduje do summernote w iframe

  1. <script type="text/javascript">
  2. $.ajax({
  3. url: 'json/load-email',
  4. dataType: 'json',
  5. data: datac,
  6. type: 'POST',
  7. success: function(msg)
  8. {
  9. [...]
  10. $('#showmsg').find('.inbox-view').html('<iframe id="showmsgiframe" style="width: 100%;height: 300px;border: 0px;" frameborder="0" marginheight="0" marginwidth="0" width="100%"></iframe>');
  11. $(function() {
  12. var $frame = $('#showmsgiframe');
  13. setTimeout( function() {
  14. var doc = $frame[0].contentWindow.document;
  15. var $body = $('body',doc);
  16. if (msg['mail']['body']['html'] != '')
  17. {
  18. $body.html(msg['mail']['body']['html']);
  19. }
  20. else if (msg['mail']['body']['plain'] != '')
  21. $body.html(msg['mail']['body']['plain']);
  22. }, 1 );
  23. });
  24. [...]
  25. }[...]
  26. </script>


Kolejny kod dotyczy opcji "Reply" gdzie otwiera sie nowe okno z mozliwoscia edytowania wew iframe

  1. <script type="text/javascript">
  2. [...]
  3. $('#sendmsg').find('#message').summernote('code','<script type="text/template" id="iframeContent"><!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Inner</title></head><body contenteditable="true" style="margin: 0px; padding: 0px;"><blockquote style="width: 100%;height: 100%; padding: 0px;margin: 0px;"><br><br><small>----- Original Message -----<br><strong>From:</strong> '+mailfrom+'<br><strong>Sent:</strong> '+emaildate+'<br><strong>To:</strong> '+emailset+'<br><strong>Subject:</strong> '+mailsubject+'<br><br><br>'+cont+'</small></blockquote></body></html></script><iframe id="ifrm" style="width: 100%;height: 100%;border: 0px;" frameborder="0" scrolling="yes"></iframe>');
  4. [...]
  5. var iframe = document.getElementById( 'ifrm' );
  6. var content = document.getElementById("iframeContent").innerHTML;
  7. var frameDoc = iframe.document;
  8. if (iframe.contentWindow)
  9. {
  10. frameDoc = iframe.contentWindow.document;
  11. }
  12.  
  13. frameDoc.open();
  14. frameDoc.writeln(content);
  15. frameDoc.close();
  16. </script>


Nastepnie wysylka formularza.


Problem jest taki, ze mail ktory przychodzi nie zawiera nowej wiadomosci, a tresc ktora byla w iframe dochodzi jako ucieta... zakladam, ze powinienem przed wysylka wyciagnac wszystko z iframe i tylko to wyslac, ale czy to jest wlasnie sposob w jaki prawidlowo powinno to byc zrobione?

Drugi problem jest taki, ze summernote (toolbar) nie dziala dla tekstu wpisywanego w iframe... dziala tylko dla tekstu pisanego poza iframe, ale jesli daje taka mozliwosc to po wpisaniu czegokolwiek do summernote znika iframe.

Jakies wskazowki/pomysly?

Wprowadzilem pewne zmiany i maile dochodza

  1. <script type="text/javascript">
  2. [...]
  3. $('#sendmsg').find('#script').html('<script type="text/template" id="iframeContent"><!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Inner</title></head><body contenteditable="true" style="margin: 0px; padding: 0px;"><br><br><small>----- Original Message -----<br><strong>From:</strong> '+mailfrom+'<br><strong>Sent:</strong> '+emaildate+'<br><strong>To:</strong> '+emailset+'<br><strong>Subject:</strong> '+mailsubject+'<br><br><br>'+cont+'</small></body></html></script>');
  4. $('#sendmsg').find('#message').summernote('code','<iframe id="ifrm" style="width: 100%;height: 100%;border: 0px;" frameborder="0" scrolling="yes"></iframe>');
  5. [...]
  6. </script>


Nadal jest problem z toolbarem, ktory nie dziala dla iframe :/
Go to the top of the page
+Quote Post
vokiel
post 27.03.2018, 19:11:39
Post #2





Grupa: Zarejestrowani
Postów: 2 436
Pomógł: 412
Dołączył: 12.03.2007

Ostrzeżenie: (0%)
-----


Pierwsze pytanie - czemu iframe skoro tyle z nim problemów? Nie lepiej zrobić to wewnątrz aplikacji?

O ile jeszcze sama treść maila może być bezpieczniej w iframe (i mniej problemów z ostylowaniem). O tyle formularz tworzenia nowego maila spokojnie może być wewnątrz strony w której ten mailbox jest uruchomiony.


--------------------
Go to the top of the page
+Quote Post
areli
post 27.03.2018, 21:17:23
Post #3





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 18.10.2008

Ostrzeżenie: (10%)
X----


Moze i byloby prosciej, ale wlasnie rozchodzi sie o kwestie bezpieczenstwa, wiec nie jestem pewien czy ladowanie zew. tresci (nawet po przefiltrowaniu) to dobry pomysl.

Sprawdzalem inne mailboxy tj. gmail, hotmail i one tez przechowuja tresc w iframe.

W zasadzie wszystko teraz smiga ok, problem tylko z tym summernote i toolbarem. Moglbym zrobic wlasny toolbar, ale jestem pewien ze musi byc jakies rozwiazanie.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 15.10.2019 - 05:29