İOS google chrome için, bir kullanıcı "Masaüstü sitesi iste" düğmesine tıkladığında, tarayıcı bir masaüstü sitesini açmaya çalışmak için ne yapar? Sitelerin aradığı istek üzerine bir tür başlık veya benzer bir şey hayal ediyorum?
Yanıtlar:
Sanırım tek fark, User-Agent:
istekteki başlık.
Android cihazımda Chrome tarafından gönderilen User-Agent başlıkları şunlardır:
Mozilla/5.0 (Linux; Android 4.0.4; Galaxy Nexus Build/IMM76K) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.45 Safari/535.19
İlkinde "Mobil" kelimesine ve ayrıca Android sistemi ve cihazdan bahsedildiğine dikkat edin. Bunları kontrol ettiğimde, bunun aynı zamanda, masaüstü Linux sürümü tarafından gönderilen değerle yakından eşleşen X11 ve x86_64 gibi yanlış bilgiler sağladığını görüyorum. Krom.
Yalnızca şunu belirtmek isterim ki, Chrome artık yalnızca değiştirmiyor, User-Agent
aynı zamanda "Masaüstü Sitesi İsterseniz" orijinal görüntü alanı meta etiketini de yok sayıyor. Böylece, User-Agent
artık koklamak gerekmeyecek ve çoğu duyarlı sitenin otomatik olarak yapacağı gibi, görüntü alanı değişikliğine güvenebilirsiniz. Daha fazla referans için bu Değişikliğe bakın .
Bir diğer küçük fark, isteğin, herhangi bir yeniden yönetmen taşınmadan önce kasıtlı olarak girilen son URL'ye yapılmış gibi görünmesidir. Örneğin:
Verilen: somesite.com aracıyı koklar, Android'i görür ve bir document.location + = "/ m" yapar;
Ardından: tarayıcının bir URL'si somesite.com/m olacaktır
Ancak: "Masaüstü sitesi talep ederseniz" Kullanıcı-Aracıyı değiştirecek ve somesite.com'dan yeniden talep edecektir.
Tabi ki: ilk etapta doğrudan somesite.com/m'nin mobil URL'sine girmiş olmanız durumunda, bu durumda sadece somesite.com/m'yi yeniden yükler.
Bunun HTTP 301 ve 302 yönlendirmeleriyle çalışmasını beklerdim, bunun document.location değişiklikleriyle çalıştığını biliyorum (en azından açıklandığı gibi) ve <meta> yenilemeleriyle çalıştığını tahmin ediyorum.
Bu javascript pasajı aynı şeyi etkili bir şekilde yapacaktır:
function requestDesktopSite() {
document.getElementsByTagName('meta')['viewport'].content='min-width: 980px;';
}
<button onclick="requestDesktopSite()">Request Desktop Site</button>