如何在页面加载之前动态包含javascript文件

如何在页面加载之前动态包含javascript文件,javascript,jquery,html,Javascript,Jquery,Html,我想根据“if”语句的结果在index.html页面中包含一个本地.js文件,如下面的示例代码所述。我需要在页面的初始加载中包含.js内容,因为加载时内容将显示在html中 index.html: <html> <head> <script src="script.js"></script> </head> <body> <script> include_anothe

我想根据“if”语句的结果在index.html页面中包含一个本地.js文件,如下面的示例代码所述。我需要在页面的初始加载中包含.js内容,因为加载时内容将显示在html中

index.html:

<html>
  <head>
     <script src="script.js"></script>
  </head>
<body>
     <script>
         include_another_script();
     </script>
</body>
</html>
include_another_script function(){
    var url;
    if( //some stuff){
        url = "script1.js";
    } else {
        url = "script2.js";
    }

    document.write("<script src=url></script>");
}

包括另一个脚本();
script.js:

<html>
  <head>
     <script src="script.js"></script>
  </head>
<body>
     <script>
         include_another_script();
     </script>
</body>
</html>
include_another_script function(){
    var url;
    if( //some stuff){
        url = "script1.js";
    } else {
        url = "script2.js";
    }

    document.write("<script src=url></script>");
}
包含另一个脚本函数(){
var-url;
if(//一些东西){
url=“script1.js”;
}否则{
url=“script2.js”;
}
文件。填写(“”);
}
试试这个

<head>
<script type="text/javascript">

var url;
if( blah == blah){
url = 'myUrl.js';
}else{
url = 'myOtherUrl.js';
}

var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
po.src = url;
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);

</script>
</head>

var-url;
如果(废话==废话){
url='myUrl.js';
}否则{
url='myOtherUrl.js';
}
var po=document.createElement('script');po.type='text/javascript';po.async=true;
po.src=url;
var s=document.getElementsByTagName('script')[0];s、 parentNode.insertBefore(po,s);

如果需要在加载文档之前加载脚本,则需要在文档的
标题中包含条件脚本

您可以这样做:

<head>
    <script src="script.js"></script>
    <script type="text/javascript">
        function include_another_script(){
            var url;
            if( //some stuff){
                url = "script1.js";
            } else {
                url = "script2.js";
            }
            $('head').append('<script type="text/javascript" src="'+url+'"></script>');
        }
   </script>
</head>

尝试此操作,src是要加载的脚本的路径。
var script=document.createElement('script')
script.src=src

document.head.appendChild(脚本)

oops,我写示例代码时很马虎。是的,我已经在我的工作版本中这样做了。仍然不能解决我的问题:(@p1xelarchitect在这种情况下,你能展示一个更完整的示例吗?我看不出它不起作用的任何原因。与其使用函数,不如直接在它上面写if/else语句来获取
var url
值为什么它需要在这个值中?@KevinB他说“我需要在页面的初始加载中包含.js内容,因为加载时内容将显示在html中"。把它们放在头上可以确保它们会。他把它放在头上,因为OP要求在加载文档中的任何其他内容之前加载它,但这并不一定意味着它需要放在头上。这完全取决于代码的功能。如果他包含的代码是document.write,他会希望使用document.write将其包括在内,在哪里他打算让它输出。@KevinB好吧,伙计,你赢了……我们只需删除我们的答案,你就可以给他提供解决方案。