我发现在php文件中加载js文件有一些问题。我有php admin-pp-sipp-litbang.php.文件在该文件中,我包含了一些带有switch case的php文件:
<div class="col-sm-9 col-sm-offset-3 col-lg-10 col-lg-offset-2 main">
<?php
switch (@$_GET['modul']) {
case "beranda":
include "tampilan-admin-pp/beranda.php";
break;
case "permintaanakun":
include "tampilan-admin-pp/permintaanakun.php";
break;
case "permintaanpp":
include "tampilan-admin-pp/permintaanpp.php";
break;
case "chat":
include "tampilan-admin-pp/chat.php";
break;
case "detailsproposal":
include "tampilan-admin-pp/details_proposal.php";
break;
case "detailspermintaanakun":
include "tampilan-admin-pp/details_permintaanakun.php";
break;
case "detailspengguna":
include "tampilan-admin-pp/details_pengguna.php";
break;
default:
include "tampilan-admin-pp/beranda.php";
}
?>
</div><!--/.main-->
在此之后,我在关闭body标记附近的admin-pp-sipp litbang.php上加载了tampilan-admin-pp/ that .php的js文件。下面是js文件。
<script id="message-template" type="text/x-handlebars-template">
<li class="clearfix">
<div class="message-data align-right">
<span class="message-data-time" >{{time}}, Today</span>
<span class="message-data-name" >Olia</span> <i class="fa fa-circle me"></i>
</div>
<div class="message other-message float-right">
{{messageOutput}}
</div>
</li>
</script>
<script id="message-response-template" type="text/x-handlebars-template">
<li>
<div class="message-data">
<span class="message-data-name"><i class="fa fa-circle online"></i> Vincent</span>
<span class="message-data-time">{{time}}, Today</span>
</div>
<div class="message my-message">
{{response}}
</div>
</li>
</script>
<script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
<script src='http://cdnjs.cloudflare.com/ajax/libs/handlebars.js/3.0.0/handlebars.min.js'></script>
<script src='http://cdnjs.cloudflare.com/ajax/libs/list.js/1.1.1/list.min.js'></script>
<script type="text/javascript" src="tampilan-admin-pp/chat/jss/load_list_user_chat.js"></script>
<script type="text/javascript" src="tampilan-admin-pp/chat/jss/UserOnline.js"></script>
<script type="text/javascript" src="tampilan-admin-pp/chat/jss/index.js"></script>
问题是tampilan-admin-pp/chat.php .php的js文件会影响其他包含的文件。如何才能仅为tampilan-admin-pp/ that .php加载js文件?
发布于 2018-06-02 10:12:33
为什么不能直接将admin-pp-sipp litbang.php底部的<script>
标记移到tampilan-admin-pp/can.php中呢?
如果您需要将它们包含在admin-pp-sipp litbang.php的末尾,那么您需要在handlebars模板之后使用另一个switch语句或类似的逻辑。
更新:
问题是你的php文件是有条件地包含在switch
语句中的,但是你的“聊天”javascript文件每次都会被包含进来。您还需要有条件地包含javascript文件。您可以只将<script>
标记添加到原始switch
语句中,但通常在</body>
结束标记之前加载javascript会更好,就像您所做的那样。为了保持这种特性,在包含js文件之前,在admin-pp-sipp litbang.php的底部添加另一条switch
语句。
So
<script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
<script src='http://cdnjs.cloudflare.com/ajax/libs/handlebars.js/3.0.0/handlebars.min.js'></script>
<script src='http://cdnjs.cloudflare.com/ajax/libs/list.js/1.1.1/list.min.js'></script>
<script type="text/javascript" src="tampilan-admin-pp/chat/jss/load_list_user_chat.js"></script>
<script type="text/javascript" src="tampilan-admin-pp/chat/jss/UserOnline.js"></script>
<script type="text/javascript" src="tampilan-admin-pp/chat/jss/index.js"></script>
变成:
<script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
<script src='http://cdnjs.cloudflare.com/ajax/libs/handlebars.js/3.0.0/handlebars.min.js'></script>
<script src='http://cdnjs.cloudflare.com/ajax/libs/list.js/1.1.1/list.min.js'></script>
<?php switch($_GET['modul']):
case 'chat': ?>
<script type="text/javascript" src="tampilan-admin-pp/chat/jss/load_list_user_chat.js"></script>
<script type="text/javascript" src="tampilan-admin-pp/chat/jss/UserOnline.js"></script>
<script type="text/javascript" src="tampilan-admin-pp/chat/jss/index.js"></script>
<?php break;?>
<?php endswitch;?>
这样,您就可以添加与文件顶部的其他include
相匹配的其他javascript语句,以便有条件地包含它们的javascript。
发布于 2018-06-02 10:20:00
也许是为了在tampilan-admin-pp/chat.php.php中设置一些变量。像$chatIncluded = true;
这样的东西
然后条件渲染脚本标签,如果定义了chatIncluded且为true,则加载JS文件。
https://stackoverflow.com/questions/50652894
复制相似问题