Javascript 页面加载后包含.tpl
您好页面加载后是否可以加载TPL文件 有些人喜欢:Javascript 页面加载后包含.tpl,javascript,include,smarty,Javascript,Include,Smarty,您好页面加载后是否可以加载TPL文件 有些人喜欢: function docReady(fn) { // see if DOM is already available if (document.readyState === "complete" || document.readyState === "interactive") { // call on next available tick setTimeout(fn, 1); } else {
function docReady(fn) {
// see if DOM is already available
if (document.readyState === "complete" || document.readyState === "interactive") {
// call on next available tick
setTimeout(fn, 1);
} else {
document.addEventListener("DOMContentLoaded", fn);
}
}
docReady(function() {
console.log("OK");
{include file="modules/widgets/akj-select-menu/akj-select-menu.tpl" assign=akj_menu_content}
});
这不是工作,因为我不能像这样安装smarty,但我只是不想显示我需要什么。如果您的想法与快速页面加载的请求优化无关(例如menu.tpl是generate very long time,您希望稍后加载),那么:最简单的方法是这样做:
function docReady(fn) {
// see if DOM is already available
if (document.readyState === "complete" || document.readyState === "interactive") {
// call on next available tick
setTimeout(fn, 1);
} else {
document.addEventListener("DOMContentLoaded", fn);
}
}
docReady(function() {
console.log("OK");
document.getElementById("akj_menu_content").style.display = "block";
});
<div id="akj_menu_content" style="display:none;">
{include file="modules/widgets/akj-select-menu/akj-select-menu.tpl" assign=akj_menu_content}
</div>
功能docReady(fn){
//查看DOM是否已经可用
如果(document.readyState==“完成”| | document.readyState===“交互”){
//在下一个可用的时间打电话
设置超时(fn,1);
}否则{
文件。添加的文件列表(“DOMContentLoaded”,fn);
}
}
docReady(函数(){
控制台日志(“OK”);
document.getElementById(“akj_菜单_内容”).style.display=“block”;
});
{include file=“modules/widgets/akj select menu/akj select menu.tpl”assign=akj_menu_content}
但是。。如果它与请求优化相关,那么
docReady()
您应该发出一个ajax请求,例如www.example.com/my/menu/generator
,在php中生成此菜单(通过Smarty中的fetch
modules/widgets/akj select menu/akj select menu.tpl
并将其作为HTML返回,以便JS可以将其插入我需要优化速度加载页面。我无法使用PHP及其smartweb平台。我只有tpl文件