我有一个网站,我希望它在每次加载页面时随机加载不同的 HTML5 Javascript 动画,JavaScript 是迄今为止我最薄弱的技能之一,我提前感谢任何帮助,如果这恰好是重复的(我'已经尝试搜索)然后请投票关闭问题。
基本上我使用的方法很脏,很可能是它不起作用的原因,基本上我尝试了 randommath 并且没有运气,并将其归结为我的 JS 技能非常薄弱,看起来更简单的替代方法也不起作用这基本上是在页面加载时插入 HTML,例如 a.html 和 b.html 都包含不同的脚本。
这就是我的代码的样子:
HTML
<html>
<head>
<script src="js/insert.js"></script><!-- This inserts the Random Page -->
</head>
<body onload="loadExternalHTMLPage()">
<div id="injectjs"> </div>
<canvas="id"> </canvas>
<script src="js/animation-lib-pageA.js"></script><!--Library for pageA -->
<script src="js/animation-lib-pageB.js"></script><!--Library for pageB -->
</body>
</html>
注入.js
function loadExternalHTMLPage() {
var xmlhttp;
var pagesToDisplay = ['a.html', 'b.html'];
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("jsinsert").innerHTML = xmlhttp.responseText;
}
}
var randomnumber = Math.floor(Math.random() * pagesToDisplay.length);
xmlhttp.open("GET", pagesToDisplay[randomnumber], true);
xmlhttp.send();
}
大多数 JS Guru 应该能够看到我在页面加载时随机插入 a.html 和 b.html,现在这可行,但问题是 a.html 和 b.html 中包含的脚本没有执行。(使用萤火虫我可以清楚地看到脚本正在按预期插入)。
所以例如 a 和 b 看起来像:
一个.html
<script> window.onload = function () { }</script>
b.html
<script> window.onload = function () { } </script>
基本上,A 和 B 中的代码是有效的,并且在这个插入中可以正常工作,我已经将上面的示例填充为占位符。A 和 B 都包含执行画布中包含的动画的 JavaScript,但它目前不起作用,我怀疑这与我在加载页面后加载脚本的事实有关。提前致谢。