我正在使用EJS作为模板引擎,我想知道如何在页面布局结束时在一个页面上包含一个脚本。
示例:
布局:
<head>
//Scripts and stuff
</head>
<body>
<article>
<%-body%> // Render page here
</article>
</body>
页:
//This script needs to go within the head of the layout
//Or before the closing </body> tag in the layout, but only
//when this particular page is loaded.
<script src="onlyRequiredOnThisPageWithinTheLayout.js"></script>
<p>Page content</p>
谢谢!
答案 0 :(得分:0)
在文章标记中包含您的模块页面。<%- include("page.ejs") %>
布局的head标记内写一个脚本,将<script></script>
标记附加到head
标记
layout.ejs
<head>
<script>
function clean(){
sc=document.querySelectorAll(".pagescript");
head=document.getElementsByTagName("head");
for(s=0;s<sc.length;s++){
head[0].appendChild(sc[s]);
}
}
document.addEventListener( "DOMContentLoaded", clean, false );
</script>
</head>
<body>
<article>
<%- include("page.ejs") %> // Render page here
</article>
</body>
你的page.ejs
<script class="pagescript" src="onlyRequiredOnThisPageWithinTheLayout.js"></script>
<p>Page content</p>
我已经使用循环来附加脚本标记,如果只有一个脚本标记,则使用sc[0]
。