Avatar billede enkelt-webdesign Nybegynder
05. november 2012 - 10:29 Der er 21 kommentarer

CKEDITOR instance kommer ikke frem på textarea efter upload til server

Hej folkens.

Efter at jeg har uploadet en hjemmeside til vedkommendes server, har jeg tjekket om alt nu virkede som det skulle.

I backend i CMS'et, kan jeg se at CKEDITOR ikke har vedhæftet sig til textarea. Det virker fint på localhost, og på andre hjemmesider. Det undrer mig idet, jeg ikke har ændret på nogen stier og lignende indtil editor folderen.

Jeg har dette simple textarea:

<textarea name="sidens_indhold" class="tab_sidens_indhold_textarea" id="ckeditor"><?php echo stripslashes($indhold); ?></textarea>

Længere nede på siden, hæfter jeg så editoren til dette textarea:

<script language="Javascript" type="text/javascript">
CKEDITOR.replace('ckeditor',
{
width:"98%",
       
filebrowserBrowseUrl : '../ckeditor/kcfinder-2.51/browse.php?type=files',
filebrowserImageBrowseUrl : '../ckeditor/kcfinder-2.51/browse.php?type=images',
filebrowserFlashBrowseUrl : '../ckeditor/kcfinder-2.51/browse.php?type=flash',
filebrowserUploadUrl : '../ckeditor/kcfinder-2.51/upload.php?type=files',
filebrowserImageUploadUrl : '../ckeditor/kcfinder-2.51/upload.php?type=images',
filebrowserFlashUploadUrl : '../ckeditor/kcfinder-2.51/upload.php?type=flash'
});
</script>

Stien ind til ckeditor har jeg jo så sat øverst på siden:

<script type="text/javascript" src="../ckeditor/ckeditor.js"></script>

Jeg kan se at det textarea der skulle laves om, faktisk ikke er tilgængeligt, så det virker som om at textarea delvist bliver "påvirket" af CKEDITOR, men desværre ikke helt lavet om til en editor.

Er der nogen der har godt forstand på dette? Jeg kan som sagt ikke lige se hvorfor det sker, da jeg har benyttet det samme CMS system ved flere lejligheder, og ikke før har haft problemet med at den ikke dukker frem.

Håber at høre fra en eller flere, og sig endelig til hvis jeg skal skrive mere kode/forklare mere etc!

/Klemme :-)
Avatar billede jokkejensen Novice
05. november 2012 - 12:40 #1
Prøv at fyre firebug/IE webdeveloper toolbar på og kig under network/console, der mangler sikkert en sti eller andet.

Eller smid et link.

/J
Avatar billede enkelt-webdesign Nybegynder
05. november 2012 - 14:28 #2
Hmm, jeg får denne fejl:

Linje: 25
Fejl: [CKEDITOR.editor] The instance "ckeditor" already exists.

Denne fejl ligger inde i ck editors scripts.

Jeg har dog et id til det textarea der skal erstattes, så jeg er lidt lost ifht hvorfor den udskriver denne fejl?

Det er inde i et CMS, så jeg ved ikke om jeg bliver så populær hvis jeg giver adgangskoderne.

Hvis det siger dig/jer noget med ovenstående fejl, så giv lyd. Ellers kan jeg evt sende en PM med adgangskode, så det kan ses nærmere på.

/Klemme
Avatar billede enkelt-webdesign Nybegynder
05. november 2012 - 15:42 #3
+ Denne fejl:
Linje: 24
Fejl: Værdien af egenskaben 'onLoad' kan ikke hentes: Objektet er null eller er ikke defineret

+ Denne fejl:
Linje: 110
Fejl: Værdien af egenskaben 'style' kan ikke hentes: Objektet er null eller er ikke defineret
Avatar billede enkelt-webdesign Nybegynder
05. november 2012 - 15:43 #4
Linje: 25
Fejl: [CKEDITOR.editor] The instance "ckeditor" already exists. Er nu ok, havde glemt at fjerne en class, da jeg indsatte et id istedet for, som den kunne opfange. Men er nu ikke kommet meget længere..
Avatar billede enkelt-webdesign Nybegynder
05. november 2012 - 16:43 #5
@jokkejensen:

Jeg kan desværre ikke smide et link, da det er i backend, hvor man kun kan se filerne/kildekode osv hvis man er logget ind :-) Du kan få et login, hvis du orker det, der er intet indhold osv nu, alligevel, da det er en helt ny side jeg er ved at teste lidt inden den skal afleveres.

/Klemme
Avatar billede olebole Juniormester
05. november 2012 - 17:55 #6
<ole>

"Linje: 24
Fejl: Værdien af egenskaben 'onLoad' kan ikke hentes: Objektet er null eller er ikke defineret"
.

Fejlen kunne tyde på, at du kører scriptet, før siden er indlæst. Det kunne tyde på, du prøver at sætte en onload-handler på et element, som endnu ikke eksisterer.

Er det tilfældet, bør du vente med at køre scriptet til sidens onload event er fyret af

/mvh
</bole>
Avatar billede enkelt-webdesign Nybegynder
05. november 2012 - 18:02 #7
Jeg var lige hurtig nok til at skrive de fejl, da de faktisk ikke var relevante for dette problem. Men så fandt jeg jo også dem..

Men jeg kan se når jeg inspicerer det element der skulle indeholde editoren, så er der efter siden er uploadet til serveren, tilføjet en inline css style i det textarea der skal indeholde editoren.

style="visibility:hidden;"

Det er noget der kommer på når siden indlæses, og derfor kan jeg jo nok ikke se editoren. Men.....

Hvordan kan det være og hvordan kan jeg løse det?

Er det muligt i config.js at indskrive noget der sørger for at der ikke tilføjes en inline css kode der faktisk fjerner den inden man kan se den?
Avatar billede enkelt-webdesign Nybegynder
05. november 2012 - 18:25 #8
Okay så...

CKEDITOR, tilføjer visibility hidden til det textarea som den skal overtage, for derefter at kunne "overtage det". Det ser fint ud på andre sider, hvor det er implementeret på samme måde.

Men her tilføjer editoren sig bare ikke ;-)

Ja det er efterhånden lidt sparsomt med ideer til en løsning herfra, hvad skal I bruge alle I eksperter??

Hjælp mig for pokker!!! ;-)

/Klemme
Avatar billede olebole Juniormester
05. november 2012 - 18:26 #9
<ole>

Mon ikke problemet er, at du er kommet til at 'løse' noget andet og måske selv har skabt problemet? Hvis elementet er gemt, er der uden tvivl en grund til det. Det er også klart, at editoren på et tidspunkt bør vise sig selv - men det kunne tyde på, du på en eller anden måde forhindrer det.

Alt kan i princippet være muligt. Når man ikke kan se koden, kan (næsten) alle forklaringer være plausible. Hvad siger dokumentationen - og følger du overhovedet den?

/mvh
</bole>
Avatar billede enkelt-webdesign Nybegynder
05. november 2012 - 18:27 #10
IGEN: Det virker på localhost..
Avatar billede enkelt-webdesign Nybegynder
05. november 2012 - 18:33 #11
Jo det er med 99.9 % sandynlighed mig der har "løst" noget, og skabt et andet problem, men kan godt nok ikke hitte ud af hvorfor..

Her er min fremgangsmåde:

I <head> inkluderer jeg editoren:
<script type="text/javascript" src="../ckeditor/ckeditor.js"></script>

Længere nede på siden har jeg mit textarea:
<textarea name="sidens_indhold" class="tab_sidens_indhold_textarea" id="ckeditor"><?php echo stripslashes($indhold); ?></textarea>

I bunden af siden, efter textarea indsætter jeg denne kode for at sætte editoren på:
CKEDITOR.editor.replace( 'ckeditor',
    {
    width:"98%",
       
filebrowserBrowseUrl : '../ckeditor/kcfinder-2.51/browse.php?type=files',
filebrowserImageBrowseUrl : '../ckeditor/kcfinder-2.51/browse.php?type=images',
filebrowserFlashBrowseUrl : '../ckeditor/kcfinder-2.51/browse.php?type=flash',
filebrowserUploadUrl : '../ckeditor/kcfinder-2.51/upload.php?type=files',
filebrowserImageUploadUrl : '../ckeditor/kcfinder-2.51/upload.php?type=images',
filebrowserFlashUploadUrl : '../ckeditor/kcfinder-2.51/upload.php?type=flash'
});

Det fungerer fint på andre sider, og også på localhost.

Jeg har ikke andre instances af ckeditor på siden, der kunne blande sig på en eller anden måde.

Er der noget der stikker ud som forkert i ovenstående? Det fungerer ikke på produktions serveren..
Avatar billede olebole Juniormester
05. november 2012 - 18:48 #12
Det bliver ikke tydeligere af at blive gentaget. Det kan som sagt være alt muligt, der er skyld i dine oplevelser - måske med undtagelse af de koder, du skriver her  =)

Du er nok nødt til at lave en helt simpel side, der ikke indeholder andet end editoren og få dén til at virke. Derefter kan du så fylde resten af din kode på lidt efter lidt
Avatar billede enkelt-webdesign Nybegynder
05. november 2012 - 18:55 #13
Ja god ide, jeg prøver at sætte en ekstra side op, og tilføjer det hele lidt efter lidt :-)

Sorry for gentagelserne..

I får fred for nu..
Avatar billede enkelt-webdesign Nybegynder
05. november 2012 - 19:03 #14
Jeg har lavet noget på denne url:

http://www.elvir.dk/test/test.php

Der skulle være en editor, hvis I ser kildekoden.

Kan I se hvad der går galt her? Der er ikke andet end en lille form med et textarea, og så ckeditor under.

/Klemme
Avatar billede enkelt-webdesign Nybegynder
05. november 2012 - 19:05 #15
Hov! Der var den sgu!
Avatar billede olebole Juniormester
05. november 2012 - 19:09 #16
[b]#15:[%b] Fint ... så behøver jeg ikke undre mig  *D
Avatar billede enkelt-webdesign Nybegynder
05. november 2012 - 19:34 #17
Haha nej bare slap af Ole :-)

Jeg er faktisk ikke helt sikker på hvad der gjorde det, men ændrede stien til editoren fra ../navn.js til /../navn.js - Og indsatte den kode der initialiserer editoren direkte under textarea, og det viste sig at virke. Sjovt nok, da der på andre sider ikke har været samme problem.

Men nu virker det da..

Tak Ole, for jeg havde stirret mig blind på det, og overvejde ikke engang at lave en simpel side med et nyt eksempel, og det hjalp jo med det samme :-)

/Klemme
Avatar billede olebole Juniormester
05. november 2012 - 19:42 #18
Hvis du skal slå en tripple flikflak med icing, offside, dobbeltskrue, og hvad det ellers hedder, er det altid en fordel at begynde med en alm. kolbøtte  *o)

Det er en lidt sjov sti, du skal bruge. Det tyder på, du har dine scripts liggende over webroden  =)
Avatar billede olebole Juniormester
05. november 2012 - 19:54 #19
Disse to tags inkluderer samme JS-fil:

<script type="text/javascript" src="/foo/bar.js"></script>

<script type="text/javascript" src="http://www.domain.dk/foo/bar.js"></script>

En slash i begyndelsen af stien betyder 'webroden'.

Følgende betyder: "Gå op af mappen, dette dokument ligger i - og gå ned i mappen 'foo' og hent filen 'bar.js'":

<script type="text/javascript" src="../foo/bar.js"></script>

- mens følgende betyder: "Gå op af 'www' mappen (eller hvad din webrod hedder). Ved siden af denne ligger 'foo'. Gå ned i dén og hent 'bar.js'":

<script type="text/javascript" src="/../foo/bar.js"></script>

Det hele skyldes, at dokumentet, som inkluderer JS-filerne, ligger på to forskellige niveauer i forhold til webroden - på din server og lokalt  =)
Avatar billede enkelt-webdesign Nybegynder
05. november 2012 - 20:56 #20
Tak for forklaringen :-)

Jeg har lige et ekstra spørgsmål til dig her:

Jeg har benyttet nogen extraplugins, som er sat inde fra config.js i editor folderen. ( video,MediaEmbed )

Jeg har ikke kunne lure hvordan jeg også indsætter autogrow inde fra config.js?

De eksemler jeg har kunnet finde, indsætter autogrow derfra på siden hvor man replacer textarea med et ckeditor inst.

Nu har jeg fra config:
CKEDITOR.editorConfig = function( config )
{   

    //config.extraPlugins = 'MediaEmbed';
    config.extraPlugins = 'video,MediaEmbed,autogrow';

   
    config.toolbar = 'MyToolbar';
    config.enterMode = CKEDITOR.ENTER_BR;
    config.language = 'da';
    width:"98%",
    config.entities = false;
        config.htmlEncodeOutput = false;
    config.fillEmptyBlocks = false;

    config.toolbar_MyToolbar =
    [
        { name: 'document', items : [ 'Source' ] },
        { name: 'insert', items : [ 'Image','MediaEmbed','Video','HorizontalRule','SpecialChar' ] },
        { name: 'tools', items : [ 'Maximize' ] },
        { name: 'paragraph', items : [ 'JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'] },
        { name: 'links', items : [ 'Link','Unlink' ] },               
        { name: 'styles', items : [ 'Styles','Format','Font','FontSize' ] },
        { name: 'colors', items : [ 'TextColor','BGColor' ] },
        { name: 'basicstyles', items : [ 'Bold','Italic','Underline','Replace' ] },   
        { name: 'paragraph', items : [ 'NumberedList','BulletedList','-','Outdent','Indent'] }   
    ];
};


Og derfra på siden hvor jeg kalder editoren har jeg indsat autogrow:

    CKEDITOR.replace( 'editor',
    {
        extraPlugins : 'autogrow',
        //autoGrow_minHeight : 200,
        //autoGrow_maxHeight : 800,
        autoGrow_onStartup : true,
        removePlugins : 'resize',
    });

Da det bliver kaldt længere nede på siden, har det så overskrevet de andre extraplugins som er sat inde fra config.js..

Du skulle vel ikke også vide hvordan jeg kan indsætte autogrow funktionaliteten inde fra config, så det generelt virker på editor instances?
Avatar billede olebole Juniormester
05. november 2012 - 21:23 #21
Det har jeg desværre ingen anelse om  =)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester