Avatar billede espeholt_jr Nybegynder
14. september 2009 - 20:02 Der er 11 kommentarer

Reklame som baggrund

Hej,

Skal have en reklame som baggrund på et website. Har siddet lidt og lavet lidt forskelligt, men er ikke helt optimalt over de forskellige browsere. Skal virker til de gængse browsere og være xhtml valideret.

Pt. gør jeg således:

<body>
<a onclick="window.open(this.href); return false;" style="position: absolute; left: 0; top: 0; z-index: -10000; display: block; width: 100%; height: 100%; background-image: url(#BILLEDE#);">
        &nbsp;
</a>

<!-- Indhold -->
</body>

Men dette virker ikke i Firefox og height: 100%; er ikke hele sidens højde. Evt. forslag?
Avatar billede Slettet bruger
14. september 2009 - 21:58 #1
Kan det ikke blot gøres så simpelt som dette?

<style type="text/css">
body {
margin: 0;
background-image: url(#BILLEDE#);
}
</style>

Det burde virke under alle browsere.
Avatar billede espeholt_jr Nybegynder
14. september 2009 - 22:13 #2
Tjoo, men det skal fungere som et link :/
Avatar billede olebole Juniormester
15. september 2009 - 15:13 #3
<ole>

Så lægger du bare en onclick handler på body elementet.

Hvad hjælper det i øvrigt, din kode validerer mod XHTML, når du alligevel skriver:
    window.open(this.href);

Det er DOM Level 1 - og kaster derfor din kode lige i armene på browserens HTML-parser, hvor det ellers var meningen, at dokumentet skulle parses med XML-parseren (hvis du altså overhovedet har en grund til at bruge XHTML).

Det allermindste ved at bruge XHTML er selve markup koden. Det er alle tingene 'rundt om' markup'en, der er interessant, komplekst og vigtigt. Desværre er det netop disse områder, næsten ingen af de, der tror, de bruger XHTML, har gidet/evnet at sætte sig ind i.

Bl.a. af den grund gav W3C i begyndelsen af juli det endelige dødstød til XHTML. Der kommer aldrig en version 2.0 - og W3C har igen fuldt fokus på HTML. XHTML er i dag en forældet standard  =)

/mvh
</bole>
Avatar billede espeholt_jr Nybegynder
15. september 2009 - 15:27 #4
Sidder ikke lige på min computer nu. Har du et alternativ til window.open(this.href)? brugte det netop for at få den til at validerer.

Med body onclick, skal jeg også have cursoren til at ændre sig. Men kunne så lave noget css lignede:

body
{
  cursor: pointer;
}

body *
{
  cursor: default;
}

Må lige få læst på at XHTML er forældet så ;) Men så længe nye HTML standarder bliver baseret på XML, er jeg tilfreds :)
Avatar billede Slettet bruger
15. september 2009 - 21:45 #5
Skal der slet ikke være andet indhold på siden end reklamen?
Ellers er det måske nemmere bare at gøre det med en div uden overflow og et img tag?
Hvis det skal være indhold på siden må det da være r** irriterende for brugeren, at ligemeget hvad han trykker på kommer han hen på reklamesiden.
Avatar billede espeholt_jr Nybegynder
15. september 2009 - 21:52 #6
Jo det skal der, en masse indhold. Men det kan jo laves så det ikke er hele siden der er klikbar.
Avatar billede olebole Juniormester
16. september 2009 - 01:00 #7
"Men så længe nye HTML standarder bliver baseret på XML, er jeg tilfreds" >> ehhhh ... nye HTML standarder baserer sig naturligvis på HTML. Ellers havde det ikke været HTML  ;o)

Et af de alvorlige problemer med XHTML var jo netop, at folk ikke vidste, hvad XHTML er og derfor ikke behandlede det som XML, men som HTML. this.href er netop HTML-DOM, hvor man under X(HT)ML skal bruge getAttribute:
    window.open(this.getAttribute('href'), 'navn')

Husk i øvrigt, at window.open tager mindst to argumenter.

På de dele af siden, som ikke skal linke, må du lægge en onclick handler, som cancel'er event'en:
    onclick="return false"

- og det er bøvlet
Avatar billede espeholt_jr Nybegynder
16. september 2009 - 09:00 #8
De skal vel stadig være well-formed - egentlig det jeg mente med det. Men du har ikke et svar til mit spørgsmål? Ved der er flere reklamesider der bruger baggrundsreklamer, men har ikke lige kunnet opsnuse en side, så jeg kunne kigge på koden.
Avatar billede olebole Juniormester
16. september 2009 - 14:52 #9
HTML er i modsætning til XML ikke velformet - og sådan fortsætter det formodentlig. HTML skal overholde SGML - men det gjorde XHTML f.eks. ikke p.gr.a. XML-lukningerne af tags /> ... som jo har en helt anden betydning i SGML/HTML. Også derfor er det noget forbandet og meningsløst vrøvl at serve XHTML som HTML.
Men problemet har altid været, at folk ikke kender forskellene på HTML og XHTML. Primært fordi de ikke ved, hvad nogen af delene i virkeligheden er  ;o)

Ja, nettet er fyldt med tvivlsomme personager, der kæmper om at gøre brugeroplevelsen så dårlig som mulig - blot for at score noget kasse. Har man (jeg) været på et site med dén slags reklamer, kommer man (jeg) der én gang ... og aldrig mere!

Jo, jeg gav dig svaret her:

På de dele af siden, som ikke skal linke, må du lægge en onclick handler, som cancel'er event'en:
    onclick="return false"
Avatar billede espeholt_jr Nybegynder
16. september 2009 - 15:02 #10
Okay, lød bare på dig som om det var en dårlig løsning. Prøver det så.

I FF, siger den siden er i "standard tilstand" og mime er application/xhtml+xml. Så den er ligeglad.
Avatar billede olebole Juniormester
16. september 2009 - 16:01 #11
"I FF, siger den siden er i "standard tilstand" og mime er application/xhtml+xml. Så den er ligeglad." >> Det ved jeg ikke, hvad du mener med.

Ja, det er en bøvlet (dårlig) løsning, men det er den, der eksisterer. Derudover græder jeg ingenlunde over det besværlige ved løsningen. Den slags reklamer anser jeg i forvejen som forurening af WWW og et endeløst irritationsmoment, så mig gør det ikke ondt på, at det er bøvlet  =)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester