Javascript 基于另一个脚本启用脚本标记

Javascript 基于另一个脚本启用脚本标记,javascript,html,conditional-statements,Javascript,Html,Conditional Statements,我试图用Javascript编写一个脚本,根据cookie的值启用或禁用其他脚本。我将找出如何单独设置cookie,所以我现在只是硬编码 index.html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width

我试图用Javascript编写一个脚本,根据cookie的值启用或禁用其他脚本。我将找出如何单独设置cookie,所以我现在只是硬编码

index.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    
</head>
<body>
    <script src="./script.js"></script>
    <script class="GA" src="./scriptga.js"></script>
</body>
</html>
scriptga.js:

console.log("script loaded");
if(enableGA){
   console.log("script executed");
}
function enableGA(){
   console.log("script executed");
}
任何帮助都将不胜感激,因为我已经在这里工作了近6个月,时断时续,毫无喜悦。
我不介意添加jquery或其他工具来实现这一点。

假设您可以修改这些脚本(不是从外部源加载的) 不管怎样,这两个都将被加载,但您可以执行一段代码,也可以不执行

请记住,JS将逐行执行&从左到右,所以请注意未定义的变量

#1使用变量

您可以将全局变量从
script.js
传递到
scriptga.js

  • enableGA
    定义为布尔变量
  • script.js:

    var mycookie = 1
    // assume that you don't want to execute 'scriptga.js' by default
    var enableGA = false; 
    
    // enable script
    if (mycookie == 1) {
        enableGA = true;
        console.log("script will be executed");
    }
    
    var mycookie = 1
    // assume that you don't want to execute 'scriptga.js' by default
    var enableGA = false; 
    
    // enable script
    if (mycookie == 1) {
        console.log("script will be executed");
        enableGA(); // call function
    }
    
  • 检查
    enableGA
    是否为真
  • scriptga.js:

    console.log("script loaded");
    
    if(enableGA){
       console.log("script executed");
    }
    
    function enableGA(){
       console.log("script executed");
    }
    
    #2使用函数

    script.js:

    var mycookie = 1
    // assume that you don't want to execute 'scriptga.js' by default
    var enableGA = false; 
    
    // enable script
    if (mycookie == 1) {
        enableGA = true;
        console.log("script will be executed");
    }
    
    var mycookie = 1
    // assume that you don't want to execute 'scriptga.js' by default
    var enableGA = false; 
    
    // enable script
    if (mycookie == 1) {
        console.log("script will be executed");
        enableGA(); // call function
    }
    
    scriptga.js:

    console.log("script loaded");
    
    if(enableGA){
       console.log("script executed");
    }
    
    function enableGA(){
       console.log("script executed");
    }
    

    这是一个错误,因为一旦加载脚本,就没有神奇的禁用方法。反过来做。如果脚本是由您编写的,那么为什么不使用函数/变量来调用和执行一段代码呢。我会试一试的,