Khi bạn truy cập blogspot trên trình duyệt thường xuất hiện m=1 đằng sau liên kết của blogspot
Sử dụng JavaScript kiểm tra trình duyệt của thiết bị đang xem nếu không phải mobile tự động xóa m=1 đằng sau URL hiện tại cùng các URL khác trong blogspot
Mặc định, Blogger sẽ tự động chuyển hướng URL sang m=1 trên mobile, tuy nhiên không có chuyển hướng ngược lại từ mobile sang máy tính. Điều này gây khó khăn khi bạn tiếp tục truy cập một URL khác.
Lấy ví dụ, bạn truy cập một URL bài viết nào đó trong blog được chia sẻ trên Facebook, URL này có m=1, nếu bạn truy cập bằng điện thoại thì không vấn đề gì vì URL đã có m=1 nên không chuyển hướng nữa.
Nhưng bạn truy cập URL được chia sẻ này trên máy tính thì URL cùng các URL khác trong blog không chuyển hướng ngược lại tức xóa m=1. Giả sử bạn muốn truy cập một trang khác URL phải được xóa m=1 trước khi bạn truy cập.
Đoạn JavaScript dưới đây tự động phát hiện chế độ xem trên thiết nếu không phải mobile sẽ xóa m=1 của URL hiện tại và các URL khác trong blog.
<script>//<![CDATA[
window.addEventListener('load',function(){
if(navigator.userAgent.match(/(iPhone|iPod|iPad|Android|BlackBerry|Windows Phone|webOS)/i)===null){
var url=window.location.href,
uri=window.location.toString(),
m1=url.substring(0,url.indexOf('?m=1')),
m2=url.substring(0,url.indexOf('&m=1')),
_a=document.querySelectorAll('a')
if((uri.length-m1.length)>0) window.history.replaceState({},document.title,m1)
if((uri.length-m2.length)>0) window.history.replaceState({},document.title,m2)
for(var i=0;i<_a.length;i++){
var _b=_a[i].getAttribute('href')
if(_b.indexOf('?m=1')!=-1) _a[i].setAttribute('href',_b.substr(0,_b.indexOf('?m=1')))
if(_b.indexOf('&m=1')!=-1) _a[i].setAttribute('href',_b.substr(0,_b.indexOf('&m=1')))
}
}
})
//]]></script>
0 Nhận xét