script, noscript, dubbele weergave

Status
Niet open voor verdere reacties.

That Guy

Meubilair
Lid geworden
28 nov 2006
Berichten
5.010
script / noscript werkt niet

vraag opgelost

Hello allemaal,

Ben weer eens bezig met een website, maar kwam net iets vreemds tegen. Dit is ongeveer het idee van de website:


1. het gebruikt javascript-navigatie (hash-navigatie zoals ik t maar noem) (link: "<a href='#xxxx' onclick='Funtie("xxxxx");'>")en het komt er op neer dat js kijkt naar de '#xxxx' in de url om de page te bepalen.
2. Als javascript uit staat, wordt via het <noscript> en </noscript> een link met php-nav gemaakt (link: "<a href='?p=xxxx'>")
Nu werkte dit perfect voor het menu maar nu ik het in de text probeer te krijgen stuit ik op een probleem.

PHP:
//het gaat even om het idee. Dit is php, maar heb ff er html van gemaakt
//de escaped-quotes zijn er vanwege het php dus.

<noscript><p><a href='?p=contact'>contact</a></p></noscript>
<script type='text/javascript'><!-- document.write('<a href=\'#contact\' onclick=\'replace(\"pages/contact.php\")\'>contact</a>'); //--></script>


De css-gestripte desbetrffende pagina is hier te vinden: http://www.vegras-studios.com/pages/home.php

met JS krijg ik niets te zien (geen link); zonder JS werkt het perfect... Wie helpt me uit de brand?

V. =)
 
Laatst bewerkt:
Misschien moet je het hele stuk niet escapen?

HTML:
<!-- en -->

Volgens mij wordt dit normaal wel gedaan, bijvoorbeeld om functies heen, zodat de inhoud van de functies niet geprint wordt als je geen javascript hebt, maar zorgt dit er bij de uitvoering van een functie voor dat deze NIET uitgevoerd wordt.

EDIT: heb het net getest en dat werkt.
 
Laatst bewerkt:
hm, het, het werkt - dank je

Ik had het eerst ook zonder, maar op bv. w3's javascript pages stond het wel zo - vandaar. Anywho, thanks! :thumb:



Er zit nu alleen een 'deel 2' aan dit verhaal - de text-link werkt nu, maar ik heb, om zonder JS toch te kunnen navigeren, tussen noscript-tags een stukje php gezet, zegmaar zo:
PHP:
		echo "<div id='content'>";
			echo "<noscript>";
					if(!empty($_GET['p'])){
						$inc = $_GET['p'];
						include("pages/".$inc.".php");
					}
			echo "</noscript>";

			echo "<div id='textwrap'></div>";
		echo "</div>";
JS vult de pagina (als het dus aanstaat) in de 'textwrap' (via .innerHTML) en als dit dus uitstaat zou de content dus direct in de 'content' div geplaatst moeten worden. Tot zover gaat het goed.

Als ik echter als link neem ' www.vegras-studios.com?p=home#home ' (dus, php pakt de pagina 'home' op en javascript pakt via de hash ook de pagina 'home' gaat het goed zonder js - maar als JS wel aanstaat gebeurt er iets vreemds.

Zie het stukje code in de 1e post. Als ik deze weglaat gaat alles heel smooth, maar als deze er WEL staat krijg je dus het resultaat dat er text dubbel geprint word. Zie www.vegras-studios.com?p=home#home

Het heeft dus denk ik iets te maken met die 'dubbele' noscript-tag, eigenlijk weet ik het wel zeker, maar weet niet waarom... Het lijkt erop alsof hij de 1e noscript-tags vergeet na de 2e keer, want als je nadat je naar www.vegras-studios.com?p=home#home naar andere pagina's gaat via het menu, blijft alle content van pagina 'home' staan NA de 2e noscript tags.

Iemand? Alvast bedankt!
 
Laatst bewerkt:
vraag opgelost

[offtopic]
*Dude* waarom niet? Ten eerste, dit is niet een definitieve versie van de site; het is een concept dat ik aan het uitproberen ben. Ten tweede omdat er ook engelstaligen op mijn site komen. Kijk trouwens eerst eens op jouw eigen 'site' (waar je overgens zeer trieste vbs-jes verkoopt als 'hacks' - wat een taalgebruik!!) (nee, dat is engels?) voordat je over ander mans site begint.
Trouwens, ik zoek een oplossing - weet jij die toevallig?
[/offtopic]


vraag opgelost
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan