xhtml valid een blank page openen
Auteur: sima - 28 mei 2009 - 00:55 - Gekeurd door: Koen - Hits: 4639 - Aantal punten: (0 stemmen)
Met de komst van XHTML is er wat veranderd op het gebied van het aansturen van links. Het is met een XHTML 1.0/1.1 doctype niet meer toegestaan om gebruik te maken van 'target="_blank"' om een pagina te laten openen in een nieuw venster of tab van de browser.
Onderstaand wordt een oplossing aangedragen waarbij de pagina wel zal valideren. Met behulp van javascript wordt een nieuwe pagina geopend, met als locatie de url van de huidige link.
Deze oplossing is tevens unobtrusive. Wanneer de gebruiker onverhoopt géén gebruik maakt van javascript dan zal deze link nog werken, maar zal dan niet geopend worden in een nieuw venster of tab. De link zal in dat geval dus niet breken.
|
Code: |
Voor een enkel linkje kan je onderstaande code gebruiken
<a onclick="window.open(this.href); return false;" href="http://www.vintagesworld.be">vintagesworld.be</a>
<a onclick="window.open(this.href); return false;" href="http://www.vintagesworld.be">vintagesworld.be </a>
Als je alle linkjes met het rel="external" attribute wilt openen in een nieuw venster, kan je deze code gebruiken
<script type="text/javascript">
window.onload = function () {
var elements = document.getElementsByTagName('a'),
i,
length = elements.length;
for (i = 0; i < length; ++i) {
if(elements[i].getAttribute('rel') === 'external') {
elements[i].setAttribute('target', '_blank');
}
}
};
</script>
<script type="text/javascript"> window.onload = function () { var elements = document.getElementsByTagName('a'), i, length = elements.length; for (i = 0; i < length; ++i) { if(elements[i].getAttribute('rel') === 'external') { elements[i].setAttribute('target', '_blank'); } } }; </script>
Bovenstaande zet linkjes zoals hieronder dus om naar een target="_blank"
<a href="http://www.sitemasters.be" rel="external">open sima in een nieuw venster</a>
<a href="http://www.sitemasters.be" rel="external">open sima in een nieuw venster </a>
Download code (.txt)
|
|
Stemmen |
Niet ingelogd. |
|