Artikel ini menganalisis beberapa hubungan antara hash dan ico dalam js melalui contoh. Kongsikan dengan semua orang untuk rujukan anda. Butirannya adalah seperti berikut:
Ujian baru-baru ini mendedahkan pepijat, mengatakan bahawa icos pada beberapa halaman tidak dipaparkan, jadi kami menyiasat punca masalah ini.
Pertama, pastikan pautan dalam halaman telah memperkenalkan favicon.ico. Selepas menyemak, didapati lokasi.hash dalam js menyebabkan ikon tidak dipaparkan. Sebabnya location.hash ditetapkan apabila ico tidak dimuatkan, menyebabkan ico tidak dipaparkan.
location.hash sering digunakan dalam projek untuk kedudukan url, seperti "#job-manage" dalam http://h.liepin.com/#job-manage.
Penyelesaian adalah seperti berikut (ambil projek semasa sebagai contoh dan analisis situasi khusus secara terperinci):
Mata projek:
1. Kandungan halaman dihantar dengan mengklik menu untuk menghantar permintaan ajax;
2. Kandungan yang dipaparkan apabila memasuki halaman ialah acara klik lalai bagi menu tertentu;3. Menetapkan lokasi.cincang adalah melalui acara klik pada menu tertentu.
Terdapat masalah apabila memasuki halaman, acara klik menu dilaksanakan, jadi location.hash ditetapkan.
Anda boleh melakukan ini dengan menetapkan pembolehubah untuk memastikan lokasi.cincang tidak ditetapkan apabila anda mula-mula memasuki halaman.
$(function(){ $('.menu a').click(function(event,hashBoolean){ var that = $(this); $.ajax({ url:'', type:'GET', data:{}, cache:false, dataType:'json', success:function(data){ if(data.flag == 1){ if(!hashBoolean) location.hash = ['id',that.attr('data-id')].join('='); } } }); }); $('.menu a').eq(0).trigger('click',[true]); });