Autor Zpráva
1Pupik1989
Profil
Zdravím. Řeším problém s rozpoznáváním navštíveného odkazu. Dříve se to dalo řešit porovnáním barvy. V základu měl navštívený odkaz nastavenou barvu na fialovou nebo podobný odstín. Nicméně teď už se tomuto způsobu věřit nedá.

Otázka je prostá. Dá se nějak zjistit, jestli byl odkaz navštíven? Líbilo by se mi nějaké kompatibilnější řešení.

Děkuji všem za odpovědi.
Chamurappi
Profil
Reaguji na 1Pupika1989:
Nedá. Tvůrci prohlížečů tomu kvůli ochraně soukromí aktivně brání. Bohužel i v situacích, kdy odkaz vede na stejnou doménu (a soukromí tedy není ohroženo víc než standardně povolenými sušenkami).
CZghost
Profil
1Pupik1989:
Maximálně na straně serveru nastavit do proměnné (pole) odkaz jako klíč a hodnotu jako navštívený (nebo to řešit databází), jinak to nepůjde. Pokud chceš sledovat cizí odkazy, tak v tom ti neporadíme.
1Pupik1989
Profil
Já jen že píšu obdobu querySelector a querySelector kvůli zpětné kompatibilitě a zajímalo mě jak to řeší. Určitě to vykonává na nižší úrovni než v javascriptu. Doufal jsem, že bude alespoň malá naděje.
Chamurappi
Profil
Reaguji na 1Pupika1989:
Ani opravdový querySelector nepodporuje :visited, ne?
Ale vlastně ve starších prohlížečích, které querySelector neznají, ještě ta obrana proti zjišťování rozdílného stylu nejspíš není, takže tam by to nejspíš šlo i přes tu barvu (nebo cokoliv jiného).
1Pupik1989
Profil
Chamurappi:
Pravda, teď na to koukám. querySelector to také neumí. Psát to zvlášť pouze pro starší prohlížeče asi nemá smysl. Pokud to nebude fungovat všude, tak je to bezvýznamné.

Na MDN ještě píšou, že i to stylování pro pseudo třídu ":visited" je omezené. Myslel jsem, že bych za to nacpal pseudo třídu ":before" či ":after", jenže ani náhodou.

//edit: Tak chrome asi podporuje jen attribute "color" pro ":visited".

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0