probleem iframe w3c validator

Status
Niet open voor verdere reacties.

hobielasseel

Gebruiker
Lid geworden
10 apr 2011
Berichten
142
hallo

Ik heb een soort van starcenter gemaakt met allemaal links en vanboven een nieuwsbalkje met een google web element.

dit laatste is geplaats op de site met een iframe.

als ik de site laat controleren doro de w3c validator krijg ik volgende foutmelding
cannot generate system identifier for general entity "hl"

wat kan ik hier aan doen ?

HTML:
<div class="center" id="googlediv">
			<!-- Google News Element Code -->

			<iframe src="http://www.google.be/uds/modules/elements/newsshow/iframe.html?ned=nl_be&hl=nl&topic=p%2Cn%2Ce%2Cs&element=true" id="googlewebelement" frameborder="0"></iframe>
		</div>

alvast bedankt
 
Gooi het frame er uit. Frames veroorzaken vele problemen, broken frame sets is een van de lastigste.
Een (i)frame wordt behandeld als een aparte pagina, daarom gaat het in je voorbeeld fout.
 
Probeer dan eens de <!-- Google News Element Code --> inside het iframe te zetten...

maarre, waarom uberhaupt nog frames - is decrepated?
 
Hoi ,

html-errors
Ja, die code van Google is incorrect. :confused:
Als je een verwijzing naar een URL maakt, mogen er geen losse &-tekens in gebruikt worden, omdat de & een gereserveerd teken is om andere codes op te halen.

Als je alle & tekens in de link vervangt door &amp; ben je waarschijnlijk van het boze oog van de html-validator verlost.
Het is nu:
Code:
<iframe src="http://www.google.be/uds/modules/elements/newsshow/iframe.html?ned=nl_be[B][COLOR="red"]&[/COLOR][/B]hl=nl[B][COLOR="red"]&[/COLOR][/B]topic=p%2Cn%2Ce%2Cs[B][COLOR="red"]&[/COLOR][/B]element=true" 
id="googlewebelement" frameborder="0">
</iframe>
Het moet worden:
Code:
<iframe src="http://www.google.be/uds/modules/elements/newsshow/iframe.html?ned=nl_be[B][COLOR="darkgreen"]&amp;[/COLOR][/B]hl=nl[B][COLOR="darkgreen"]&amp;[/COLOR][/B]topic=p%2Cn%2Ce%2Cs[B][COLOR="darkgreen"]&amp;[/COLOR][/B]element=true" 
id="googlewebelement" frameborder="0">
</iframe>
En als je dit meer aan de hand mag hebben, dan is er:
  • het tooltje Valid-o-Link
  • Als je daar zo'n wild-west link in plakt (alleen alles wat binnen de aanhalingstekens staat, en dus begint met http://), komt de gesaneerde versie er uit. :)

iframe-alternatief
Om van het <iframe> af te komen, kan je gebruik maken van het <object> element:
HTML:
<object data="http://www.google.be/uds/modules/elem... enz."></object>
Of het Google-binnenwerk zich daarin een beetje gedraagt, weet ik niet.
Eh, even kijken:
Ja, dat gaat goed als je er een <div> omheen zet met de goede breedte en hoogte:
  • google-nieuwsobject.htm (zie broncode)
  • Hè bah, :(, het werkt in browsers (Firefox, Chrome, Opera en Safari), maar niet in Internet Explorer 7, en IE8 laat het volgens Netrenderer ook afweten. Misschien is daar nog een oplossing voor te Googelen.
  • Anders zou het toch dat iframe moeten worden (met xhtml Transitional, anders wordt het iframe niet goedgekeurd door de validator).
Met vriendelijke groet,
CSShunter
___________
PS: de general entity "hl" van je foutmelding zijn de letters hl die meteen volgen op de eerste ongetemde & in de link. Daarom steigert de validator op dat punt; en niet zozeer omdat het om een iframe gaat.
Dat zou er wel meteen achteraan gaan komen, als je deze && herstelt en de pagina met een Strict Doctype lanceert. ;)
  • Een html-"entity" is een serie gereserveerde lettertekens, die altijd met een & begint; en de validator kan in het lijstje geen entity vinden die met &hl begint!
 
Laatst bewerkt:
het probleem met het object is gemakkelijk op te lossen met conditional comments daar lig ik niet wakker van!

en eigenlijk is het niet echt nodig om met een object te werken want het doctype is xhtml transitional!

toch bedankt
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan