konto usunięte

Temat: Błąd w <a href... target...>

Mam jedno, pewnie dla lepszych ode mnie specjalistów proste, pytanie.
Validator pokazuje mi błąd w linii kodu:


<a href="adres" target="_blank">srtututu</a>


Dokładnie rzecz ujmując - nie zezwala na użycie atrybutu target.
Dokument jest strict.
Jak to obejść, żeby otwierać odnośnik w nowym oknie (a najlepiej nowej karcie) bez narażania się na czerwony pasek w validatorze?;)

konto usunięte

Temat: Błąd w <a href... target...>

<a href="adres" onclick="window.open(this.href); return false;">srtututu</a>

ogólnie to odradzam otwierania strony w nowym okienku ;)

konto usunięte

Temat: Błąd w <a href... target...>

Kamil Brenk:
<a href="adres" onclick="window.open(this.href); return 	[/quote]> 	[quote]false;">srtututu</a>

ogólnie to odradzam otwierania strony w nowym okienku ;)

Ogólnie to ja też;)
To jest link do profilu firmy klienta w facebooku, no i nie bardzo chcemy, żeby właziło w tej samej karcie, co strona.
Dlatego niestety chciałbym to zrobić, a czerwonych pasków mieć nie lubię;P
Poza tym błędów nie ma a strona wyświetla się poprawnie w większości przeglądarek (od IE6 w górę no i ff, opera, safari).
I nie bardzo chcę sobie statystykę czystości kodu psuć taką pierdołą;)Krzysztof P. edytował(a) ten post dnia 31.01.10 o godzinie 17:35

konto usunięte

Temat: Błąd w <a href... target...>

Sprobuj ustawic atrybut rel=”external”

konto usunięte

Temat: Błąd w <a href... target...>

Krzysztof P.:
Kamil Brenk:
<a href="adres" onclick="window.open(this.href); 	[/quote][/quote]> > return 	[quote][quote]false;">srtututu</a>

ogólnie to odradzam otwierania strony w nowym okienku ;)

Ogólnie to ja też;)
To jest link do profilu firmy klienta w facebooku, no i nie bardzo chcemy, żeby właziło w tej samej karcie, co strona.
Dlatego niestety chciałbym to zrobić, a czerwonych pasków mieć nie lubię;P
Poza tym błędów nie ma a strona wyświetla się poprawnie w większości przeglądarek (od IE6 w górę no i ff, opera, safari).
I nie bardzo chcę sobie statystykę czystości kodu psuć taką pierdołą;)Krzysztof P. edytował(a) ten post dnia 31.01.10 o godzinie 17:35
Najlepiej wywołać to zdarzenie w osobnym pliku, jeśli już ma być tak całkiem PRO ;)

Btw. to rozwiązanie nie jest zbyt użyteczne (usability). Mniej zaawansowani użytkownicy Internetu mogą czuć się zmieszani, gdy klikając w jakiś link otwiera się im nowa strona (zakładka/okno), w której nie mogą kliknąć "Wstecz".

konto usunięte

Temat: Błąd w <a href... target...>

A ja radzę to tak zrobić :

http://www.nigraphic.com/blog/java-script/how-open-new...

W przypadku gdy jest a, to musi być href...dobrze to rozwiązene jest w powyższym przykładzie

konto usunięte

Temat: Błąd w <a href... target...>

Marcin Olichwirowicz:
Sprobuj ustawic atrybut rel=”external”
W validatorze co prawda passed, ale w tej samej karcie otwiera.

konto usunięte

Temat: Błąd w <a href... target...>

Paweł Natkański:
A ja radzę to tak zrobić :

http://www.nigraphic.com/blog/java-script/how-open-new...

W przypadku gdy jest a, to musi być href...dobrze to rozwiązene jest w powyższym przykładzie
javascriptem to pewnie, że można:)
ale tracimy linkowanie, a ono też jest ważne w tym przypadku.

konto usunięte

Temat: Błąd w <a href... target...>

Kamil Brenk:
Krzysztof P.:
Kamil Brenk:
<a href="adres" onclick="window.open(this.href); 	[/quote][/quote][/quote]> > > 	[quote][quote][quote]return false;">srtututu</a>

ogólnie to odradzam otwierania strony w nowym okienku ;)

Ogólnie to ja też;)
To jest link do profilu firmy klienta w facebooku, no i nie bardzo chcemy, żeby właziło w tej samej karcie, co strona.
Dlatego niestety chciałbym to zrobić, a czerwonych pasków mieć nie lubię;P
Poza tym błędów nie ma a strona wyświetla się poprawnie w większości przeglądarek (od IE6 w górę no i ff, opera, safari).
I nie bardzo chcę sobie statystykę czystości kodu psuć taką pierdołą;)Krzysztof P. edytował(a) ten post dnia 31.01.10 o godzinie 17:35
Najlepiej wywołać to zdarzenie w osobnym pliku, jeśli już ma być tak całkiem PRO ;)

Btw. to rozwiązanie nie jest zbyt użyteczne (usability). Mniej zaawansowani użytkownicy Internetu mogą czuć się zmieszani, gdy klikając w jakiś link otwiera się im nowa strona (zakładka/okno), w której nie mogą kliknąć "Wstecz".
Wiem, wiem.
I być może tym argumentem przekonam klienta, żeby się bujał a FB będzie w tej samej karcie;P
Ale jednak jesli ktoś wie, jak to uzyskać bez javascriptu, to będe wdzięczny.

konto usunięte

Temat: Błąd w <a href... target...>

Chyba jednak ciezko bez javascriptu, bo az z tego wszystkiego przegladnalem dtd stricta i srednio tam widac cokolwiek zastepczego ;)
A google w wiekszosci przypadkow mowi ze uzywa sie tego rel'a, ale: z podpietym pod niego JS :) W sumie 3 linijki w jQuery :).

konto usunięte

Temat: Błąd w <a href... target...>

Marcin Olichwirowicz:
Chyba jednak ciezko bez javascriptu, bo az z tego wszystkiego przegladnalem dtd stricta i srednio tam widac cokolwiek zastepczego ;)
A google w wiekszosci przypadkow mowi ze uzywa sie tego rel'a, ale: z podpietym pod niego JS :) W sumie 3 linijki w jQuery :).
Dokładnie ;) czyli optymalne rozwiązanie wygląda następująco:

$("a[rel='external']").bind('click', function(e) {
window.open(this.href);
e.preventDefault();
});
Kamil Brenk edytował(a) ten post dnia 31.01.10 o godzinie 18:26

Temat: Błąd w <a href... target...>

Jeśli chodzi o parametr TARGET to gdzieś czytałem, że chcą usunąć ten parametr i zapewne standard już go nie obejmuje, dlatego w dokumentach STRICT uznawany jest za błąd.

konto usunięte

Temat: Błąd w <a href... target...>

Kamil Brenk:
Dokładnie ;) czyli optymalne rozwiązanie wygląda następująco:

$("a[rel='external']").bind('click', function(e) {
window.open(this.href);
e.preventDefault();
});
Kamil Brenk edytował(a) ten post dnia 31.01.10 o godzinie 18:26
Nie wiem, czemu, ale to rozwiązanie nie zadziałało - no niestety nie jestem za dobry w js'ach:/

Ale użyłem czegoś bardziej dookoła i hula:)
oczywiście rel="external"
i do tego

function externalLinks() {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i=0; i<anchors.length; i++) {
var anchor = anchors[i];
if (anchor.getAttribute("href") &&
anchor.getAttribute("rel") == "external")
anchor.target = "_blank";
}
}
window.onload = externalLinks;


Dzięki za pomoc:)

konto usunięte

Temat: Błąd w <a href... target...>

Krzysztof P.:
Kamil Brenk:
Dokładnie ;) czyli optymalne rozwiązanie wygląda następująco:

$("a[rel='external']").bind('click', function(e) {
window.open(this.href);
e.preventDefault();
});
Kamil Brenk edytował(a) ten post dnia 31.01.10 o godzinie 18:26
Nie wiem, czemu, ale to rozwiązanie nie zadziałało - no niestety nie jestem za dobry w js'ach:/
Moje rozwiązanie jest przeznaczone dla stron wykorzystujących framework jQuery.
Ale użyłem czegoś bardziej dookoła i hula:)
oczywiście rel="external"
i do tego

function externalLinks() {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i=0; i<anchors.length; i++) { [/quote]> var anchor = anchors[i]; [quote] if (anchor.getAttribute("href") &&
anchor.getAttribute("rel") == "external")
anchor.target = "_blank";
}
}
window.onload = externalLinks;
Tutaj też jest dobrze i optymalnie, tyle tylko bez jQuery ;)

konto usunięte

Temat: Błąd w <a href... target...>

Kamil Brenk:]
Nie wiem, czemu, ale to rozwiązanie nie zadziałało - no niestety nie jestem za dobry w js'ach:/
Moje rozwiązanie jest przeznaczone dla stron wykorzystujących framework jQuery.
Wiem, na stronie śmiga jQuery 1.3.2 - więc tym bardziej własnie nie rozumiem, czemu akurat to tutaj nie chciało.
Ale użyłem czegoś bardziej dookoła i hula:)
Tutaj też jest dobrze i optymalnie, tyle tylko bez jQuery ;)
Mówisz, że optymalnie?
No to super:)Krzysztof P. edytował(a) ten post dnia 31.01.10 o godzinie 20:01

konto usunięte

Temat: Błąd w <a href... target...>


$("a[rel='external']").bind('click', function(e) {
window.open($(this).attr('href'));
e.preventDefault();
});


Tak na moje oko
Maciej W.

Maciej W. Ruby on what?!

Temat: Błąd w <a href... target...>

http://pornel.net/onclick

konto usunięte

Temat: Błąd w <a href... target...>


$("a[rel='external']").bind('click', function(e) {
window.open(this.href);
e.preventDefault();
});

Kamila kod (powyżej) wg mnie ma wadę - mianowicie - przeglądarki (jeśli mają włączone) będą blokować nowo otwarte okno jako 'popupa'.

Sam stosuję inne rozwiązanie - mianowicie, w momencie kliknięcia na link - ustawiany jest mu parametr target="_blank" i dopiero wykonywane jest kliknięcie.

Dla prototype.js wygląda to tak:

document.observe('click', ( function(event) {
if (trg = event.findElement('a[rel^=external]')) {
trg.target = '_blank';
}
}).bind(this));


Dla jQuery, tak (chyba, nie testowałem):


$("a[rel='external']").bind('click', function(e) {
this.target = '_blank';
});
Michał Wachowski edytował(a) ten post dnia 31.01.10 o godzinie 20:41
Tomasz Muter

Tomasz Muter co-founder | Droids
On Roids Sp. z o.o.

Temat: Błąd w <a href... target...>

Co do walidatora to większość profesjonalnych frontendowców jest zdania, ze walidator jest po to żeby wykryć błędy o których nie wiemy, przez to nie dążą za wszelką cenę do uzyskania 0% błędów, a sprawdzają jedynie czy nie dzieje się coś nad czym nie panują.

Zgadzam się z tym, jednak wiem, że większości trudno jest się pogodzić z utratą "okejki" w walidatorze.

konto usunięte

Temat: Błąd w <a href... target...>

Tomasz Muter:
Co do walidatora to większość profesjonalnych frontendowców jest zdania, ze walidator jest po to żeby wykryć błędy o których nie wiemy, przez to nie dążą za wszelką cenę do uzyskania 0% błędów, a sprawdzają jedynie czy nie dzieje się coś nad czym nie panują.

Zgadzam się z tym, jednak wiem, że większości trudno jest się pogodzić z utratą "okejki" w walidatorze.
Ja się z tym zgadzałem jeszcze z rok temu.
Ale teraz prę za wszelką cenę do zielonego światła od validatora.
A to dlatego, że nie chcę kiedyś oberwać chociażby na tej grupie, jak dam coś do oceny i usłyszę 'masz błędy w validatorze';DDDDD



Wyślij zaproszenie do