Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.

[PHP / AJAX] Web Based WYSIWYG editor

Pagina: 1
Acties:

  • JoostMartijn
  • Registratie: December 2003
  • Laatst online: 17-04 15:22
Geachte Tweakers,

Ik ben bezig met een complete webbased applicatie vergelijkbaar met een soort van CMS. Dit lukt allemaal prima. Ik wil eigenlijk alles oplossen met AJAX. Zover alles onder controle. Nu heb ik WYSIWYG editor ( SPAW ). Opzich een mooie editor en volledig webbased. Maar zodra ik dit met ajax wil laden lukt mij dit niet.

Wat heb ik al gedaan. Ik heb er voor gezorgt dat de configuratie altijd klopt door een eigen config file te maken.
Gezocht in dit forum en andere forums maar geen duidelijk voorbeeld of oplossing gevonden voor een AJAX omgeving.
AJAX object zo gemaakt zodat hij altijd wel javascript functie uitvoerd.
Andere Editor gepakt. Werkte ook niet met AJAX
In een gewoon scherm de Editor geladen. Geeft gewoon netjes de editor zelfs in de zelfde 'site'.

Heeft één van jullie wel eens zoiets gemaakt en werkend gekregen?

Windsoft


  • r0bert
  • Registratie: September 2001
  • Laatst online: 30-07 02:32
Ik kan je denk ik niet helpen, maar ik denk dat voor veel mensen een paar stukjes van de relevante code handig zijn :) En gaat het hier niet meer om JavaScript/Ajax? Dat zou namelijk beter in /13 kunnen staan. ;)

[ Voor 41% gewijzigd door r0bert op 02-08-2008 17:00 ]


  • JoostMartijn
  • Registratie: December 2003
  • Laatst online: 17-04 15:22
Ja, ik denk dat de vraag iets algemener van aard is maar het gaat volgens FF hier mis:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
url=url+"?divNaam="+divNaam;
        url=url+postForm;
        
        xmlHttp.onreadystatechange = function(){ 
            if(xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
                
                //Eventuele javascript functie uitlaten voeren
                if (!window.execScript) {
                    window.execScript = function(script) {
                        setTimeout(script, 50); 
                    } 
                }
                
                var responseTextNow = xmlHttp.responseText;
                var re = /<script(\s[^>]*)?>([\s\S]*?)<\/script>/gi, match;
                while(match = re.exec(responseTextNow))
                    window.execScript(match[2], 'javascript');

                //document.write(responseTextNow);
                document.getElementById(divNaam).innerHTML=responseTextNow; 
                //Einde javascript functies
            }
        }
        
        xmlHttp.open("POST",url,true);
        xmlHttp.send(null);


Hij gaat in dit geval tussen de regels 20 en 23 mis!

Windsoft


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

"Het" gaat mis. Vraag 1: wát gaat er mis? Verwacht je nu echt dat we je op deze manier kunnen helpen? Geef eens wat meer informatie over wat je probeert te doen, wat je wil dat er wanneer gebeurt en wat er nu precies gebeurt. Wij hebben geen inzage in je verdere project...

Verder lijkt dit vooralsnog een Javascriptprobleem te zijn, en die horen hier niet. Waar hoort mijn topic?

PRG>>WEB

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Noork
  • Registratie: Juni 2001
  • Niet online
Dit is vaak een probleem bij dit soort editors omdat er zoveel Javascript aan te pas komt, die mogelijk kunnen conflicteren. Ik kan en ga je verder niet helpen maar ik raad je gewoon aan om even op de site van de maker van de editor te kijken. Vaak zijn er gebruikers met soortgelijke problemen. Ikzelf maak gebruik van FCKeditor, en deze heb ik gelukkig aan de praat gekregen met Ajax; word geladen in een tabblad en schrijft via een Ajax post de output weer weg. Dus je zou ook nog kunnen kijken naar een andere editor.

  • H004
  • Registratie: Maart 2006
  • Laatst online: 28-05 19:55
Ik weet dat je TinyMCE, nadat je dynamisch (AJAX of iets anders) een nieuwe textarea hebt aangemaakt, met een javascriptfunctie handmatig kan initialiseren, zodat de textarea een editor wordt.

Je moet dus niet met AJAX je hele editor gaan inladen. Haal alleen de bewerkbare tekst op met AJAX, en initialiseer dan pas je editor. Dat zou gewoon moeten werken...

  • r0bert
  • Registratie: September 2001
  • Laatst online: 30-07 02:32
Aan de indention te zien staat dit binnen een object? Als deze regels namelijk zo in de global scope staan, dan mis je nog een constructor van de xmlHttp-class zelf- aangezien je onreadystatechange als method toekent aan xmlHttp?

Verder matched dit niet:
code:
1
2
3
4
5
6
7
8
window.execScript = function(script) {
                        setTimeout(script, 50); 
                    } 

[..]

window.execScript(match[2], 'javascript');
// een argument te veel?


En misschien dat de variabele 'url' niet een erg unieke naam is? Gissen ;)

Welke foutmelding geeft firefox bijv?
Pagina: 1