Pertanyaan Bagaimana cara kerja "Request Desktop Site" Chrome?


Untuk iOS google chrome, saat pengguna menekan tombol "Minta situs desktop", apa yang dilakukan browser untuk mencoba membuka situs desktop? Saya membayangkan semacam header pada permintaan yang dicari situs, atau yang serupa?


76
2017-07-28 15:47


asal


Jawaban:


Saya pikir satu-satunya perbedaan adalah User-Agent: tajuk dalam permintaan.

Berikut adalah header Agen-Pengguna yang dikirim oleh Chrome di perangkat Android saya:

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

Perhatikan kata "Mobile 'di yang pertama, dan juga penyebutan sistem dan perangkat Android. Memeriksa ini, saya melihat bahwa itu juga memberikan informasi palsu - yaitu X11 dan x86_64 - untuk mendekati nilai yang dikirim oleh versi Desktop Linux dari Chrome.


53
2017-07-28 16:19



Satu perbedaan kecil lainnya adalah bahwa permintaan itu tampaknya telah masuk ke URL yang dimasukkan secara sengaja yang terakhir sebelum direset oleh penggantinya. Sebagai contoh:

Diberikan: somesite.com mengendus agen, melihat Android, dan melakukan document.location + = "/ m";

Kemudian: browser akan memiliki URL somesite.com/m

Tapi: jika Anda "Minta situs desktop", itu akan mengubah Agen Pengguna dan meminta kembali dari somesite.com

Kecuali kalau: Anda telah langsung masuk ke URL seluler somesite.com/m di tempat pertama, dalam hal ini hanya memuat ulang somesite.com/m.

Saya berharap ini bekerja dengan HTTP 301 dan 302 redirect, saya tahu ini bekerja dengan perubahan document.location (setidaknya seperti yang dijelaskan), dan akan berspekulasi bahwa ia bekerja dengan <meta> refresh.


12
2018-01-31 23:59



Hanya ingin menunjukkan bahwa Chrome sekarang tidak hanya mengubah User-Agent tetapi juga mengabaikan tag meta viewport asli jika Anda "Minta Situs Desktop". Jadi tidak perlu mengendus User-Agent lagi dan Anda dapat mengandalkan perubahan viewport karena sebagian besar situs responsif secara otomatis akan melakukannya. Lihat perubahan ini untuk referensi lebih lanjut.


10
2017-08-15 10:14



Cuplikan javascript ini akan secara efektif melakukan hal yang sama:

function requestDesktopSite() {
    document.getElementsByTagName('meta')['viewport'].content='min-width: 980px;';
}
<button onclick="requestDesktopSite()">Request Desktop Site</button>


-3
2017-09-06 15:38