可以設置一個標誌根據窗口大小進行檢索,一切維度之外,您將需要的信息是在上面的代碼片段。
var w = window,
d = document,
e = d.documentElement,
g = d.getElementsByTagName('body')[0],
x = w.innerWidth || e.clientWidth || g.clientWidth,
y = w.innerHeight|| e.clientHeight|| g.clientHeight;
請記住,您可能需要將腳本加載到resize事件處理程序上。 我強烈建議使用debouncing管道功能來更有效地處理調整大小。
之後,您可以使用一些實用的功能加載腳本:
function loadScript(url, callback) {
// Adding the script tag to the head as suggested before
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = url;
// Then bind the event to the callback function.
// There are several events for cross browser compatibility.
script.onreadystatechange = callback;
script.onload = callback;
// Fire the loading
head.appendChild(script);
}
if (x > 1000) {
//desktop
loadScript("desktop.js", myPrettyCode);
} else {
//mobile tablet
loadScript("mobile.js", myPrettyCode);
}
請記住,像Modernizr的工具庫,有一些有用的功能檢測的助手,可以幫助你。大衛沃爾什也有provided a quite smart way來檢測屏幕尺寸。 此外,卸載腳本是相當苛刻的here is相關的StackOverflow問題
您也可以看看這個question,因爲它可能會有所幫助,以及在require.js考慮看看,這是一個有效的JavaScript文件和模塊加載器。
爲什麼不改用圖片的媒體查詢呢? – MinusFour
這是非常沒有生產力的。試着做媒體查詢(99%的問題可以通過這個來解決),或者如果你真的想這樣做,可以嘗試在JavaScript中使用'height'和'width'屬性來運行你的代碼片段/函數。將此用作參考http:// www。w3schools.com/jsref/prop_win_innerheight.asp – codeninja
請勿根據屏幕大小有選擇地加載JavaScript。調整瀏覽器大小時,會導致網絡抖動,並且將JS的幾個字節移除到單獨文件中的節省是不值得的。 – Mathletics