target="_blank" in XHTML 1.0 Strict
I've always wondered how to add a target="_blank" to my XHTML 1.0 Strict pages. Thanks to this article, I now know a nice workaround.
Much to the chagrin of Web designers everywhere, the HTML
4.0 Strict and XHTML 1.0 Strict recommendations of the W3C no longer
include the target
attribute of the <a>
tag. The Transitional versions of the specifications still include it, but by definition, these specs are on the way out.
The short and sweet version is to use the "rel" attribute to your advantage.
<a href="document.html" rel="external">external link</a>
And then use this short script to key off this attribute for adding a target="_blank" (using the DOM).
function externalLinks() {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i=0; i<anchors.length; i++) {
var anchor = anchors[i];
if (anchor.getAttribute("href") &&
anchor.getAttribute("rel") == "external")
anchor.target = "_blank";
}
}
window.onload = externalLinks;
Throw this in an "external.js" file and add it to whatever pages you need it in.
<script type="text/javascript" src="/external.js"></script>
This LOT more work than I expected, but since it's written up in an actual article, I tend to believe that this is probably the shortest path to making this happen.
Posted by AJ Lincoln on January 05, 2004 at 02:10 AM MST #