【发布时间】:2017-01-07 06:37:43
【问题描述】:
下面的 html 代码生成两个链接,当悬停时将输出相应的音频文件。我的问题是,如果我有一个存储在 Django 数据库中的链接表,我如何在 javascript 中输出它,以便使用 Django 模板语言我可以遍历链接表以填充 window.onload 函数?还是有更有效的方法?
<head>
<script type="text/javascript">
window.onload = function() {
// collecting elements
var welcomeSound = document.getElementById('welcomeSound');
var welcomeTxt = document.getElementById('welcomeTxt');
var sdSound = document.getElementById('shutdownSound');
var sdTxt = document.getElementById('shutdownTxt');
//playing welcome sound on mouse over
welcomeTxt.onmouseover = function() {
welcomeSound.play();
return false;
};
sdTxt.onmouseover = function() {
sdSound.play();
return false;
};
};
</script>
</head>
<html>
<section>
<audio id="welcomeSound" controls="controls" preload="auto">
<source src="welcome.ogg"></source>
Your Browser does not support please use (Firefox 3.5+, Chrome 3+, Opera 10.5+, Safari 4+, IE 9+) browsers.
</audio>
<audio id="shutdownSound" controls="controls" preload="auto">
<source src="shutdown.ogg"></source>
Your Browser does not support please use (Firefox 3.5+, Chrome 3+, Opera 10.5+, Safari 4+, IE 9+) browsers.
</audio>
<p class="info">
Use latest Browser Chrome or FireFox.
<br /> If you usig Internet download manager please close it.
</p>
<a id="welcomeTxt" href="#">
Welcome(Mouse hover here)
</a>
<br />
<br />
<br />
<a id="shutdownTxt" href="#">
Shutdown(Mouse hover here)
</a>
</section>
</html>
【问题讨论】:
-
由于您的 javascript 在模板中,您可以像在模板中的其他地方一样使用
{{ }}中的模板变量并使用{% for %}等循环 -
如果我的 javascript 是外部的怎么办?
-
如果它在外部
.js文件中,简短的回答似乎是“否”。我已经在这个网站上看到了一些解决方案,但没有一个对我来说是理想的,我还没有尝试过。但是,我在<script></script>标签内的 js 中使用了 Django 模板标签,并且从来没有遇到过问题。我所做的一件事是将脚本标签和随附的 javascript 放入它自己的模板中,并在我需要使用它时{% include %}它。这样你的脚本和模板就有点分开了,至少对我来说这有助于我在工作时专注于另一个。
标签: javascript django django-templates