从外部.js文件调用HTML中的函数?

时间:2018-08-16 21:31:25

标签: javascript html flask

我正在尝试调用在我的HTML文档中的.js文件中声明的函数。

js / newsalerts.js

function unescapeHTML(html) {
    //https://stackoverflow.com/a/2989105/4650297
    var div = document.createElement("DIV");
    div.innerHTML = html;
    return ("innerText" in div) ? div.innerText : div.textContent; // IE | FF
}

index.html(使用Flask)

<html>
<head>
    <script type="text/javascript" src="{{ url_for('static', filename='js/newsalerts.js') }}"></script>
    <script>
        queries = "{{ search_terms }}";
        console.log(unescapeHTML(queries));
    </script>
    ...

我正在尝试使unescapeHTML函数在我的queries变量上运行,但始终收到该错误

  

unescapeHTML未定义

我也尝试过console.log(newsalerts.unescapeHTML(queries)),同样的错误。

1 个答案:

答案 0 :(得分:0)

不幸的是(?)解决方案不是编程的。感谢人们对我的OP的评论,我得以确认我的.js文件确实正确加载,并且代码正确。

...除了查看代码外,我的unescapeHTML函数丢失了-但是它在我的.js文件中!

问题是当我重新启动Flask服务器并刷新我的浏览器时,它必须从缓存中保留了js文件。一旦完成一次硬刷新,就会加载完整的正确js文件,并且可以按预期工作。

因此,如果您更改任何基础代码,请不要忘记“硬刷新”页面。