Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 页面加载后包含.tpl_Javascript_Include_Smarty - Fatal编程技术网

Javascript 页面加载后包含.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 {

您好页面加载后是否可以加载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 {
        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文件