Kom ihåg mig?

XHTML 1.0 Strict och target-attributet

Ämnesverktyg Visningsalternativ
Oläst 2006-06-18, 07:35 #1
Seattlegrunges avatar
Seattlegrunge Seattlegrunge är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Nov 2003
Inlägg: 979
Seattlegrunge Seattlegrunge är inte uppkopplad
Mycket flitig postare
Seattlegrunges avatar
 
Reg.datum: Nov 2003
Inlägg: 979
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.
Får man inte använda target-attributet? Får man inte lov att öppna nya fönster i strict-mode?!?! Verkar galet

Jag har två länkar på sidan med target="_blank" och den klagar bara på den ena, den första. Skumt!
Seattlegrunge är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-06-18, 08:47 #2
Standouts avatar
Standout Standout är inte uppkopplad
Flitig postare
 
Reg.datum: Feb 2004
Inlägg: 356
Standout Standout är inte uppkopplad
Flitig postare
Standouts avatar
 
Reg.datum: Feb 2004
Inlägg: 356
Det stämmer. Target-attributet är bortplockat ur xhtml 1.0 strict.
Standout är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-06-18, 09:18 #3
digiArt digiArt är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jan 2004
Inlägg: 1 429
digiArt digiArt är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jan 2004
Inlägg: 1 429
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;
Sätt sedan rel="external" på de länkar du vill ska öppna i ett nytt fönster.
digiArt är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-06-18, 12:24 #4
DeSotos avatar
DeSoto DeSoto är inte uppkopplad
Flitig postare
 
Reg.datum: Oct 2005
Inlägg: 323
DeSoto DeSoto är inte uppkopplad
Flitig postare
DeSotos avatar
 
Reg.datum: Oct 2005
Inlägg: 323
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.
DeSoto är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-06-18, 12:32 #5
digiArt digiArt är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jan 2004
Inlägg: 1 429
digiArt digiArt är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jan 2004
Inlägg: 1 429
Citat:
Originally posted by DeSoto@Jun 18 2006, 12:24
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.
Hmm, håller med dig.

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)
digiArt är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-06-18, 13:32 #6
guran guran är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Apr 2004
Inlägg: 1 061
guran guran är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Apr 2004
Inlägg: 1 061
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.
guran är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-06-18, 15:11 #7
Seattlegrunges avatar
Seattlegrunge Seattlegrunge är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Nov 2003
Inlägg: 979
Seattlegrunge Seattlegrunge är inte uppkopplad
Mycket flitig postare
Seattlegrunges avatar
 
Reg.datum: Nov 2003
Inlägg: 979
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?
Seattlegrunge är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-06-18, 16:22 #8
ChristofferJs avatar
ChristofferJ ChristofferJ är inte uppkopplad
Medlem
 
Reg.datum: Feb 2005
Inlägg: 209
ChristofferJ ChristofferJ är inte uppkopplad
Medlem
ChristofferJs avatar
 
Reg.datum: Feb 2005
Inlägg: 209
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 .
ChristofferJ är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-06-26, 15:55 #9
SiCs avatar
SiC SiC är inte uppkopplad
Nykomling
 
Reg.datum: Jun 2006
Inlägg: 13
SiC SiC är inte uppkopplad
Nykomling
SiCs avatar
 
Reg.datum: Jun 2006
Inlägg: 13
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
SiC är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 
Ämnesverktyg
Visningsalternativ

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 21:11.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017