Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在js条件下加载脚本的最佳方式是什么_Javascript - Fatal编程技术网

Javascript 在js条件下加载脚本的最佳方式是什么

Javascript 在js条件下加载脚本的最佳方式是什么,javascript,Javascript,我有代码,正在寻找在代码中加载脚本的最佳实践 这就是我之前手动添加的方式- 如果条件为true,我需要在下面的脚本中加载 我发现document.write()不是最佳做法,有什么建议吗 <script type="text/javascript"> var isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent); var element = document.getElementById('t

我有代码,正在寻找在代码中加载脚本的最佳实践

这就是我之前手动添加的方式-

如果条件为true,我需要在下面的脚本中加载

我发现
document.write()
不是最佳做法,有什么建议吗

<script type="text/javascript">
    var isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);
    var element = document.getElementById('text');
    if (isMobile) {

    } else {
        console.log('error');    
    }
</script>

var isMobile=/iPhone | iPad | iPod | Android/i.test(navigator.userAgent);
var元素=document.getElementById('text');
if(isMobile){
}否则{
console.log('error');
}

因为这是一个异步操作,所以您应该这样做:

function loadScript(src) {
  return new Promise(function(resolve, reject) {
    let script = document.createElement('script');
    script.src = src;
    script.onload = () => resolve(script);
    script.onerror = () => reject(new Error(`Script load error for ${src}`));
    document.head.append(script);
  });
}

您不应该使用用户代理来区分浏览器或检测站点是否加载在移动设备上,这可能会导致对屏幕分辨率和输入设备的错误假设。你应该改用特征检测。这个答案很好。但你应该避免回答一个与已经投票率很高的问题重复的问题。相反,您应该将问题标记为重复问题,或者编写一条链接到该重复问题的注释。如果副本缺少你在答案中所写的技巧,你应该将你的答案添加到副本中。对不起,我找不到副本question@t.niese我在我的手机上,我不知道如何从stack exchange应用程序中执行此操作,所以我只回答了这个问题