HTML - Hedefin tarihsel veya teknik nedeni = alt çizgi ile “_ boş”?


14

Bugüne kadar neden target="_blank"olmadığını merak ediyorum target="blank". Tarayıcıların da bunu anlayabileceğinden eminim.

Bu kararın / şartnamenin tarihsel veya teknik nedenleri var mı?


targetHTML 5'te hala izin verilirken, tüm kavramın genellikle eski olduğu kabul edilir. w3.org/community/webed/wiki/HTML_links_-_lets_build_a_web ( 7 Frames and popups — just say nobölümde)
Jens Mühlenhoff

1
Birisi bana bu sorunun neden bu siteye StackOverflow'a taşınmadığını açıklayabilir mi? Benim görüşüme göre, SO için mükemmel bir seçim ve SU için çok zayıf bir seçim.
trejder

Yanıtlar:


21

Kullanmak olsaydı target="blank"bağlantınız olacak yeni bir sekme / pencere açılması. Ancak, ince bir fark var. Bağlantıyı tekrar tıkladığınızda, yeni bir pencere açmak yerine ilk kez açılan pencere yeniden kullanılır.

Bunun nedeni, targetözelliğin yeni bir pencere açmaktan daha fazlası için kullanılabilmesidir. Dört yerleşik değere sahiptir, ancak kendi hedefinizi belirlemenizi sağlar. İlgili W3 Okulları sayfasına bakarsanız aşağıdaki seçenekleri gösterir:

  • _blank Bağlantılı belgeyi yeni bir pencerede veya sekmede açar
  • _self Bağlantılı belgeyi tıklatıldığı karede açar (bu varsayılan değerdir)
  • _parent Bağlı belgeyi üst çerçevede açar
  • _top Bağlı belgeyi pencerenin tüm gövdesinde açar
  • <framename> Bağlantılı belgeyi adlandırılmış bir çerçevede açar

HTML kareleri hakkında biraz bilgi sahibi olmadığınız sürece, bunların çoğu anlamlı değildir. Bir HTML <frameset>etiketi kullanmak , tarayıcı penceresini her biri kendi sayfası olan ayrı bölümlere (çerçevelere) bölmenize olanak tanır. Bir çerçeveye bir ad vererek ve targetbağlantılarınızdaki özelliği kullanarak, hangi çerçevenin ilgili içeriği görüntülemesi gerektiğini kontrol etmek mümkündür.

Ancak, hedef özelliği için tarayıcıların uygulaması gereken bazı ek kurallar vardır:

  • Hedef kullanıcı tarafından belirtilen bir adsa, bir harfle başlamalıdır (alt çizgi, sayı vb. Olmamalıdır)
  • Hedef kullanıcı tarafından belirtilen bir adsa ancak bu adla eşleşen bir çerçeve / pencere yoksa, bu adı kullanarak yeni bir sekme / pencere oluşturun. Bu yüzden olduğu gibi target="blank"çalışır.

Temel olarak mevcut sözleşmeyi değiştirmek için hiçbir neden yoktur, çünkü _blanközel bir durumdur. Orijinal çerçeve türleri artık kullanılmayabilir, ancak hedef özniteliğin birlikte çalıştığı nesneleri adlandırabileceğiniz başka durumlar da vardır, örneğin, doğrudan sayfaya gömülü tek çerçeveli iframe'ler. Standardı değiştirmek, mevcut pek çok sayfayı herhangi bir yarar sağlamadan bozacaktır.


7
W3Schools'a başvurmamalısınız: w3fools.com
Jens Mühlenhoff

2
W3Schools'un web tasarım yönergeleri için en iyisi olmadığını veya hedef özelliğe sahip bağlantıları kullanmanın eski olduğunu kabul etmiyorum. Ancak, bilgiyi orijinal soruya özel olarak cevap vermek için kullanıyordum.
James P

1
Sorunlu olduğu bilinen kaynaklarla bağlantı kurmanın iyi bir fikir olmadığını düşünüyorum. Cevap iyi.
Jens Mühlenhoff

1
Ek target="_blank"özelliğe ihtiyaç duyulmamasını diledim, ancak bunun yerine URL'ye bir işaret ekleyebiliriz, örneğin bir yıldız işareti <a href="*https://www.stackoverflow.com">Stackoverflow</a>. Bu çok yazarak kurtaracak :)
Kai Noack
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.