如何使用媒体查询从HTML加载javascript文件

如何使用媒体查询从HTML加载javascript文件,javascript,media-queries,Javascript,Media Queries,是否有可能(如果有,如何)让媒体查询根据浏览器大小从HTML加载不同的javascript文件 类似的东西 <script media="screen and (max-width: 900px)" src="/js/menu_home.js" type="text/javascript"></script> 或者像我在互联网上发现的那样,它没有加载任何一个文件 <script> function require(path) { try{

是否有可能(如果有,如何)让媒体查询根据浏览器大小从HTML加载不同的javascript文件

类似的东西

<script media="screen and (max-width: 900px)" src="/js/menu_home.js"  type="text/javascript"></script>

或者像我在互联网上发现的那样,它没有加载任何一个文件

<script>
function require(path) {
  try{
    document.write('<script type="text/javascript" src="'+path+'"><\/script>');
  } catch(e) {
    var script = document.createElement('script');
    script.src = path;
    document.getElementsByTagName('head')[0].appendChild(script);
  }
}
if (isMedia("screen and (max-width:900px)"){
  require('/js/menu_home.js');
}
else {
  require('/js/menu_photo.js');
}
</script>

功能要求(路径){
试一试{
文件。写(“”);
}捕获(e){
var script=document.createElement('script');
script.src=路径;
document.getElementsByTagName('head')[0].appendChild(脚本);
}
}
如果(iMedia(“屏幕和(最大宽度:900px)”){
require('/js/menu_home.js');
}
否则{
需要('/js/menu_photo.js');
}
在我的网站上,我已经设置加载不同的脚本文件,以允许在正确的类别上扩展手风琴菜单。我希望始终从移动版本中删除expandfirst类。如果你们建议我使用其他过程,请让我知道


提前感谢!

使用matchmedia只有在满足特定mediaquery条件时才能执行JavaScript块

<script>
    if (window.matchMedia('screen and (min-width: 600px)')){
      var head = document.getElementsByTagName("head")[0];
      s = document.createElement('script');
      s.setAttribute('type','text/javascript');
      s.setAttribute('src',jsname);
      head.insertBefore(s, head.firstChild);


    }
</script>

if(窗口匹配媒体(“屏幕和(最小宽度:600px)){
var head=document.getElementsByTagName(“head”)[0];
s=document.createElement('script');
s、 setAttribute('type','text/javascript');
s、 setAttribute('src',jsname);
头。插入前(s,头。第一个孩子);
}
参考:

注:
对于较旧/不受支持的web浏览器,您可以尝试matchMedia()polyfill,尽管它不支持addListener。

感谢您的提示响应。它似乎应该可以工作。但是标记正在自动关闭。我尝试过这样做,但仍然无法工作。`if(window.matchMedia('screen and(min width:900px))){document.write(“”);}其他{document.write(“”);}'对不起,我是javascript新手,还不太了解它。对不起,注释中的语法。我不知道如何将该部分更改为“代码视图”。它应该是
code
对吧?奇怪的是,它对其他注释不起作用。使用javascript将脚本附加到头部,我错误地键入document.write