< Browse > Home / Blog article: Membuat Icon External Link secara Otomatis dengan jQuery

| Mobile | RSS

Membuat Icon External Link secara Otomatis dengan jQuery

February 11th, 2009 | 14 Comments | Posted in download, programming, web development

Beberapa waktu lalu saya membuat artikel mengenai membuat animasi sederhana pada menu dengan jQuery. Salah satu pengunjung bertanya mengenai bagaimana mendeteksi external link (link yang mengarah ke luar situs kita) dan secara otomatis menambahkan icon tertentu, atau mengganti dengan style tertentu.

 Yang dimaksud oleh pengunjung tersebut tentunya seperti yang ditunjukkan di situs-situs seperti Wikipedia, dimana jika terdapat link yang mengarah ke selain situs wikipedia, maka di sebelah kanan dari link tersebut akan ditampilkan icon . Hal tersebut sangat berguna bagi pengunjung, yaitu sebagai informasi bahwa link berasal dari luar situs utama.

Lalu bagaimana caranya?

Tentunya akan sangat repot jika kita buat secara manual, yaitu setiap kita akan menampilkan external link maka kita sertakan image juga dengan tag <img>. Nah, kali ini kita akan membuatnya secara otomatis dengan bantuan JQuery. Teknik dasarnya adalah dengan cara memfilter link dengan tujuan yang tidak sama dengan alamat dari situs kita. Jika ditemukan, maka tambahkan icon   di belakangnya. Kita akan menggunakan fungsi after() dari jQuery untuk menambahkan (insert) perintah HTML di belakang link.

[source language="javascript"]

$(document).ready(function() {
$(‘a’).filter(function() {
return this.hostname &amp;amp;&amp;amp; this.hostname !== location.hostname;
}).after(‘ external link‘);
});
[/source]

Penjelasan:

Perintah jQuery di atas secara umum akan melakukan filter ke semua link yang berada di halaman. Kemudian hostname (value dari atribut href) dalam link tersebut akan dibandingkan dengan hostname dari halaman. Jika tidak sama, maka itu berarti link tersebut merupakan external link (menuju ke halaman yang berbeda dengan halaman), dan selanjutnya dengan fungsi after() ditambahkan perintah HTML untuk menampilkan image (icon) 

Dan dengan sedikit modifikasi kita juga dapat membuat link tersebut terbuka di window baru jika link tersebut merupakan external link. Kita tinggal menambahkan atribut target dengan value “_blank“. Berikut ini contoh sourcenya:

[source language="javascript"]

$(document).ready(function() {
$(‘a’).filter(function() {
return this.hostname &amp;amp;&amp;amp; this.hostname !== location.hostname;
}).after(‘ external link‘)
.attr(‘target’, ‘_blank’);
});
[/source]

Semoga bermanfaat

Demo dan Download

Referensi dan Posting Terkait

Popularity: 39% [?]

Share and Enjoy:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • PDF
  • RSS
  • StumbleUpon
  • Twitter
  • Yahoo! Bookmarks
  • Technorati
Leave a Reply 525 views, 23 so far today |
Tags: , ,

Related Post

Follow Discussion

14 Responses to “Membuat Icon External Link secara Otomatis dengan jQuery”

  1. yaddi Says:

    Pertamax…
    he…he…he.. terima kasih atas artikel ini, ternyata ini jawaban dari komentar saya. terima kasih

    yaddi’s last blog post..Mengenal Layout

  2. yaddi Says:

    Setelah saya baca dengan seksama, ternyata script ini menambahkan sebuah icon setelah link.
    menurut saya, alangkah baiknya jika link tersebut diberi background berupa icon atau diberi style berbeda. dengan demikian icon dan linknya merupakan satu bagian.
    tapi tidak apa-apa, artikelini sangat bermanfaat, terima kasih banyak. mungkin sebaiknya saya mendownload buku jQuery mas achmad, dan mempelajarinya lebih lanjut.

    yaddi’s last blog post..Mengenal Layout

  3. achmatim Says:

    #yaddi
    yap. saya sengaja menyederhanakan teknik dengan tidak membuat style. dari artikel tersebut, dapat dikembangkan dengan mengganti perintah .after() dengan perintah .addClass(nama-class-css). terima kasih atas komentarnya

  4. _subhan_ Says:

    wow, JQuery lage….

    :( (

    belajar PHP dulu ah, br JQuery. Otak lum kuad…
    :D

  5. cipzto Says:

    perlu dipraktekkan nih :)

    cipzto’s last blog post..Build your online shop

  6. dani Says:

    sptnya dgn css plus rel=”external” jg bisa ya..cmiiw

  7. KU 2006 Says:

    Pak…
    maaf nih pak keluar dari topik
    cuma mau nanya
    kami mau upload tugas PASI ke elearning.achmatim.net kok ga bisa ya???

    tolong dibantu cara uploadnya
    terima kasih

  8. ridhoyp Says:

    whoah.. lom kesampaian buat belajar ini.. hix hix hix.. T_T .. next time.. hihihi , keren pak! :-bd

    ridhoyp’s last blog post..Kampanye Earth Hour 2009

  9. rahul Says:

    oke lah achmatim atau nasi tim nich???

    rahul’s last blog post..10 Keajaiban Geologis di dunia

  10. thegands Says:

    sebenarnya ini juga bisa di lakukan dengan css aja koq bang.. hehehe…

  11. fendy Says:

    Mantap pak.. lanjutkannn.. patut dicobi nih

  12. Barry Says:

    Makasih infonya. Menarik ni..

  13. azmi Says:

    mantapp pakk.. klo masih sempet dipake buat sidang kkp.. nanti saya pake.. hehe..
    ntar klo bapak yg nyidang nilai plus ya pak!! :-)

  14. Invictat Says:

    mantapp pakk.. klo masih sempet dipake buat sidang kkp.. nanti saya pake.. hehe..
    ntar klo bapak yg nyidang nilai plus ya pak!! :-) ;. All the best!!

Leave a Reply

CommentLuv Enabled
  • banner

    Internet Sehat

  • Blog Friends