[Java/JQuery] Deep linking niet werkend, alleen in IE8 fout

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • kevinr1
  • Registratie: Maart 2010
  • Laatst online: 01-09 09:35
Beste,

Mijn deep-linking werkt niet meer in IE8, dit is plots gekomen, de oorzaak kan ik niet achterhalen.
Dit werkt wel in: IE9, Firefox, Chrome, Opera.

Mijn website is: *niet relevant*
( Ik probeer geen reclame te maken, maar alleen aan te duiden waar het probleem zich speelt zodat diverse personen dit misschien kunnen nabootsen en het probleem kunnen achterhalen.

Voor degene die onbekend zijn met deep-linking: http://www.asual.com/jquery/address/ (pagina kan even laden).

Mijn code in de index.html
code:
1
2
3
4
5
6
7
8
9
        <script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript" src="js/address.js"></script>
    <script type="text/javascript" src="js/script.js"></script>
    <script type="text/javascript">
$('article').load("pages/Home/Home.html");
$('#News').load("pages/nieuws/nieuws.html");
$(window).load(function() {
$('#slider').nivoSlider();
}); </script>


Mijn code in script.js:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$(document).ready(function($) {
    $.address.change(function(event)    {
        var page = event.value;
        if (page == '/') {
            page = 'Home';
            }

        $('article').load(page.replace("/", ''), function(){
            $(this).find('#slider').nivoSlider();});

    });
        
    $('nav a').address(function()   {
        return $(this).attr('href').replace(/^#/, '');
    });
})(jQuery);


Voor address.js heb ik de laatste variant gebruikt van hun website (link:)
Zelf denk ik dat script.js aangepast moet worden, ik zou niet weten hoe ik dit kan doen.

Ik heb een zelf een virtuele machine opgezet met Windows XP SP3, IE8 ( met laatste updates ), gebruik ook IEtester om dit af testen.

Ik heb elke .js bestand geüpdate naar de laatste versie, dit mocht niet baten.
Ik krijg wel een foutmelding in IE8:
"Function expected" on script.js on line 1 char 1

Natuurlijk heb ik gegoogled naar dit probleem maar kon zelf niets achterhalen.
Misschien zoek ik niet in de juiste richting.


De uiteindelijke vraag: Hoe kan het dat mijn deep-linking niet werkt in IE8, maar wel in elke andere browser, incl. ie9. En hoe krijg ik deze werkend?
Ondertussen zoek ik ook verder, ik bewerk deze post zodra ikzelf ook iets gevonden heb.

Bedank alvast voor jullie reacties.

[ Voor 4% gewijzigd door MueR op 10-06-2012 19:47 ]

Life is meant to be experienced


Acties:
  • 0 Henk 'm!

  • bartbh
  • Registratie: Maart 2004
  • Niet online
En heb je al een uitgeklede testversie gemaakt? Dus alle onnodige zooi eruit gooien en terug naar de basis. Op die manier kun je veel beter achterhalen waar een eventueel fout zit.

Als je dat gedaan hebt, dan hoeft de link ook niet meer en kun met bijvoorbeeld een jsfiddle toe.

Dus, maak eens een uitgeklede versie. Dan hoeven we hier ook niet te zoeken tussen alle onnodige regels code.

Acties:
  • 0 Henk 'm!

  • kevinr1
  • Registratie: Maart 2010
  • Laatst online: 01-09 09:35
bartbh schreef op zondag 10 juni 2012 @ 15:38:
En heb je al een uitgeklede testversie gemaakt? Dus alle onnodige zooi eruit gooien en terug naar de basis. Op die manier kun je veel beter achterhalen waar een eventueel fout zit.

Als je dat gedaan hebt, dan hoeft de link ook niet meer en kun met bijvoorbeeld een jsfiddle toe.

Dus, maak eens een uitgeklede versie. Dan hoeven we hier ook niet te zoeken tussen alle onnodige regels code.
Veel verstand van javascript heb ik niet, dus zou niet weten wat ik nu weg moet halen?
Dit zijn alle bestanden die ervoor zorgen dat deep-linking werkt.

Deze wordt behandeld via script.js, als ik op een link klik komt deze tekst achter de url:
/#/pages/Risico/risico.html
Ook bij IE8, alleen de pagina wordt niet geladen in het huidige venster.

IE8 opent alleen hetgeen wat je hebt aangeklikt .html
Bijvoorbeeld; diensten.html, dan zie je alleen de tekst van diensten.html, die eigenlijk in de pagina geladen moeten worden.

Life is meant to be experienced


Acties:
  • 0 Henk 'm!

  • marko77
  • Registratie: Februari 2002
  • Laatst online: 06-05 19:41
Waarom gebruik je javascript om pagina's in te laden? Dat is nou niet echt zoekmachine vriendelijk .Ik zou niet zo ingewikkeld doen en het zonder js oplossen. Meestal is een dergelijke oplossing alleen nodig als je hele zware pagina's hebt, of er veel server load is. Helemaal gezien het feit dat je niet vel verstand van js hebt zou ik dit als een brug te ver beschouwen.

Mijn rig


Acties:
  • 0 Henk 'm!

  • kevinr1
  • Registratie: Maart 2010
  • Laatst online: 01-09 09:35
Misschien wel inderdaad, maar om nou m'n hele code te wijzigen omdat 1 bepaalde functie niet werkt....
Waarschijnlijk is het maar een kleine aanpassing die gemaakt moet worden.

In de toekomst hou ik hier inderdaad wel rekening mee.

Life is meant to be experienced


Acties:
  • 0 Henk 'm!

  • marko77
  • Registratie: Februari 2002
  • Laatst online: 06-05 19:41
Dat is nu juist het probleem, een kleine aanpassing zal het wel zijn, maar omdat je de code niet zelf gemaakt hebt is het zoeken naar een speld in een hooiberg als je er niet zo veel affiniteit mee hebt.

Mijn rig


Acties:
  • 0 Henk 'm!

  • kevinr1
  • Registratie: Maart 2010
  • Laatst online: 01-09 09:35
Mijn script.js aangepast, hier de code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
(function($) {
    $.address.change(function(event)    {
        var page = event.value;
        if (page == '/') {
            page = 'Home';
            }

        $('article').load(page.replace("/", ''), function(){
            $(this).find('#slider').nivoSlider();});

    });
        
    $('nav a').address(function()   {
        return $(this).attr('href').replace(/^#/, '');
    });
})(jQuery);


Nieuws.html laadt de pagina wel in IE8 maar niet home.html of een andere pagina.
Foutcodes zijn ook niet meer aanwezig in IE8.

[ Voor 4% gewijzigd door kevinr1 op 15-06-2012 22:40 ]

Life is meant to be experienced


Acties:
  • 0 Henk 'm!

  • kevinr1
  • Registratie: Maart 2010
  • Laatst online: 01-09 09:35
Had ik in mijn index.html een html5 element neergezet, IE8 kan daar natuurlijk niet meer werken -.-
Daarom een IE8 html5 'hack' geïmplenteerd en voila.

Werkend.

Life is meant to be experienced

Pagina: 1