[PHP] XML accepts bij clients *

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • rickmans
  • Registratie: Juli 2001
  • Niet online
Wat is een makkelijke manier om te controleren of de browser van de bezoeker wel XML aan kan? Ik dacht eerst er aan om met php te kijken of er in de HTTP accept een van de volgende zou zitten:

code:
1
application/xml,application/xhtml+xml,

Alleen wat blijkt, bij IE zitten er deze dus niet in (bij mij iig niet IE6 op XP), dus dat is toch niet zo'n hele goede methode. Kortom heeft iemand een beter idee dan dit? Of weet iemand toevallig welke browsers wel of geen XML aan kunnen?

Don't mind Rick


Acties:
  • 0 Henk 'm!

  • Johnny
  • Registratie: December 2001
  • Laatst online: 17-09 16:59

Johnny

ondergewaardeerde internetguru

Je bedoelt zeker clientside XSL transformaties uitvoeren. Ik heb ooit eens gelezen dat MSIE 6 en Mozilla vanaf 1.4 ?het ondersteunen, dat kan inmiddels al weer veranderd zijn.

Misschien kan je een hidden iframe maken waarinje een XML + XSL pagina laadt, en dan via javascript checken of dit goed gebeurt (dit verzin ik terplekke).

[ Voor 5% gewijzigd door Johnny op 31-10-2003 22:30 ]

Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.


Acties:
  • 0 Henk 'm!

  • rickmans
  • Registratie: Juli 2001
  • Niet online
Johnny schreef op 31 oktober 2003 @ 22:30:
Je bedoelt zeker clientside XSL transformaties uitvoeren.
Yeps dat bedoel ik
Ik heb ooit eens gelezen dat MSIE 6 en Mozilla vanaf 1.4 ?het ondersteunen, dat kan inmiddels al weer veranderd zijn.
Deze twee doen het inderdaad, alleen is bij IE vreemd dat het niet in de http_accept wordt meegestuurd (tenminste bij mij dan ;))
Misschien kan je een hidden iframe maken waarinje een XML + XSL pagina laadt, en dan via javascript checken of dit goed gebeurt (dit verzin ik terplekke).
Waarop zou ik dan moeten controleren? Want juist die check zit me dwars.

Don't mind Rick


Acties:
  • 0 Henk 'm!

Verwijderd

Waarom moeten de XSL transformaties perse clientside uitgevoerd worden, als je het al serverside kan doen m.b.v. php? (Buiten de extra load die dat oplevert aan de serverkant).

Acties:
  • 0 Henk 'm!

  • Johnny
  • Registratie: December 2001
  • Laatst online: 17-09 16:59

Johnny

ondergewaardeerde internetguru

rickmans schreef op 31 oktober 2003 @ 22:32:
[...]
Yeps dat bedoel ik

[...]
Deze twee doen het inderdaad, alleen is bij IE vreemd dat het niet in de http_accept wordt meegestuurd (tenminste bij mij dan ;))

[...]

Waarop zou ik dan moeten controleren? Want juist die check zit me dwars.
Zoiets?

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<iframe name="testframe" src="xmltest.xml"></iframe>

<script type="text/javascript">

if(frames['testframe'].document.getElementById('xmldoethet').value == true)
{
alert("Joepie!!!");
}
else
{
alert("Jij hebt een shitty browser!");
}

</script>


//en dan laat je XSL/XML dit renderen in het iframe:

<input type="hidden" name="xmldoethet' id="xmldoethet" value="true" />

[ Voor 26% gewijzigd door Johnny op 01-11-2003 00:41 ]

Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.


Acties:
  • 0 Henk 'm!

  • rickmans
  • Registratie: Juli 2001
  • Niet online
Verwijderd schreef op 01 november 2003 @ 00:25:
Waarom moeten de XSL transformaties perse clientside uitgevoerd worden, als je het al serverside kan doen m.b.v. php? (Buiten de extra load die dat oplevert aan de serverkant).
juist die extra load wil ik zo veel mogelijke voorkomen, want dat zou met de huidige bezoekersaantallen wel eens problemen op kunnen leveren.

Don't mind Rick


Acties:
  • 0 Henk 'm!

  • rickmans
  • Registratie: Juli 2001
  • Niet online
Johnny schreef op 01 november 2003 @ 00:40:
[...]


Zoiets?

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<iframe name="testframe" src="xmltest.xml"></iframe>

<script type="text/javascript">

if(frames['testframe'].document.getElementById('xmldoethet').value == true)
{
alert("Joepie!!!");
}
else
{
alert("Jij hebt een shitty browser!");
}

</script>


//en dan laat je XSL/XML dit renderen in het iframe:

<input type="hidden" name="xmldoethet' id="xmldoethet" value="true" />
oe dat ziet er slim uit :P, ik denk dat ik dat wel even ga doen ja :).

Don't mind Rick


Acties:
  • 0 Henk 'm!

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02 23:12

SchizoDuckie

Kwaak

rickmans schreef op 01 november 2003 @ 10:52:
[...]
oe dat ziet er slim uit :P, ik denk dat ik dat wel even ga doen ja :).
Jammer dat dat gaat buggen. als ie dat element niet kan vinden gaat js erroren namelijk :P

beter is dus om te kijken: if (frames.blablabla.xmldoethet && frames.blablabla.xmldoethet.value == true)

Stop uploading passwords to Github!


Acties:
  • 0 Henk 'm!

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
rickmans schreef op 01 november 2003 @ 10:51:
[...]

juist die extra load wil ik zo veel mogelijke voorkomen, want dat zou met de huidige bezoekersaantallen wel eens problemen op kunnen leveren.
hmm als het daarom gaat, waarom bouw je er dan niet een gewoon een cache in?

Acties:
  • 0 Henk 'm!

  • rickmans
  • Registratie: Juli 2001
  • Niet online
Genoil schreef op 01 november 2003 @ 15:20:
[...]


hmm als het daarom gaat, waarom bouw je er dan niet een gewoon een cache in?
daar zit ik de laatste paar uur ook aan te denken, maar vooralsnog wil ik het eerst even zonder cache doen, al is het om maar eerst te testen :).

Don't mind Rick


Acties:
  • 0 Henk 'm!

  • rickmans
  • Registratie: Juli 2001
  • Niet online
Het enige 'probleem' is dat ik nu ongeveer 2000 dynamische php pagina's heb (nouja 2000 entries in de DB die dus opgevraagd kunnen worden). Nu kan ik die wel allemaal gaan cachen, alleen dat kost vrij wat schijfruimte. Heeft iemand daar ervaring mee? Of is dat een kwestie van wel alles cachen en bijvoorbeeld 1 keer in de week een cron draaien die files delete die al 1 week niet opgevraagd zijn?

Don't mind Rick


Acties:
  • 0 Henk 'm!

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02 23:12

SchizoDuckie

Kwaak

rickmans schreef op 01 november 2003 @ 15:54:
Het enige 'probleem' is dat ik nu ongeveer 2000 dynamische php pagina's heb (nouja 2000 entries in de DB die dus opgevraagd kunnen worden). Nu kan ik die wel allemaal gaan cachen, alleen dat kost vrij wat schijfruimte. Heeft iemand daar ervaring mee? Of is dat een kwestie van wel alles cachen en bijvoorbeeld 1 keer in de week een cron draaien die files delete die al 1 week niet opgevraagd zijn?
Schijfruimte lijkt me nog altijd goedkoper dan processorkracht :P
Je kan dus bijv. een veld bijhouden in je db of de gegevens gewijzigd zijn per bepaalde datum, en die gegevens bijv. vergelijken met je cache.

[ Voor 13% gewijzigd door SchizoDuckie op 01-11-2003 16:01 ]

Stop uploading passwords to Github!


Acties:
  • 0 Henk 'm!

  • rickmans
  • Registratie: Juli 2001
  • Niet online
Papa Eend schreef op 01 november 2003 @ 16:00:
[...]


Schijfruimte lijkt me nog altijd goedkoper dan processorkracht :P
Je kan dus bijv. een veld bijhouden in je db of de gegevens gewijzigd zijn per bepaalde datum, en die gegevens bijv. vergelijken met je cache.
ja dat bedoelde ik dus :)

Don't mind Rick


Acties:
  • 0 Henk 'm!

  • MisterData
  • Registratie: September 2001
  • Laatst online: 29-08 20:29
Ik cache in m'n CMS ook pagina's, dat ding schrijft gewoon naar een cache-bestand na een wijziging, dan is alles ook nog steeds actueel... Ik zou in jouw geval ook voor caching gaan hoor.... je zou eventueel ook nog vaak opgevraagde pagina's deels uit cache-data en deels uit dynamische data kunnen laten bestaan... als je daar een beetje systeem omheen bouwt dan moet dat lukken :)
Pagina: 1