Sifr icm ajax include div script

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • dragonzzzz
  • Registratie: April 2004
  • Niet online
Hey all,

Ben al een tijdje bezig met een website. Maar ik loop nu al een paar dagen te stoeien met een probleem.

In de website heb ik een flash menu waar ik links heb naar andere pagina's.
Deze pagina's wil ik inladen in de content div door middel van een ajax div scriptje (zie hier)

Alles werkt naar behoren, alleen nu komt het probleem. In de pagina's die ik inlaad heb ik kopjes die gebruik maken van sifr. Deze werken wel als ik de pagina gewoon normaal open in een browser. Maar zodra ik het inlaad via de ajax div scriptje, dan laat hij geen sift kopjes zien.
De kopjes worden gewoon plain tekst en dat is natuurlijk niet de bedoeling.

Weet iemand een oplossing? Of heeft iemand dit eerder meegemaakt?
Alvast bedankt, en ik hoop dat ik mijn probleem goed heb uitgelegd.

Als jullie mijn code / scripts willen zien post ik ze graag.

Gr

Acties:
  • 0 Henk 'm!

  • dB90
  • Registratie: Oktober 2004
  • Laatst online: 03-09 17:28
Komt denk ik doordat de ingeladen pagina's javascript bevatten (t.b.v. sifr), wat niet geparsed wordt. Eval is eventueel een optie...(in dit geval is eval misschien niet evil :) )?

Webberry Webdevelopment


Acties:
  • 0 Henk 'm!

  • dragonzzzz
  • Registratie: April 2004
  • Niet online
dB90 schreef op woensdag 17 december 2008 @ 15:27:
Komt denk ik doordat de ingeladen pagina's javascript bevatten (t.b.v. sifr), wat niet geparsed wordt. Eval is eventueel een optie...(in dit geval is eval misschien niet evil :) )?
Ik ben niet echt bekend met javascript. Is het mogelijk om het beter uit te leggen ? eventueel met een voorbeeldje? thnx

Acties:
  • 0 Henk 'm!

  • Noork
  • Registratie: Juni 2001
  • Niet online
Wat voor script of framework gebruik je dan?

Acties:
  • 0 Henk 'm!

  • dragonzzzz
  • Registratie: April 2004
  • Niet online
Website is in php opgebouwd.
sifr = javascript

Acties:
  • 0 Henk 'm!

  • Puc van S.
  • Registratie: Maart 2002
  • Laatst online: 10:41
Je moet volgens mij eerst de pagina inladen/weergeven, en daarna de kopjes sifferen.

[http://www.okbreijnen.nl] [Overwatch] [Cennahysh]


Acties:
  • 0 Henk 'm!

  • Noork
  • Registratie: Juni 2001
  • Niet online
Ja snap ik, maar gebruik je iets als Jquery, Prototype of een eigen script voor het ajax gebeuren?

Wellicht kun je een stukje relevante code geven.

Acties:
  • 0 Henk 'm!

  • dragonzzzz
  • Registratie: April 2004
  • Niet online
Noork schreef op woensdag 17 december 2008 @ 15:57:
Ja snap ik, maar gebruik je iets als Jquery, Prototype of een eigen script voor het ajax gebeuren?

Wellicht kun je een stukje relevante code geven.
Ik heb een scriptje gebruikt wat op dynamicdrive stond (link)

Je kan daar ook externe css / js files inladen, maar toch doet de sifr er het niet :S

Edit: @ hieronder, ik zag het ook maar net :D sorry :+

[ Voor 5% gewijzigd door dragonzzzz op 17-12-2008 16:32 ]


Acties:
  • 0 Henk 'm!

  • dB90
  • Registratie: Oktober 2004
  • Laatst online: 03-09 17:28
Volgens mij biedt het script van Dynamic Drive ook de mogelijkheid om sifr.js apart toe te voegen aan de te laden pagina.

Voorbeeld:
code:
1
<a href="javascript:ajaxpage('test.htm', 'contentarea'); loadobjs('sifr.js')">test</a>


Staat gewoon op de pagina waar je naar linkt in je TS.. ;) O dit had je al gevonden, wel handig als even zegt wat je allemaal geprobeerd hebt dan hoef ik er verder geen tijd aan te verspillen :+

[ Voor 19% gewijzigd door dB90 op 17-12-2008 16:08 . Reden: spuit 11 ]

Webberry Webdevelopment


Acties:
  • 0 Henk 'm!

  • Noork
  • Registratie: Juni 2001
  • Niet online
Geen idee hoe je jouw probleem kan oplossen. Doet andere javascript het wel? Test b.v. eens met iets als "alert('test');" in een externe .js.

Je zou ook eens kunnen kijken naar een degelijk framework, iets als Jquery (of Prototype whatever.). Voor Jquery: Include de jquery.js in je header, en roep de content als volgt aan: $("#div_id").load("pagina.html"); Makkelijker kan niet.

Acties:
  • 0 Henk 'm!

  • dragonzzzz
  • Registratie: April 2004
  • Niet online
Noork schreef op woensdag 17 december 2008 @ 17:46:
Geen idee hoe je jouw probleem kan oplossen. Doet andere javascript het wel? Test b.v. eens met iets als "alert('test');" in een externe .js.

Je zou ook eens kunnen kijken naar een degelijk framework, iets als Jquery (of Prototype whatever.). Voor Jquery: Include de jquery.js in je header, en roep de content als volgt aan: $("#div_id").load("pagina.html"); Makkelijker kan niet.
Thnx, morgen even proberen.
Ik had overal op internet gezocht maar niemand weet iets.. Echt heel raar :S
Anders moet ik het anders doen.. :S Maar ik wil niet dat mijn hele pagina reload als ik op een menu item klik.

Noork: Thnx man hij werkt!! :D
Maar.. ben geen held met javascript. Hoe kan ik een functie maken zodat ik deze in een a href kan stoppen?

Heb dit zelf geprobeerd, maar werkte niet :D
code:
1
2
3
4
5
    function laadPagina(div, url) {
        this.click(function(){
            $(div).load(url);
        });
    }

[ Voor 17% gewijzigd door dragonzzzz op 18-12-2008 09:55 ]


Verwijderd

Het komt er op neer dat:

- hij laad sifr
- daarna wil ik de content ophalen in een andere div met AJAX
- dan moet hij sifr eigenlijk nog een keer laden, dus dan heb je een dubbele sifr in je pagina
- en dan werkt het dus niet

is dit een probleem dat kan worden opgevangen of is dit ook server, browser, programmeer technisch een probleem?

  • Noork
  • Registratie: Juni 2001
  • Niet online
Wellicht kun je het oplossen met een onclick actie op de href.

Verwijderd

Wellicht is een nog betere oplossing om die hele manier van inladen te droppen. Wat voor functioneel nut heeft het om via zo'n ajax request de content in te laden? Je weet dat navigeren daardoor moeilijker wordt (geen volgende/vorige knoppen, geen mogelijkheid om te openen in nieuw venster) en ook zoekmachines kunnen hun weg niet meer zo goed vinden :)

  • dragonzzzz
  • Registratie: April 2004
  • Niet online
Verwijderd schreef op donderdag 18 december 2008 @ 11:19:
Wellicht is een nog betere oplossing om die hele manier van inladen te droppen. Wat voor functioneel nut heeft het om via zo'n ajax request de content in te laden? Je weet dat navigeren daardoor moeilijker wordt (geen volgende/vorige knoppen, geen mogelijkheid om te openen in nieuw venster) en ook zoekmachines kunnen hun weg niet meer zo goed vinden :)
true true,
Maar dan moet je elke keer de hele pagina refreshen zeg maar.. en icm sifr is het al iets langzamer.

  • H004
  • Registratie: Maart 2006
  • Laatst online: 28-05 19:55
Dus je wil eigenlijk de hele usability van je navigatie om zeep helpen omdat je mooie kopjes wil? Gebruik dan bv. FLIR icm serverside en clientside caching...

Verwijderd

dragonzzzz schreef op donderdag 18 december 2008 @ 11:48:
[...]

true true,
Maar dan moet je elke keer de hele pagina refreshen zeg maar.. en icm sifr is het al iets langzamer.
Ik neem aan dat je layout lichter is dan de eigenlijke content, dus zoveel procent zal het niet schelen :) Daarnaast worden javascript files, css files en plaatjes gecached, dus zoveel zul je er niet van merken. Ik denk dat iemand liever een halve seconde langer wacht, dan dat de hele usability pleite is :) Met PHP kun je makkelijk een scriptje schrijven dat een bepaalde tekst met een bepaald font op een plaatje schrijft (zie imagettftext). Misschien is dat, icm caching op de sever zoals H004 aangeeft, een betere oplossing. Dan belast je de client ook niet met een zwaar script als sifr.

  • dragonzzzz
  • Registratie: April 2004
  • Niet online
H004 schreef op donderdag 18 december 2008 @ 12:05:
Dus je wil eigenlijk de hele usability van je navigatie om zeep helpen omdat je mooie kopjes wil? Gebruik dan bv. FLIR icm serverside en clientside caching...
Daar had ik ook naar gekeken. Maar kan google (of andere zoekmachines) hier mee werken? Indexeren ze de kopjes wel? Ik gebruik sifr voornamelijk omdat google dit ook ziet als tekst.
Verwijderd schreef op donderdag 18 december 2008 @ 12:28:
[...]

Ik neem aan dat je layout lichter is dan de eigenlijke content, dus zoveel procent zal het niet schelen :) Daarnaast worden javascript files, css files en plaatjes gecached, dus zoveel zul je er niet van merken. Ik denk dat iemand liever een halve seconde langer wacht, dan dat de hele usability pleite is :) Met PHP kun je makkelijk een scriptje schrijven dat een bepaalde tekst met een bepaald font op een plaatje schrijft (zie imagettftext). Misschien is dat, icm caching op de sever zoals H004 aangeeft, een betere oplossing. Dan belast je de client ook niet met een zwaar script als sifr.
True, sifr is leuk, maar als je veel kopjes hebt dan is het best zwaar. Vooral omdat hij alles moet omzetten naar flash

  • dB90
  • Registratie: Oktober 2004
  • Laatst online: 03-09 17:28
Dus je wil wel dat Google e.a. je kopjes indexeren, maar het boeit niet dat je complete website slecht indexeerbaar wordt doordat je je content d.m.v. ajax inlaadt? 8)7

Daarbij moet je ook rekening houden dat bezoekers zo gewend zijn geraakt aan het feit dat een pagina ververst als ze op een menu-item klikken, dat ze (sneller) verward raken als dit niet zo is, maar goed dit is van ondergeschikt belang aan het indexeringsprobleem.

Webberry Webdevelopment


  • Noork
  • Registratie: Juni 2001
  • Niet online
Wat misschien handig is, is om een sitemap te maken waarin je absolute links naar alle pagina's maakt. Het is helemaal niet zo moeilijk om met PHP een andere pagina al direct te includen in het geheel. Neem deze links op in de sitemap, en klaar is kees.

  • H004
  • Registratie: Maart 2006
  • Laatst online: 28-05 19:55
dragonzzzz schreef op donderdag 18 december 2008 @ 13:37:
[...]
Daar had ik ook naar gekeken. Maar kan google (of andere zoekmachines) hier mee werken? Indexeren ze de kopjes wel? Ik gebruik sifr voornamelijk omdat google dit ook ziet als tekst.
Dan heb je er dus overduidelijk niet naar gekeken (of wel, maar veel te kort :) )...

FLIR is hetzelfde als sIFR, alleen zet sIFR het om in Flash, en FLIR stuurt via 'AJAX' de te veranderen tekst naar de server, maakt er daar plaatjes van en stuurt die plaatjes terug, om vervolgens te plaatsen in de plaats van de tekst. Zoekmachines zien dus alleen maar <h1>Header</h1> terwijl de gebruiker een hip alternatief lettertype ziet...
Pagina: 1