簡體   English   中英

如何根據屏幕分辨率加載或不加載JS腳本(進入head部分)?

[英]How to load or not a JS script (into the head section) based on screen resolution?

在網站上,我在標簽上有這些行

  <script type="text/javascript" src="http://www.domain.com/js/jquery.min.js"></script>
  <script type="text/javascript" src="http://www.domain.com/js/jquery.colorbox.min.js"></script>
  <script type="text/javascript" src="http://www.domain.com/js/inner-code-colorbox.min.js"></script>

哪些是加載JS代碼,不應該在便攜式系統上加載

有辦法嗎?

我試過這樣的方式:

  <script type="text/javascript" media="only screen and (min-width: 950px)" src="http://www.domain.com/js/jquery.min.js"></script>

但它不起作用

先感謝您

使用此腳本標記替換腳本標記,這將僅創建窗口寬度大於特定量的其他三個腳本標記。

這個答案不依賴於jQuery,因此您可以使用它來確定是否要加載jQuery。

<script>
    if (window.innerWidth > 500) {
        var head = document.getElementsByTagName('head')[0];

        var s1 = document.createElement("script");
        s1.type = "text/javascript";
        s1.src = "http://www.domain.com/js/jquery.min.js";
        head.appendChild(s1);

        var s2 = document.createElement("script");
        s2.type = "text/javascript";
        s2.src = "http://www.domain.com/js/jquery.colorbox.min.js";
        head.appendChild(s2);

        var s3 = document.createElement("script");
        s3.type = "text/javascript";
        s3.src = "http://www.domain.com/js/inner-code-colorbox.min.js";
        head.appendChild(s3);
    }
</script>

在你的腳本中

 var width = (window.innerWidth > 0) ? window.innerWidth : screen.width;
 var head = document.getElementsByTagName('head').item(0);
 if(width > 950){
       var script = document.createElement("script");
       script.type = "text/javascript";
       script.src = "http://www.domain.com/js/jquery.min.js";
       head.appendChild(script);
    }

嘗試這樣的事情:

<!DOCTYPE html>
<html>
   <head>
      <script id="waiting"></script>
   </head>
   <body>
      <script>
         (function(){
          if(screen.width > 800) 
             //checks if the screens width is greater than 800
             document.querySelector("#waiting").setAttribute("src", "URL HERE");
         }());
      </script>
   </body>
</html>

檢查Javascript你的屏幕寬度,然后像這樣追加你的腳本。

if(window.innerWidth > 950){
    var s = document.createElement("script");
    s.type = "text/javascript";
    s.src = "http://www.domain.com/js/jquery.min.js";
    $("head").append(s);
}

我希望它有所幫助。

<script>標記不支持media屬性。 您可以使用JS檢查屏幕分辨率,然后根據需要動態注入腳本標記。 與可以根據當前分辨率添加或刪除規則集的CSS不同,請注意腳本是否運行,因此如果您需要根據當前屏幕尺寸更改某些代碼,請在代碼本身中添加檢查。

 <script> if (window.innerWidth >= 950) { var script = document.createElement('script'); script.src = 'http://www.domain.com/js/jquery.min.js'; document.getElementsByTagName('script')[0].insertBefore(script); } </script> 

您可以閱讀有關異步(動態)加載腳本的信息。 在加載之前,您可以檢查解析並加載所需的腳本。

您可以過濾服務器端的腳本列表(檢查移動設備的標頭),並在標頭中僅包含所需的腳本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM