FAQ |
Kalender |
![]() |
#1 | |||
|
||||
Mycket flitig postare
|
Validerade en sida som har doctypen XHTML 1.0 Strict i W3C:s Markup Validation Service.
Validatorn kastar ut ett error på att jag har attributet target="_blank" i en a-tag! Följande meddelande får jag: Kod:
Error Line 25 column 102: there is no attribute "target". ...titletaggens innehåll" target="_blank"><img src="images/bildnamn.gif... You have used the attribute named above in your document, but the document type you are using does not support that attribute for this element. This error is often caused by incorrect use of the "Strict" document type with a document that uses frames (e.g. you must use the "Transitional" document type to get the "target" attribute), or by using vendor proprietary extensions such as "marginheight" (this is usually fixed by using CSS to achieve the desired effect instead). This error may also result if the element itself is not supported in the document type you are using, as an undefined element will have no supported attributes; in this case, see the element-undefined error message for further information. How to fix: check the spelling and case of the element and attribute, (Remember XHTML is all lower-case) and/or check that they are both allowed in the chosen document type, and/or use CSS instead of this attribute. ![]() Jag har två länkar på sidan med target="_blank" och den klagar bara på den ena, den första. Skumt! |
|||
![]() |
![]() |
![]() |
#2 | |||
|
||||
Flitig postare
|
Det stämmer. Target-attributet är bortplockat ur xhtml 1.0 strict.
|
|||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Har WN som tidsfördriv
|
Du kan köra en javascriptlösning istället:
Kod:
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.onclick = function(){window.open(anchor.getAttribute("href"));return false;}; } } } window.onload = externalLinks; |
||
![]() |
![]() |
![]() |
#4 | |||
|
||||
Flitig postare
|
Hela meningen med att target är borttaget är för att användaren själv ska få välja ifall sidan ska öppnas i ett nytt fönster eller inte. Ifall man vill tvinga användaren att öppna i nytt fönster bör man antingen köra med en annan doctype eller strunta i att sidan validerar. Att klydda med javascript bara för att få den att validera är oförståeligt för mig.
|
|||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Har WN som tidsfördriv
|
Citat:
Men med samma resonemang kan jag som utvecklare undra varför en överordnad myndighet eller annan verksamhet ska besluta hur jag använder mig av länkar på mina sidor. Användaren kan fortfarande avgöra om hon eller han vill surfa i samma fönster, stäng av javascript helt enkelt ![]() (Jag argumenterar inte mot dig, jag visar bara på en annan syn på saken) |
||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Har WN som tidsfördriv
|
Det fyller i princip inte så stor funtion i dagläget att ha en doctype med xhtml. Webbläsaren kommer att behandla den som html i alla fall. Vill du att en webbläsare ska tolka din kod som xhtml måste du skicka ut en MIME-typ enligt application/xhtml+xml. Om du är insatt i hur du kan ändra på MIME-typen så prova detta och ladda sidan med Opera, Firefox och MSIE. Om din kod är korrekt så funkar det fint med Opera och Firefox, men med MSIE blir det stopp (går möjligen bra i MSIE 7, har ej provat det).
Så i princip, om du vill använda fördelarna med xhtml, så får du kontrollera vilken webbläsare användare har och skicka MIME-typ application/xhmt-xml till webbläsare som du vet klarar av att hantera xhtml och MIME-typ text/html till de andra. Vid tolkning av xhtml måste du även vara insatt i vilken javascrip som funkar och inte funkar med xhtml. CSS har några olikheter i xhtml och html. Använd doctype HTML 4.01 strict i stället. Du kan ju alltid utveckla sidan med xhtml och skicka MIME-typ application/xhmt+xml så får du i FF och Opera veta vilka fel som finns i koden, för om du gör fel i xhtml så är den inte förlåtande utan din sida kommer bara att visa ett felmeddelande. |
||
![]() |
![]() |
![]() |
#7 | |||
|
||||
Mycket flitig postare
|
Jag gjorde som så att jag gick över till XHTML 1.0 Transitional istället.
För inte väljer jag att köra ett javascript för att öppna en länk i ett nytt fönster, även om det är en "ny feature" i XHTML Strict att användaren själv ska kunna välja i vilket fönster en länk ska öppnas. Iallafall... med XHTML 1.0 Transitional fick jag "This Page Is Valid XHTML 1.0 Transitional!" Nån som är mot min lösning tro? ![]() |
|||
![]() |
![]() |
![]() |
#8 | |||
|
||||
Medlem
|
Brukar köra på Transitional också faktiskt.. det ska fungera utan problem. Jag anser i alla fall inte det vara fel .. dock en aning fegt kanske
![]() |
|||
![]() |
![]() |
![]() |
#9 | |||
|
||||
Nykomling
|
För att få sidan att validera, samtidigt som man öppnar i ett nytt fönster, så finns det två lösningar. Både innebär javascript, sen vilket man vill använda är mer en smaksak.
http://www.ansluten.net/index.asp?visa=artikellas&id=10 |
|||
![]() |
![]() |
Svara |
|
|