Jquery.load() 和我们要加载的文件中的脚本标签

Jquery.load() and script tags inside the file that we want to load

好吧,这很奇怪,但是很简单,当我尝试在我的页面更改主索引的某些内容之前加载时,我注意到出了点问题,因为它只显示了实际的年份“2017”,现在我可以确认它,因为创建两个文件 test1.html 和 test2.html 发生了这种情况:

Test1.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
    <script>
        $(document).ready(function() {
            $("#test").load("test2.html");
        });
    </script>
</head>
<body>
    <div id="test"></div>
</body>
</html>

Test2.html

aaaaaaaaaaaaaa<br>
<script>document.write(new Date().getFullYear())</script>

结果:

那么,我该怎么做才能避免这种情况并毫无顾虑地展示一切呢? 尝试制作一个单独的功能也不起作用...

编辑:

现在,有人告诉我使用 document.write 是问题所在,我的问题是这是一个简单的解决方案,声明一个 html 元素稍后写入它的内容有点不那么简单而且更重,所以,我的实际问题是知道是否有 document.write?

的轻量级替代品

我对自己的解决方案进行了硬编码以使一切变得更简单,我创建了一个具有名为 data-func 的数据属性的元素,后来我这样做了:

$(document).ready(function() { 
     var fncs = $('[data-func]');
     fncs.each(function () {
         $(this).text(window[$(this).data("func")]);
     });
});

函数:

function getYear() {
    return new Date().getFullYear();
}

和元素:

<span data-func="getYear"></span>

仅此而已!