Gå til innhold

Webkafeen


Anbefalte innlegg

Videoannonse
Annonse
Ikke ofte man ser dem ordlegge seg med "should" og "may". Vel, jeg får legge inn følgende motto: "Er det godt nok for w3.org sin markup er det godt nok for min også"

5597153[/snapback]

Det har jo ikkje noko med det å gjere, dette er jo ein ganske universal regel. Greitt nok, W3C lagar spesifikasjonane, men dei sender òg inn søknadar om MIME-type-registrering. At nettlesarane ikkje klarer å kope med dette er ikkje deira feil (kanskje litt, sidan spesifikasjonane er heller dårlige frå ein UA-utviklers synspunkt).

 

Du har MIME-typer for å bruke dei. XHTML sendt som HTML er HTML, for ørtande gang. XML-parseren er ikkje aktiv, og dette kan føre til quirks modus.

Endret av Henrik Lied
Lenke til kommentar

Så med all sannsynlighet går nettsiden min i quirks-mode, er det det du sier? Nettleseren får en doctype som spesifiserer hvordan den skal tolke kodene. Det er i de tilfeller nettleseren må tippe seg frem til doctype i mangel av spesifisering, at den går i quirks-mode. Dette har da ingenting med hvordan kodene sendes over nettet å gjøre, så lenge det blir seende likt ut i andre enden.

Endret av anth
Lenke til kommentar

Du snakker jo som om overføringen skulle endre på kodene. Du vet da like godt som meg at de kodene man sender avgårde ser akkurat like ut når de ankommer i andre enden.

 

Edit: Dette begynner å ligne en html VS xhtml-debatt. Tydeligvis så er det en felles fanatisk motstand mot xhtml i denne forumdelen, så jeg tenker vi avslutter diskusjonen her og nå jeg. Dette fører ikke noe godt med seg.

Endret av anth
Lenke til kommentar

Har fått opp ny forside på bullgaard.no (100% sjanse for at du ikke har hør om den :p ). Er den bedere enn orginalen?

 

BTW: Den dropdown-menyen var litt seig for IE... Men fant ut en genial måte å få hover på alle elementene til å virke! La bare til behavior:url("hover.htc"); i body ;)

hover.htc:

<attach event="ondocumentready" handler="parseStylesheets" />
<script>
/**
*	Whatever:hover - V1.42.060206 - hover & active
*	------------------------------------------------------------
*	(c) 2005 - Peter Nederlof
*	Peterned - http://www.xs4all.nl/~peterned/
*	License  - http://creativecommons.org/licenses/LGPL/2.1/
*
*	Whatever:hover is free software; you can redistribute it and/or
*	modify it under the terms of the GNU Lesser General Public
*	License as published by the Free Software Foundation; either
*	version 2.1 of the License, or (at your option) any later version.
*
*	Whatever:hover is distributed in the hope that it will be useful,
*	but WITHOUT ANY WARRANTY; without even the implied warranty of
*	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
*	Lesser General Public License for more details.
*
*	Credits and thanks to:
*	Arnoud Berendsen, Martin Reurings, Robert Hanson
*
*	howto: body { behavior:url("csshover.htc"); }
*	------------------------------------------------------------
*/

var csshoverReg = /(^|\s)(([^a]([^ ]+)?)|(a([^#.][^ ]+)+)):(hover|active)/i,
currentSheet, doc = window.document, hoverEvents = [], activators = {
onhover:{on:'onmouseover', off:'onmouseout'},
onactive:{on:'onmousedown', off:'onmouseup'}
}

function parseStylesheets() {
if(!/MSIE (5|6)/.test(navigator.userAgent)) return;
window.attachEvent('onunload', unhookHoverEvents);
var sheets = doc.styleSheets, l = sheets.length;
for(var i=0; i<l; i++) 
 parseStylesheet(sheets[i]);
}
function parseStylesheet(sheet) {
 if(sheet.imports) {
 	try {
   var imports = sheet.imports, l = imports.length;
   for(var i=0; i<l; i++) parseStylesheet(sheet.imports[i]);
 	} catch(securityException){}
 }

 try {
 	var rules = (currentSheet = sheet).rules, l = rules.length;
 	for(var j=0; j<l; j++) parseCSSRule(rules[j]);
 } catch(securityException){}
}

function parseCSSRule(rule) {
 var select = rule.selectorText, style = rule.style.cssText;
 if(!csshoverReg.test(select) || !style) return;

 var pseudo = select.replace(/[^:]+:([a-z-]+).*/i, 'on$1');
 var newSelect = select.replace(/(\.([a-z0-9_-]+):[a-z]+)|(:[a-z]+)/gi, '.$2' + pseudo);
 var className = (/\.([a-z0-9_-]*on(hover|active))/i).exec(newSelect)[1];
 var affected = select.replace(/:(hover|active).*$/, '');
 var elements = getElementsBySelect(affected);
 if(elements.length == 0) return;

 currentSheet.addRule(newSelect, style);
 for(var i=0; i<elements.length; i++)
 	new HoverElement(elements[i], className, activators[pseudo]);
}

function HoverElement(node, className, events) {
if(!node.hovers) node.hovers = {};
if(node.hovers[className]) return;
node.hovers[className] = true;
hookHoverEvent(node, events.on, function() { node.className += ' ' + className; });
hookHoverEvent(node, events.off, function() { node.className = node.className.replace(new RegExp('\\s+'+className, 'g'),''); });
}
function hookHoverEvent(node, type, handler) {
 node.attachEvent(type, handler);
 hoverEvents[hoverEvents.length] = { 
 	node:node, type:type, handler:handler 
 };
}

function unhookHoverEvents() {
 for(var e,i=0; i<hoverEvents.length; i++) {
 	e = hoverEvents[i]; 
 	e.node.detachEvent(e.type, e.handler);
 }
}

function getElementsBySelect(rule) {
var parts, nodes = [doc];
parts = rule.split(' ');
for(var i=0; i<parts.length; i++) {
 nodes = getSelectedNodes(parts[i], nodes);
}	return nodes;
}
function getSelectedNodes(select, elements) {
 var result, node, nodes = [];
 var identify = (/\#([a-z0-9_-]+)/i).exec(select);
 if(identify) {
 	var element = doc.getElementById(identify[1]);
 	return element? [element]:nodes;
 }
 
 var classname = (/\.([a-z0-9_-]+)/i).exec(select);
 var tagName = select.replace(/(\.|\#|\:)[a-z0-9_-]+/i, '');
 var classReg = classname? new RegExp('\\b' + classname[1] + '\\b'):false;
 for(var i=0; i<elements.length; i++) {
 	result = tagName? elements[i].all.tags(tagName):elements[i].all; 
 	for(var j=0; j<result.length; j++) {
   node = result[j];
   if(classReg && !classReg.test(node.className)) continue;
   nodes[nodes.length] = node;
 	}
 }	
 
 return nodes;
}
</script>

 

Lenke til kommentar
Du snakker jo som om overføringen skulle endre på kodene. Du vet da like godt som meg at de kodene man sender avgårde ser akkurat like ut når de ankommer i andre enden.

 

Edit: Dette begynner å ligne en html VS xhtml-debatt. Tydeligvis så er det en felles fanatisk motstand mot xhtml i denne forumdelen, så jeg tenker vi avslutter diskusjonen her og nå jeg. Dette fører ikke noe godt med seg.

5597226[/snapback]

Overføringa gjer ingenting, men MIME-typen fortel nettlesaren korleis den skal tolke dokumentet.

Lenke til kommentar

Anth:

Så lenge MIME-typen ikkje stemmer overeins med DOCTYPEn du har på sida di så blir ting litt feil. Bruker du XHTML - som er et XML-basert språk - skal MIME-typen vere application/xhtml+xml, ellers blir - som Henrik sa tidligare - ikkje XML-parseren i nettlesaren din brukt. Som eit følge av dette vil du ikkje få noko utbytte av å skrive så fin og flott XHTML som du vil - nettlesaren vil tolke det som vanlig HTML, og muligens gå i quirks-modus.

 

mimetype.jpg

 

Eit svært enkelt og greit bevis på at nettlesaren tek i mot det heile som vanlig HTML, og tolkar det deretter. Og om du absolutt skal vere så oppdatert og glad i rein kode burde du bruke UTF-8-tegnsett i staden for ISO-8859-1.

Lenke til kommentar

MIME-typen er en del av overføringen, ergo blir overfoøringen forskjellig når du forandrer MIME-typen. Den har ingenting å si for innholdet, den forteller bare nettleseren hva den skal forvente å få.

 

Et eksempel:

Når du bestiller en ny PC på internett, kommer den vanligvis i en eske. Når du da får en eske i postkassen, tenker du at "her kommer maskinen min". Du vil da glede deg som en unge til du kommer inn og kan pakke den opp.

 

Skulle det derimot være en bærepose som kom, ville du ikke tenkt noe videre over det (bortsett fra at det er unormalt å få bæreposer i posten) og satt den på kjøkkene sammen med andre regninger til du hadde bedre tid. Når du da senere åpnet posen, og fant datamaskinen, ville du blitt veldig overasket, og kanskje i forfjamselsen gjort noe du egentlig ikke hadde tenkt å gjøre med maskinen (gå i quirc-mode).

Lenke til kommentar

Synes dette med MIME-type høres suspekt ut, og det er helt nytt for meg at MIME-type forteller nettleseren hva slags dokumenttype det er, og hvordan kodene skal tolkes.

 

Server-script->Ferdig xhtml-kode->MIME--->---Internett---->MIME->xhtml-kode->Nettleser Tolker->Side vises på skjerm

Endret av anth
Lenke til kommentar

Det er jo litt suspekt å få en stor bærepose i posten og bare sette den på kjøkken... Kanskje du haddde gitt oppgaven å pakke den opp til ein "mindreårig" (vil ikke si barn, siden jeg da kan bli beskylt for å være gammel:P). Da hadde vi nokk sett lit IE tendenser. De enkelte bestanddeler på vid vandring:P

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...