Toon posts:

[html/js] td linken, mozilla werkt niet mee

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hi,

Voor een pagina die ik maak is er aan de linkerkant een menu te vinden. Een uitklapblaar menu met daarin subonderdelen. Per subonderdeel heb ik aanvankelijk twee images ingeladen om een onmouseover mee te creëren en deze te laten linken via normale html (<a href="bladieblaat.html" target="_blank">)

Ik werd er op gewezen dat het laden van mijn pagina zo wel heel erg lang duurde dus ben ik gaan zoeken naar andere oplossingen. Na wat speurwerk kwam ik er achter dat je doormiddel van javascript ook een achtergrondkleur van een cel (<td>) kan doen veranderen, dus hier maak ik dan nu grondig gebruik van.

In deze cel zet ik de tekst van mijn link en deze wil ik laten linken volgens de gebruikelijke methode. Wat is dan nu het probleem? Hoewel de hele cel reageert op mijn muis (cursor: pointer;) om deze van kleur te doen veranderen reageert niet de hele cel op mijn link. Dat is ook wel logisch, gezien het feit dat alleen de tekst maar als hyperlink in html staat opgeslagen.

Ik moest dus een andere oplossing zoeken, en ik werd er weer door iemand op gewezen dat je ook een cel een link kan meegeven, in plaats van de inhoud van de cel. Dit is dus precies wat ik nodig heb. De cel verandert nu leuk van kleur bij een onmouseover, en bij een onmouseclick ga ik mooi naar de gewenste pagina. Alles leuk en aardig totdat ik dit in mozilla test! Pats boem, daar gaat het licht uit, het menu komt nog wel tevoorschijn, de kleurverandering doet het ook prima, als cursor geeft hij in de hele cel keurig een handje weer, maar er is geen link, of, de link doet het niet.

De code die ik gebruik:

code:
1
2
3
4
<td bgcolor="EEEEEE"
 onmouseout="style.backgroundColor='#EEEEEE'"
 onmouseover="style.backgroundColor='#DEDEDE'"
 onclick="location.href('blaat.html');">link</td>


Het probleem ligt dus bij de onclick. Tijdens het zoeken ben ik het volgende topic tegen gekomen, maar dat bood me geen uitkomst (aangezien er niet werd gereageerd op target="_blank" :?)

Topic 634458

location.href werkt in IE prima, geeft alleen problemen in Mozilla

daarnaast hebben we ook nog window.open geprobeerd maar deze leek niet te reageren op de target en opende in zowel IE als Moz een nieuwe pagina.

window.location.href
window.navigate

reageren beide ook niet in mozilla (mozilla-firebird)

[ Voor 10% gewijzigd door crisp op 25-11-2003 21:04 ]


  • dArtagnan
  • Registratie: Mei 2002
  • Laatst online: 02-05 12:11

dArtagnan

Een voor allen, allen voor een

document.location zou moeten werken

Verwijderd

Zoals ik ook al op ICQ zei moet je in je window.open een target zetten. Als je dat nou gewoon had geprobeerd voordat je poste :P.

Naja iig voor de search danmaar de oplossing:
window.open(URL, Name, Options);

where
URL = location of the document to be shown in new window
Name = window name, useful for TARGET field of <a> tag
Options = text string containing features of new window
[size=1]bron: http://www.webclass.ru/en...ew_window_properties.html[/size]

//offtopic hoe verander ik lettergroote?

[ Voor 6% gewijzigd door Verwijderd op 25-11-2003 20:46 ]


Verwijderd

Topicstarter
code:
1
window.open('images_fotodatabase.rp','target=_blank','');


geeft ie een foutmelding: ongeldig argument
kan dat misschien kloppen omdat dit moet terugslaan op een <td> en deze code alleen geaccepteerd wordt in een <a> ?

code:
1
onclick="window.open('images_fotodatabase.rp','','target=self');"


bij bovenstaande opent hij wel de link, alleen niet in hetzelfde window.

[ Voor 33% gewijzigd door Verwijderd op 25-11-2003 20:57 ]


  • dArtagnan
  • Registratie: Mei 2002
  • Laatst online: 02-05 12:11

dArtagnan

Een voor allen, allen voor een

Verwijderd schreef op 25 november 2003 @ 20:54:
code:
1
window.open('images_fotodatabase.rp','target=_blank','');


geeft ie een foutmelding: ongeldig argument
kan dat misschien kloppen omdat dit moet terugslaan op een <td> en deze code alleen geaccepteerd wordt in een <a> ?

code:
1
onclick="window.open('images_fotodatabase.rp','','target=self');"


bij bovenstaande opent hij wel de link, alleen niet in hetzelfde window.
window.open is ook bedoelt om een nieuw venster te openen.
met document.location kun je iemand redirecten naar een andere pagina.
(http://caucuscare.com/~roth/JAVASCRIPT/refp_88.htm)

code:
1
onclick="document.location='images_fotodatabase.rp'"
//offtopic hoe verander ik lettergroote?
// edit: verkeerd begrepen
code:
1
[sub]tekst[/sub]
code:
1
[ot]off-topic tekst[/ot]

[ Voor 76% gewijzigd door dArtagnan op 25-11-2003 21:20 ]


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

document.location is deprecated en nooit bedoelt geweest om een redirect te doen:

JavaScript:
1
2
3
4
<td style="background-color:#EEEEEE"
 onmouseout="this.style.backgroundColor='#EEEEEE'"
 onmouseover="this.style.backgroundColor='#DEDEDE'"
 onclick="window.location.href='blaat.html'">link</td>

Intentionally left blank


Verwijderd

Topicstarter
@koraalduivel

Zoals je hem net postte werkt het in de browsers die we hebben getest. Ja, ook mozilla-firebird gelukkig.

En de tekstgrootte veranderen werd waarschijnlijk bedoeld hoe je tekstgrootte op dit forum kan veranderen. Maar hij zal je toch wel dankbaar zijn voor de moeite denk ik.

Ik had document.location al wel geprobeerd, alleen had ik deze op onderstaande manier geprobeerd en niet zoals jij net postte:

code:
1
document.location('blaat.html');


Voor iedereen die dus op zoek is naar een link voor een hele td:

code:
1
<td onclick="window.location.href='blaat.html'">wat je maar wil</td>


zorg daarbij wel dat je in css de cursor op pointer hebt staan want dan heb je ook in mozilla en ie een handje, ipv een pijltje of een textcursor

[ Voor 9% gewijzigd door Verwijderd op 25-11-2003 22:16 ]


Verwijderd

Topicstarter
crisp schreef op 25 november 2003 @ 21:13:
document.location is deprecated en nooit bedoelt geweest om een redirect te doen:

JavaScript:
1
2
3
4
<td style="background-color:#EEEEEE"
 onmouseout="this.style.backgroundColor='#EEEEEE'"
 onmouseover="this.style.backgroundColor='#DEDEDE'"
 onclick="window.location.href='blaat.html'">link</td>
mja, komt op hetzelfde neer, verkeerd toegepast. Ik gebruikte niet de = maar gooide alles tussen haakjes, dat was het probleem dus blijkbaar. Hoewel dit alles niet als redirect wordt gebruikt overigens maar als gewone link.

bedankt voor de moeite iig

[ Voor 16% gewijzigd door Verwijderd op 25-11-2003 21:21 ]


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Verwijderd schreef op 25 november 2003 @ 21:19:
[...]


mja, komt op hetzelfde neer, verkeerd toegepast. Ik gebruikte niet de = maar gooide alles tussen haakjes, dat was het probleem dus blijkbaar. Hoewel dit alles niet als redirect wordt gebruikt overigens maar als gewone link.

bedankt voor de moeite iig
nee, dat komt niet op hetzelfde neer; je dient window.location te gebruiken als je wilt navigeren en niet het verouderde en daar nooit voor bedoelde document.location (dat tegenwoordig dus vervangen is door het read-only document.URL attribuut). Dat het nu werkt wil niet zeggen dat het in de volgende versies van verschillende browsers ook nog zal werken, het is gewoon fout.

Intentionally left blank

Pagina: 1