Toon posts:

[css] verbergen voor validator.

Pagina: 1
Acties:

Verwijderd

Topicstarter
hallo,

ik heb iets nodig, een hack of wat dan ook, om een stuk css te verbergen voor de validator.

ik wil namelijk
code:
1
behavior: url(behavior.htc);
toevoegen, maar daardoor is mijn css niet meer valid, en dat is wel de bedoeling.

is hier niets voor te vinden ( behalven dan de css inline bij een tag zetten )
btw, ik kan de html niet veranderen.

dexus

  • JHS
  • Registratie: Augustus 2003
  • Laatst online: 04-01 15:49

JHS

Splitting the thaum.

Eerlijkgezegd lijkt me dat nogal scheef... Je wil je css dus niet valid maken door iets toe te voegen, maar je wil dat de css nog wel valideert :?

DM!


  • JHS
  • Registratie: Augustus 2003
  • Laatst online: 04-01 15:49

JHS

Splitting the thaum.

Nou, als de validator dan goed werkt kan het niet eens :) . Maar dat is helaas geen antwoord op je vraag, ik weet het eerlijkgezegd niet :) .

DM!


Verwijderd

Topicstarter
ja dus eigenijk zoek ik voor een bug van de validator,
iets dat de validator niet ziet, maar wel door IE ( .htc heb ik alleen nodig voor IE ) wordt uitgevoert.
eigenlijk houd ik mezelf dus voor de gek, maar dat is voor dit probleem ff nodig.

Verwijderd

Remote address, referer check, kun je dan echt zelf niets bedenken?

  • JHS
  • Registratie: Augustus 2003
  • Laatst online: 04-01 15:49

JHS

Splitting the thaum.

Verwijderd schreef op 21 oktober 2004 @ 19:38:
Remote address, referer check, kun je dan echt zelf niets bedenken?
Hij geeft al aan dat hij "de html" niet kan veranderen, dus lijkt me dit ook niet echt van toepassing :) .

DM!


  • Johnny
  • Registratie: December 2001
  • Laatst online: 14:52

Johnny

ondergewaardeerde internetguru

Wat boeit het nou of je CSS valideert?

De validator is handig als je ergens een } of ; bent vergeten, maar verder mag je er iedere property in zetten die je maar wilt en het is aan de browsers of ze die ondersteunen. Eigenlijk zou dat met een prefix moeten zoals -moz- of -khtml- maar Microsoft gebruikt de -mso- die zij hebben gekregen niet, ik gebruik daarom altijd _ (underscore), dat keurt de validator ook niet goed, maar dat boeit niet want op die manier is MSIE de enige browser die hem wel begrijpt.

Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.


Verwijderd

JHS schreef op 21 oktober 2004 @ 19:40:
[...]
Hij geeft al aan dat hij "de html" niet kan veranderen, dus lijkt me dit ook niet echt van toepassing :) .
De stylesheet is ook niet echt HTML, en daar zei hij verder niets over. Als hij de CSS ook niet kan veranderen, dan had hij dat ook moeten zeggen.
Dit probleem is op tal van manieren op te lossen. Met server-side scripting, met de server configuratie, en ook met javascript, als zal dat laatste betekenen dat je de HTML of een javascript document moet veranderen.
Blijft dus over de mogelijkheid om de server iets af te laten vangen. met mod_rewrite van Apache kun je stilletjes de gekste trucs uithalen met bijna elke voorwaarde die je kunt bedenken.
Met server-side scripting kun je de CSS documenten dynamisch opbouwen aan de hand van allerlei variabelen, waaronder het ip adres van de client, de user agent string en de referer.

  • JHS
  • Registratie: Augustus 2003
  • Laatst online: 04-01 15:49

JHS

Splitting the thaum.

@Johny: Nuja, het valideren van je css / html is ook gewoon leuk :) . Bovendien zegt hij dat 'ie het nodig heeft, vast voor school ofzo :P

[ Voor 6% gewijzigd door JHS op 21-10-2004 20:05 ]

DM!


  • Clay
  • Registratie: Oktober 1999
  • Laatst online: 25-02 11:17

Clay

cookie erbij?

Vind het een beetje krom om meer gewicht aan de validator zelf te hangen, dan aan het feit of de CSS nou echt valid is of niet. Die validator geeft ook maar een indicatie, en heeft het vaak zat fout. Als een behavior de enige error is gaat een school daar ook niet dom over doen (met de juiste motivatie).

Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin


Verwijderd

Topicstarter
het is niet voor school hoor,
het is voor een soort css wedstrijd, en een van de regels is dat de css moet valideren.
en het is dus de bedoeling dat je alleen de css aanpast.

en nou had ik dus het id om een behavoir te gebruikten, maar dat valideert dus niet, en dan is het allemaal niet geldig. dus als ik het kan verbergen voor de validator is het natuurlijk perfect.


het boeit mij normaal ook niet veel of de css valideert, maar nu moet het dus wel.

kan natuurlijk ook wel iets anders gaan verzinnen,
maar moet natuurlijk eerst weten of het echt niet kan, dus dat je geen invalid css kan laten valideren

Verwijderd

dingen als background-image: url('javascript:alert("blaat")');
valideert volgens mij wel (het is nl gewoon een string in die url()) en je kan er in ie ook wel wat dingen mee

  • Rhapsody
  • Registratie: Oktober 2002
  • Laatst online: 13:43

Rhapsody

In Metal We Trust

Waarom wil je valid CSS hebben als je zelf perse gebruik wilt maken van iets dat niet valid CSS is....

Je gaat toch ook niet <br>, <hr>, <img...> enzo doen als je perse XHTML valid wilt hebben?

Beetje krom imho.

Afaik kan het niet.

[ Voor 12% gewijzigd door Rhapsody op 21-10-2004 23:33 ]

🇪🇺 pro Europa!


Verwijderd

Topicstarter
poging 1:
code:
1
2
3
4
5
6
7
8
9
body{
background-image: url('  >>
  var e = document.createElement("script");  >>
  e.src = "test.js";  >>
  e.type="text/javascript";  >>
  e.defer = true;  >>
  document.getElementsByTagName("head")[0].appendChild(e);  >>
');
}
(bij >> gaat de regel gewoon door)
het valideert wel, maar het werkt niet. :'(

[ Voor 39% gewijzigd door Verwijderd op 21-10-2004 23:53 ]


  • Blaise
  • Registratie: Juni 2001
  • Niet online
het is niet voor school hoor,
het is voor een soort css wedstrijd, en een van de regels is dat de css moet valideren.
en het is dus de bedoeling dat je alleen de css aanpast.
Ik denk ook niet dat zulke trucjes mogen van de wedstrijdleiding, je maakt misbruik van tekortkomingen van de validator zodat het zogenaamd valid CSS is.

  • Rataplan
  • Registratie: Oktober 2001
  • Niet online

Rataplan

per aspera ad astra

Ik ben van mening dat als de wedstrijdleiding regels stelt, ze niet moet zeuren als mensen aan die regels voldoen - dan zijn de regels niet goed opgesteld, en dat is niet de schuld van de deelnemers.

offtopic:
Heel apart, sommig commentaar hier. Als MS zich niet aan de regels houdt is het foute boel, als de ts zich wel aan de regels houdt is het ook foute boel, wat willen we nou :D


De volgende oplossing werkt alleen als de referer-validator wordt gebruikt in plaats van het volledig en handmatig laten parsen van de gebruikte css. Hangt dus nog even van de exacte regels af; als de code, onafhankelijk van @imports, met de hand aan de validator wordt gevoerd ben je imo kansloos. Here goes nothing:

Bestudeer http://css-discuss.incutio.com/?page=CssHack en http://imfo.ru/csstest/css_hacks/import.php en zie dat op die tweede pagina twee "warning"-imports (#13 en #14) gegeven worden die samen alle IE-versies coveren. Je kan natuurlijk ook andere gebruiken - ik weet niet welke versies behaviour ondersteunen of voor welke versies je wil ontwikkelen - zolang ze maar "warning" in de laatste kolom hebben staan.

Je code wordt dan zoiets als:
code:
1
2
@im\port url("test2.css"); /* IE6 */
@import\ url("test2.css"); /* IE 4-5 & others */

... en alle IE-varianten zullen het betreffende stylesheet laden.

De validator doet echter níet mee: die zegt:
Warnings
URI : http://(knip)/test.css
Line : 0 Sorry, the at-rule @im\port is not implemented. 
Line : 0 Sorry, the at-rule @import\ url is not implemented. 
en je illegale sheets worden niet geladen - maar daarboven staat bij mij toevallig wel "Congratulations! This document validates as CSS!" 8)

Nogmaals, of je dit kan gebruiken is afhankelijk van de regels. Zijn die niet al te strikt, dan zal een beetje jurylid deze errors als aanleiding zien om je code even nader te bestuderen, en je IE-only code alsnog met de hand door de validator te mikken. En dan houdt het verhaal op :P

Anders moet je het effect dat je wil bereiken maar even beschrijven, dikke kans dat er alternatieven zijn voor wat je hebt bedacht. Zo uniek zijn de MS-oplossingen nou ook weer niet.


Journalism is printing what someone else does not want printed; everything else is public relations.


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 13:54

crisp

Devver

Pixelated

Je kan de behavior ook opnemen in je pagina zelf tussen een conditional comment:
HTML:
1
2
3
4
5
<!--[if IE]>
<style type="text/css">
#element { behavior: url(behavior.htc); }
</style>
<![endif]-->


ik neem aan dat de validator dit ook zal negeren

Intentionally left blank


  • Rataplan
  • Registratie: Oktober 2001
  • Niet online

Rataplan

per aspera ad astra

crisp schreef op 22 oktober 2004 @ 08:35:
Je kan de behavior ook opnemen in je pagina zelf
Zat ik ook aan te denken ([google=conditional css] wijst je al snel in die richting O-)), maar ja:
Verwijderd schreef op 21 oktober 2004 @ 19:29:
ik kan de html niet veranderen.
;)


edit:
Dat kan 'ie trouwens wel 8)

code:
1
2
3
4
background-image:url('
javascript:document.getElementsByTagName("body")[0].innerHTML += 
"<style>body{color:green;}</style>";
');
levert, uiteraard op één regel geplaatst, hier keurig groene tekst op :)

[ Voor 44% gewijzigd door Rataplan op 22-10-2004 13:34 ]


Journalism is printing what someone else does not want printed; everything else is public relations.


Verwijderd

Topicstarter
Rataplan schreef op 22 oktober 2004 @ 08:55:Dat kan 'ie trouwens wel 8)

code:
1
2
3
4
background-image:url('
javascript:document.getElementsByTagName("body")[0].innerHTML += 
"<style>body{color:green;}</style>";
');
levert, uiteraard op één regel geplaatst, hier keurig groene tekst op :)
je hebt gelijk, persies wat ik nodig had.
nog ff </st"+"yle> ertussengezet en het werkt allemaal perfect.

tnx _/-\o_
en de rest trouwens ook bedankt voor de hulp.

[ Voor 14% gewijzigd door Verwijderd op 22-10-2004 16:20 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 13:54

crisp

Devver

Pixelated

Was het niet zo dat in winXP met SP2 dit niet meer werkte?

Intentionally left blank


Verwijderd

Topicstarter
crisp schreef op 22 oktober 2004 @ 16:24:
Was het niet zo dat in winXP met SP2 dit niet meer werkte?
weet niet, heb SP2 nog niet geinstalled...

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 13:54

crisp

Devver

Pixelated

link gevonden over deze hack: http://www.quirksmode.org/css/javascript.html

Je moet er rekening mee houden dat dit dus ook in Opera werkt, en verder ben ik het wel met PPK eens: dit soort dingen horen niet in CSS. Waar ik het vandaan heb dat dit niet in winXP met SP2 zou werken weet ik niet meer, I might be mistaken...

Intentionally left blank

Pagina: 1