无法加载js

时间:2016-06-20 14:18:14

标签: javascript

如果这很简单或者无法完成,我会提前抱歉。基本上,我正在尝试在我的网站上加载年龄验证js,但我试图根据不同国家的合法饮酒年龄在不同页面之间进行选择。

如果我简单地加载脚本,它可以正常工作:

<script type="text/javascript" src="https://av.ageverify.co/jsfr/singlemalt.18.js"></script>

但是,如果我尝试对此脚本进行任何类型的修改,它根本不会加载。例如,如果我尝试将src设置为变量(我将在不同的脚本中调用,则无法加载)。

<script>
    url = "https://av.ageverify.co/jsfr/singlemalt.18.js";
</script>
<script type="text/javascript" src=url></script>

任何想法都将不胜感激!

编辑:

其他信息: 我试图像人们建议的那样使用getScript,但也遇到了问题:

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular.min.js"></script>
<script>
    $.getScript("https://av.ageverify.co/jsfr/singlemalt.18.js");

</script>

或此方法:

function loadJs() {
  var url = "https://av.ageverify.co/jsfr/singlemalt.18.js";
  var script = document.createElement("script");
  script.src = url;
  document.head.appendChild(script);
}

这最后一个似乎与其他简单脚本一起使用,但也许这个特定的脚本正在寻找某种浏览器条件?关于如何弄清楚或寻找什么的任何建议?应该会弹出一个年龄验证页面,询问您的年龄。

1 个答案:

答案 0 :(得分:2)

HTML标记无法理解变量。您需要使用src属性的网址。 HTML不知道你的JavaScript变量是什么。

如果您想以这种方式加载.js文件,则需要使用JavaScript。您可以做的是创建一个新的<script>标记,然后将其附加到页面。

var url = "https://av.ageverify.co/jsfr/singlemalt.18.js";

var script = document.createElement("script");
script.src = url;

document.head.appendChild(script);

如果您使用的是jQuery,这基本上就是$.getScript所做的。

var url = "https://av.ageverify.co/jsfr/singlemalt.18.js";

$.getScript(url);