Page reload script werkt niet in IE
De mensen die het nog herinneren weten vast nog wel dat ik vroeg om een getal te reloaden zonder de gehele pagina te refreshen. Dat was uiteindelijk met succes gelukt! Het werkte over behalve in IE. Dit was geen ramp aangzien het eerst mobile only zou moeten worden. Ondanks dat zijn de gedachten veranderd en moet het ook gewoon in IE werken.
Het script op het moment:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php $rand = rand(10000000,99999999);?>
<script>
var auto_refresh = setInterval(
function()
{
$('#<?echo"$productid";?>').load('amount.php?pid=<?echo"$productid";?>&<?echo"$rand";?>');
}, 500);
</script>
<script>
var auto_refresh = setInterval(
function()
{
$('#<?echo"$productid";?>').load('amount.php?pid=<?echo"$productid";?>&<?echo"$rand";?>');
}, 500);
</script>
Zoals je ziet heb ik nu als tussenoplossing een random number achter de URL gezet die het script reload om zo in ieder geval recente gegevens te updaten, aangezien IE anders de pagina nog gecached heeft en het oude getal laat zien.
Waar het dus op neer komt is dat het amount.php reload, amount.php regelt de rest. Daar zitten geen problemen.
Wat er fout gaat weet ik ook al. IE Cached de pagina en laat zo de oude data zien. Je kunt het zien als de .load function die niet werkt.
In FF, Chrome, SafariMini(phone) en Safari zijn er geen problemen mee. IE natuurlijk wel.
Door er een random nummer op te zetten word amount.php goed herladen zoals het hoort, maar pas wel nadat ik het aangeef. Er zit namelijk een knopje, en zodra ik daar op druk word er in amount.php een aantal handelingen gedaan. Vervolgens komt hij terug op index.php en is amount.php geupdate. De reden van dit script is zodat elk ander persoon op dezelfde index.php de acties LIVE meevolgen.
Nu doet de .load functie het dus niet op index.php in IE.
Enige tips en suggesties?
Mijn dank is groot!
Toevoeging op 12/03/2012 15:57:15:
Even een update, ik denk dat het de caching is die dwars zit.
De enige manier die werkt is:
1. amount.php een random nummertje meegeven zodat ie die niet cached.
2. De hele index.php elke keer refreshen met een random nummertje zodat die ook niet cached.
Dat is helaas de enige manier en ontzettend slecht.
Met random nummertje bedoel ik een amount.php?randomnummer=( random nummer hier )
Enig idee hoe IE zal luisteren zodat de amount.php alleen refreshen weer genoeg is en niet de gehele index?
Gewijzigd op 12/03/2012 13:11:22 door Allard Keij
Er zijn nog geen reacties op dit bericht.