我有
-
base.html
-
pageA.html
-
pageB.html
-
pageA.js
pageB.js
-
pageA.js
有pageA.html
的代码,pageB.js
有pageB.html
的代码. - 两个
pageA.js
和pageB.js
使用jQuery
.
-
目前我将所有脚本都包含在 base.html 中,如下所示:
<html>
<body>
<div id="contents">
<!-- pageA.html / pageB.html comes here -->
</div>
<script src="js/jquery.js"></script>
<script src="js/pageA.js"></script>
<script src="js/pageB.js"></script>
</body>
</html>
我想加载 pageA.js
仅适用于 pageA.html
和 pageB.js
对于 pageB.html
,因为其他页面不需要每个文件中的代码。
我调查了 requires.js库,但我不确定它是否是解决我的问题的正确方法。在这种情况下构建 JavaScript 文件的最佳做法是什么?
最佳答案
我认为你能做的最好的就是添加 <script src="js/pageX.js"></script>
在 pageX.html
的最后IF 此页面是动态加载的。
如果页面不是动态加载的,它可能会在 jquery.js
之前加载并破坏你的 javascript。
或者您可以读取当前 URL 并根据此信息加载正确的脚本,如下所示:
var scriptPath;
var currentPage = window.location.pathname;
if (currentPage == "pageA.html")
{
scriptPath = "pageA.js";
}
else if (currentPage == "pageB.html")
{
scriptPath = "pageB.js";
}
var scriptElement = document.createElement("script");
scriptElement.setAttribute("type", "text/javascript");
scriptElement.setAttribute("src", scriptPath);
document.getElementsByTagName("head")[0].appendChild(scriptElement);
关于javascript - 如何构造javascript文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16138971/