The SRC
dan HREF
atribut yang digunakan untuk memasukkan beberapa entitas eksternal seperti gambar, file CSS, file HTML, setiap halaman web lain atau file JavaScript.
Apakah ada perbedaan yang jelas antara SRC
dan HREF
? Di mana atau kapan harus menggunakan SRC
atau HREF
? Saya pikir mereka tidak dapat digunakan secara bergantian.
Saya memberikan beberapa contoh di bawah ini di mana atribut ini digunakan:
- Untuk merujuk file CSS:
href="cssfile.css"
di dalam tag tautan. - Untuk merujuk file JS:
src="myscript.js"
di dalam tag skrip. - Untuk merujuk file gambar:
src="mypic.jpg"
di dalam tag gambar. - Untuk merujuk halaman web lain:
href="http://www.webpage.com"
di dalam tag jangkar.
Jawaban:
CATATAN: Jawaban @ John-Yin lebih tepat mengingat perubahan dalam spesifikasi.
Iya. Ada perbedaan antara src dan href dan mereka tidak dapat digunakan secara bergantian. Kami menggunakan src untuk elemen yang diganti sementara href untuk membangun hubungan antara dokumen referensi dan sumber daya eksternal.
Atribut href (Referensi Hiperteks) menentukan lokasi sumber daya Web sehingga mendefinisikan tautan atau hubungan antara elemen saat ini (dalam kasus jangkar
a
) atau dokumen saat ini (dalam kasuslink
) dan jangkar tujuan atau sumber daya yang ditentukan oleh atribut ini. Ketika kita menulis:Browser memahami bahwa sumber daya ini adalah stylesheet dan
pengolahanpenguraian halaman tidak dijeda (rendering mungkin dijeda karena browser membutuhkan aturan gaya untuk melukis dan merender halaman). Ini tidak sama dengan membuang konten file css di dalamstyle
tag. (Karena itu disarankan untuk menggunakanlink
daripada@import
melampirkan stylesheet ke dokumen html Anda.)Atribut src (Source) hanya menyematkan sumber daya dalam dokumen saat ini di lokasi definisi elemen. Untuk misalnya. Saat browser ditemukan
Pemuatan dan pemrosesan halaman dihentikan sementara sampai browser mengambil, mengkompilasi dan mengeksekusi file. Ini mirip dengan membuang konten file js di dalam
script
tag. Serupa halnya denganimg
tag. Ini adalah tag kosong dan konten, yang harus masuk ke dalamnya, ditentukan olehsrc
atribut. Peramban menjeda pemuatan hingga mengambil dan memuat gambar. [Begitu juga halnya denganiframe
]Ini adalah alasan mengapa disarankan untuk memuat semua file JavaScript di bagian bawah (sebelum
</body>
tag)pembaruan : Rujuk jawaban John-Yin untuk info lebih lanjut tentang bagaimana penerapannya sesuai spesifikasi HTML 5.
sumber
src
umumnya memuat file secara serial sambilhref
memuatnya secara paralel. Jadi, waktu muat yang dirasakan meningkat ketika sumber daya dimuat secara serial.Jawaban apnerve benar sebelum HTML 5 keluar, sekarang sedikit lebih rumit.
Misalnya,
script
elemen, menurut spesifikasi HTML 5 , memiliki dua atribut global yang mengubah carasrc
fungsi atribut:async
dandefer
. Ini mengubah cara skrip (embedded inline atau diimpor dari file eksternal) harus dijalankan.Ini berarti ada tiga mode yang mungkin dapat dipilih menggunakan atribut ini:
async
atribut hadir, maka skrip akan dijalankan secara tidak sinkron, segera setelah itu tersedia.async
atribut tidak ada tetapidefer
atribut ada, maka skrip dieksekusi ketika halaman telah selesai diuraikan.Untuk detailnya, lihat rekomendasi HTML 5
Saya hanya ingin memperbarui dengan jawaban baru untuk siapa pun yang sesekali mengunjungi topik ini. Beberapa jawaban harus diperiksa dan diarsipkan oleh stackoverflow dan setiap orang dari kita.
sumber
Saya pikir
<src>
menambahkan beberapa sumber daya ke halaman dan<href>
hanya untuk menyediakan tautan ke sumber daya (tanpa menambahkan sumber daya itu sendiri ke halaman).sumber
Definisi Sederhana
sumber
SRC ( S ou rc e) - Saya ingin memuat sumber daya ini untuk diri saya sendiri.
Sebagai contoh:
HREF ( H ypertext REF erence ) - Saya ingin merujuk sumber ini untuk orang lain.
Sebagai contoh:
Kesopanan
sumber
H REF : Adalah REF erence ke informasi untuk halaman saat ini yaitu info css untuk gaya halaman atau tautan ke halaman lain. Parsing Halaman tidak berhenti.
SRC : Apakah SUMBER yang akan ditambahkan / dimuat ke halaman seperti dalam gambar atau javascript. Parsing Halaman mungkin berhenti tergantung pada atribut kode. Itulah mengapa lebih baik menambahkan skrip tepat sebelum tag body akhir agar rendering halaman tidak tertunda.
sumber
Jika Anda berbicara HTML4, daftar atributnya mungkin membantu Anda dengan seluk-beluknya. Mereka tidak bisa dipertukarkan.
sumber
Dari W3:
Sumber: http://www.w3.org/TR/html401/struct/links.html
Sumber: http://www.w3.org/TR/REC-html40/struct/objects.html
sumber
Definisi sederhana
sumber
Anda harus ingat ketika menggunakan semua orang dan yang itu
yang href digunakan dengan link
yang src digunakan dengan script dan gambar
yang url digunakan umumnya dalam CSS untuk memasukkan sesuatu, untuk contoh untuk menambahkan gambar latar belakang
sumber
setelah melalui dokumentasi HTML 5.1 (1 November 2016):
bagian 4 (Unsur-unsur HTML)
tidak mengandung
src
atribut ...penyihir itu logis karena itu adalah tautan.
bahkan tidak menyebutkan
href
atribut ...ini menunjukkan bahwa saat menggunakan tag skrip selalu menggunakan
src
atribut !!!juga tidak menyebutkan
href
atribut ...ini menunjukkan bahwa ketika menggunakan
img
tag,src
atribut harus digunakan juga ...Tautan referensi ke Rekomendasi W3C
sumber
Mereka tidak dapat dipertukarkan - masing-masing didefinisikan pada elemen yang berbeda, seperti dapat dilihat di sini .
Mereka memang memiliki makna yang serupa, jadi ini adalah inkonsistensi. Saya akan berasumsi sebagian besar karena tag yang berbeda diterapkan oleh vendor yang berbeda untuk memulai, kemudian dimasukkan ke dalam spesifikasi untuk menghindari melanggar kompatibilitas ke belakang.
sumber
src
tag menambah sumber daya ke halaman sementarahref
hanya menyediakan link ke sumber daya dan menetapkan hubungan dengan dokumen.Mereka tidak memiliki arti yang serupa. 'src' menunjukkan sumber daya yang harus diambil oleh browser sebagai bagian dari halaman saat ini. HREF mengindikasikan suatu sumber daya yang harus diambil jika pengguna memintanya.
sumber
<link href="foo.css" rel="stylesheet" type="text/css">
href
menunjukkan sumber daya yang akan diambil jika agen-pengguna memintanya. Lembar style tidak diambil sebagai bagian dari dokumen saat ini.Saya setuju apa yang dikatakan apnerve tentang perbedaan itu. Tetapi dalam kasus css itu terlihat aneh. Sebagai css juga akan diunduh ke klien oleh browser. Ini tidak seperti tag jangkar yang menunjuk ke sumber daya tertentu. Jadi menggunakan href sepertinya aneh bagi saya. Bahkan jika itu tidak dimuat dengan halaman masih tanpa halaman itu tidak dapat terlihat lengkap dan tidak hanya hubungan tetapi seperti sumber daya yang pada gilirannya merujuk ke banyak sumber daya lain seperti gambar.
sumber
CSS
adalah bagian dariHTML
dokumen, maka Anda dapat menggunakan lanjutkan dan gunakanstyle
tag dengan@import
aturan. Mungkin ada konsekuensi pada kinerja tetapi masuk akal dalam skenario ini.src digunakan untuk menambahkan sumber daya itu ke halaman, sedangkan href digunakan untuk menautkan ke sumber daya tertentu dari halaman itu.
Ketika Anda gunakan di halaman web Anda, browser melihat bahwa itu adalah style sheet dan karenanya melanjutkan dengan rendering halaman ketika style sheet diunduh dalam parellel.
Saat Anda gunakan di halaman web Anda, ia memberi tahu browser untuk memasukkan sumber daya di lokasi. Jadi sekarang browser harus mengambil file js dan kemudian memuatnya. Sampai browser menyelesaikan proses pemuatan, proses rendering halaman terhenti. Itulah alasan mengapa YUI merekomendasikan untuk memuat file JS Anda di bagian paling bawah halaman web Anda.
sumber