Avatar billede kr-data Nybegynder
11. januar 2005 - 21:19 Der er 18 kommentarer

IE og tabel som link. Underlig fejl i FF

Ja. Vi tager en af gangen. Jeg har lavet et link sådan her:
<a href="link">
<table>
<tr><td>noget</td></tr>
</table>
</a>
Dette virker smukt i FireFox (der virker næsten alt smukt) og Opera. Men IE kan ikke bruge de links. Jeg har ikke tid til at ombygge et helt design for at løse den, men løses det skal den. Hvordan?

Den anden er så en mystisk fejl. I FireFox virker det øverste link, som det skal, men det andet gør ikke. Alle andre links lavet med det script der generer dem, men lige det ene vil ikke virker. (Der er fjernet en del udkommenteret kode og andet overflødigt, for overskueligheds skyld).


<a href="in_index.php?p=products&amp;pid=40">
<table class="productsCat">
<tr><td rowspan="4" width="150px">
<img src="http://www.koldingbaadcenter.dk/images/products/noimg.png" alt="Produkt" width="135px" height="108.14516129032px" style="productsImg" border="0">
</td>
<td width="450px" class="productsCatItem"><b>Brugte både</b></td>
<td width="50px"></td>
</tr>

<tr><td colspan="2"><hr width="525px" color="#b6bccc"></td></tr>

<tr>
<td colspan="2"  class="productsCatItem"><div class="productsCatSub"></div>
</td></tr>
</table></a>

<br><hr width="648px" color="#dee7e9"><br>

<a href="in_index.php?p=products&amp;pid=60">
<table class="productsCat">
<tr><td rowspan="4" width="150px">
<img src="http://www.koldingbaadcenter.dk/images/products/9.JPG" alt="Produkt" width="135px" height="89.590909090909px" style="productsImg" border="0">
</td>
<td width="450px" class="productsCatItem"><b>Nye både</b></td>
<td width="50px"></td>
</tr>

<tr><td colspan="2"><hr width="525px" color="#b6bccc"></td></tr>

<tr><td colspan="2"  class="productsCatItem"><div class="productsCatSub"></div></td></tr>
</table></a>
Avatar billede roenving Novice
11. januar 2005 - 21:34 #1
Principielt er det ikke smart at lægge den slags inde i links, så hvorfor ikke:

<table class="productsCat" onclick="location.href='in_index.php?p=products&amp;pid=60'">
Avatar billede kr-data Nybegynder
11. januar 2005 - 21:38 #2
vil det skabe kompatibilitets prodblemer? Kan jeg bruge css med :HOVER der? Og kan jeg bruge begge to sammen for en sikkerheds skyld?
Avatar billede roenving Novice
11. januar 2005 - 21:45 #3
Du kan ikke i IE få :hover til at fungere, men hvor omfattende er dine property-ændringer ?-)

-- for man kunne jo bare lægge en onmouseover-ting på tabellen også, og så ændre et par properties ...

<table class="productsCat" onclick="location.href='in_index.php?p=products&amp;pid=60'" onmouseover="this.style.backgroundColor='#eee';color:blue;" onmouseout="this.style.backgroundColor='#fff';color:black;">
Avatar billede kr-data Nybegynder
11. januar 2005 - 22:03 #4
det er bare en filter: alpha(50); der skal blive til filter: alpha(100); når musen er ovre.
Avatar billede kr-data Nybegynder
11. januar 2005 - 22:17 #5
Tja, dit svar virker, men ville gerne, at curseren bliver til en hånd, er det meget svært lige at fixe?

Ps. smid et svar de 200 pts er vist dine, selv om svaret var lidt mere simpelt end jeg kunne li' men sådan er livet ;)
Avatar billede knudgert Nybegynder
11. januar 2005 - 23:55 #6
<table class="productsCat" style="cursor: pointer" ...
Avatar billede kr-data Nybegynder
12. januar 2005 - 15:43 #7
Tja, det må være en rekord, første gang jeg endnu ser et script, som overholder standarderne og som ikke inkluderer underlige elemter ude fra, som FireFox ikke kan klare... tja det måtte vel ske før eller siden, men det virker da i IE, som de fleste jo bruger. Hvis du kunne en til FF, så begge to virker, så ville det være helt fjong. Ellers smider du bare et svar, så du kan få dine pts.
Avatar billede olebole Juniormester
12. januar 2005 - 16:18 #8
<ole>

Så har du ikke set ret mange scripts, kr-data. Er det JavaScript og/eller ECMA-DOM bindings, kan FF håndtere det som en mis  ;o)

style='filter:Alpha(opacity=50)' er en IE-only property.
Mozilla havde i lidt ældre versioner ækvivalenten style='-moz-opacity:0.5' - men de nyere Moz'er (og flere andre browsere) bruger den nu standardiserede style='opacity:0.5'

/mvh
</bole>
Avatar billede roenving Novice
12. januar 2005 - 19:13 #9
Så bliver det:

<table class="productsCat" style="cursor:pointer;filters:alpha(opacity=50);-moz-opacity:50;opacity:50;" onclick="location.href='in_index.php?p=products&amp;pid=60'" onmouseover="this.filters.alpha.opacity=100;this.style.MozOpacity=1;this.style.Opacity=1;" onmouseover="this.filters.alpha.opacity=50;this.style.MozOpacity=0.5;this.style.Opacity=0.5;">
Avatar billede olebole Juniormester
12. januar 2005 - 19:44 #10
Desværre ikke, da this.filters.alpha.opacity=100; jo vil udløse en fejl i alt andet end IE  ;o)

function mEvent(elm, over) {
    try {
        elm.filters.alpha.opacity = (over)? 100 : 50;
    }
    catch(e) {
        try {
            elm.style.MozOpacity = (over)? 1 : 0.5;
        }
        catch(e) {
            elm.style.opacity = (over)? 1 : 0.5;
        }
    }
}

... og så dette kald:
  onmouseover="mEvent(this, true)" onmouseout="mEvent(this)"
Avatar billede olebole Juniormester
12. januar 2005 - 19:45 #11
... og så skal tabellens style-attribut naturligvis se sådan ud:
  style="cursor:pointer;filters:alpha(opacity=50);-moz-opacity:0.5;opacity:0.5;"
Avatar billede olebole Juniormester
12. januar 2005 - 19:47 #12
... damned - du fik lavet nogle fejl her, roenving  ;D

  style="cursor:pointer;filter:alpha(opacity=50);-moz-opacity:0.5;opacity:0.5;"
Avatar billede kr-data Nybegynder
13. januar 2005 - 23:12 #13
Tror bare vi dropper den effekt. Hehe, det ligger ud over hvad jeg gider sætte mig ind i (sorry, men vil ikke bruge koder jeg ikke forstår).

ole> tja, måske sandt nok med de koder, men hvis folk overholder standarderne, når de programmerer og ikke lige pludselig bruger vildt underlige og komplet latterlige koder, som bl.a. på min skoles intranet, som er en bunke overflødig programmering, som tilsyneladende kun har formålet at blokke FF og co. for jeg kunne have lavet det med samme mængde kode, så det virkede i alle. Så overhold standarderne, og bruger serverside-sprog til så mange af de "underlige" ting som mulig, så undgår man sq mange kompatabilitetskvajerter.

Og de der syglige activeX nogen og sådan noget, så kunne java fint have klaret dem jeg havde set so far. Måske ikke lige så elegant (ved ikke hvor elegant activeX-objekter er, da jeg har holdt mig fra dem), men så kan alle bruge det.


Btw. lidt lol banner, ikke? Altså den med MS eller Linux, kend fakta... Hmm, ingen der siger, at WinFS-filsystemet, som kommer i næste version af win, i mine øjne ligner ren kopi af raiserFS som linux bruger, og så kan vi komme med mange andre, som den "fine" rapport ikke har taget højde for ;) hehe sorry, men morer mig bare over hvor latterlige Microsoft postulater kan blive :p
Avatar billede morteeart Nybegynder
13. januar 2005 - 23:17 #14
og du er vel klar over at Java og Javascript er et par lysår fra hinanden i forskel :P

at man følger standarterne er ikke ens betydning med at det ser rigtigt ud i alle browser, det er en genenral misforståelse.

Standarter er vejledende, men ikke lov.
Avatar billede kr-data Nybegynder
13. januar 2005 - 23:26 #15
Nu hentydede jeg primært til html, xml og css standarder, men jo det gælder da også i høj grav JS og Java. Det gælder så vidt jeg ved 100% for Java, så at sige, at man ikke begynder at lave mystiske ting, så kun virker i Win eller kun virker i IE, men ellers mener jeg nok, at Java i særklasse er ens fra browser til browser, fra system til system, det er jo hele idéen bag Java.

Og ang. JavaScript. Nu kender jeg ikke ret meget JavaScript, da det er et 5 år forældet sprog, og det kan rent faktisk ikke ret meget, som jeg har brug for. Jeg vil ikke udlukke, at det kan være pokkers nyttigt i mange siturationer, det ville faktisk undre mig andet, bare ikke for mig. Men selv om jeg ikke kender meget til det, så med min lille hjerne, så ved jeg da, at det bør opføre sig ret ens fra Browser til Browser, måske lige bortset fra IE, som jo har en tendens til at opføre sig lige modsat det alle andre gør.
Avatar billede olebole Juniormester
14. januar 2005 - 00:39 #16
Uden at ønske at fornærme dig, men jeg tror ikke, det er JavaScript, der er 5 år forældet - men måske dig, der er 5 år fra at være koder  :)

Der er intet galt i, at forskellige browsere virker forskelligt. At sikre større mulighed for dette er netop en af de væsentligste begrundelser for at overgå til XML/XHTML. Det giver browser leverandører og tredieparts programmører helt fantastiske muligheder for at lave special-tags og -features i deres applikationer - uden at ødelægge noget for andre.

De der 'syge ActiveX-objekter' kan Windows ikke arbejde uden - så med mindre du bruger MacOS, Linux eller andre ikke-Win-OS'er, bruger du dagligt tonsvis af ActiveX-objekter. Windows kan ganske enkelt ikke fungere uden ActiveX-objekter - og mon ikke, du har prøvet at anbringe en Flash-film på en HTML-side? Så har du også brugt ActiveX  ;o)

Java er netop herostratisk berømt for at være den teknologi, der sutter mest på klienten. Java er i virkeligheden konstrueret til at styre benzinindsprøjtning på biler, styre temperatur i køleskabe o.m.a. Ret tidligt fandt man dog på at bruge det på WWW, men da der altid har eksisteret så mange forskellige klient-implementeringer, har Java-appletter lige siden WWW-introduktionen været noget djævelsk inkompatibelt skrammel. Til meget andet er Java rigtig godt - men det har altid været forbundet med problemer at bruge det i web-browsere.

At du ikke har brug for JavaScript og lider af den vrangforestilling, det skulle være et lille og forældet sprog, kan kun bero på det yderst begrænsede kendskab, du selv nævner, du har. Du blander helt tydeligt også de to prog JScript (som er MS' implementering af ECMA-script) og JavaScript (som er Netscapes originale implementering af samme). Holder man sig til JavaScript og bruger man de standardiserede ECMA-DOM bindinger, får man yderst sjældent problemer. Når det endelig sker, er det som oftest i Opera.

Det er fint at være kritisk - men kritikken bør bygge på viden ... ikke tro og religion  ;o)
Avatar billede kr-data Nybegynder
14. januar 2005 - 18:41 #17
Hmm har også overvejet at komme i krig med XML og XHTML. Og jo, jeg har brugt Windows meget, desværre er det system jo ikke så let altid at slippe af med, selv om jeg primært arbejder på Linux og faktisk nærmest aldrig bruger min Win partition mere, så har jeg den stadig. Bl.a. fordi, når jeg er til netnat, så gider jeg ikke bøvle med cedega, hvis der lige pludselig dukker et nyt spil op.

Jeg vidste faktisk ikke, at det var Java's oprindelse, men der kan man bare se. Har ikke sat mig så meget ind i den med hjemmesider, men jeg ved, at Java i teorien vil opføre sig ens, uanset platform. Og hurtigt, tja har ikke arbejdet nok med Java til at vide det, men har da haft fornemmelse.

Tja, jeg læser dit halvvejs som en opfordring til at begynde at studere JavaScript igen. Hehe, den tager jeg måske op, ved det ikke, jeg holder på at server-side systemer er de bedste når de er mulige.
Avatar billede roenving Novice
16. januar 2005 - 15:47 #18
Det er ikke et absolut, at server-side systemer er bedst, for du skal vurdere forholdet mellem evt. reloads og client-side afvikling af simple funktioner ...

Eksempelvis vil det være en stor fordel at foretage foreløbige valideringer af data client-side, hvis de skal uploades, så du både sparer kræfter serverside og undgår at folk ideligt skal vente på en reload af en tung side og/eller gennem en langsom forbindelse ...

Til gengæld betyder det ikke, at du kan undvære valideringen serverside, da der stadig er nogle, som tror, at javascript kan bruges til mange grimme ting !-)
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