Javascript 从js文件到html页面调用函数
我的所有网页都有三个js文件,每个网页都有预定义的函数集。我是否可以将所有这些函数移到一个新的js文件中,然后调用另一个js文件中的其他函数?我在上读到了关于rloader的文章,但我不确定是否可以使用它Javascript 从js文件到html页面调用函数,javascript,jquery,html,Javascript,Jquery,Html,我的所有网页都有三个js文件,每个网页都有预定义的函数集。我是否可以将所有这些函数移到一个新的js文件中,然后调用另一个js文件中的其他函数?我在上读到了关于rloader的文章,但我不确定是否可以使用它 <script src="js/rootNameSpace.js"></script> <script src="js/jquery-min.js"></script> <script src="js/ui.js"></scri
<script src="js/rootNameSpace.js"></script>
<script src="js/jquery-min.js"></script>
<script src="js/ui.js"></script>
<script src="js/form.js"></script>
<script type="text/javascript">
console.dir(com);
com.rela.form.helloWorld1();
com.rela.form.helloWorld2();
</script>
console.dir(com);
com.rela.form.helloWorld1();
com.rela.form.helloWorld2();
是。如果将脚本标记的内容移动到路径为“js/main.js”的文件中,然后添加脚本
<script src="js/main.js"></script>
在其他脚本之后,它将能够调用函数。包含外部脚本相当于将该脚本中的文本内联到文件中
脚本可以读取以前脚本的内容,因此页面上有多个脚本类似于将它们全部连接到一个文件中,这意味着如果您在其他脚本下面添加脚本,它将能够“查看”其他脚本中的所有内容
关于装载机的问题
rloader执行延迟加载,以便在需要时拉入脚本
更多关于
你可以了解(我不是这方面的专家)
对于它的价值,我不建议使用rloader,如果你真的只有4个脚本在一个页面上。这太过分了。如果您计划有一个更大的项目,那么您可以使用它或更流行的跨页面管理脚本。最好将代码放在单独的文件中(只要它们的大小和数量较少)这将允许浏览器缓存$(文档)。ready将使您对未加载的其他dom元素保持安全 创建如下内容:
<script src="js/rootNameSpace.js"></script>
<script src="js/jquery-min.js"></script>
<script src="js/ui.js"></script>
<script src="js/form.js"></script>
<script src="js/pages/some-page.js"></script>
更好的选择是合并文件(如果它们在每个页面上都很常见)。将rootNameSpace.js、jquery-min.js、ui.js、form.js放入一个文件,比如common.js。你可以用它来做
<script src="js/common.js"></script>
<script src="js/pages/some-page.js"></script>
如果您有动态生成的页面,您可以有不同的名称/操作/控制器。 那你可以
echo '<script type="text/javascript">$(document).ready(function(){'.$page_name.'();});</script>';
如果你有一个包含许多JS文件的大型应用程序,你可以在一个文件夹中拆分成更多的文件,然后添加一个缩小插件,在一个输出文件(或JS生成器)中“收集”它们
rloader是一个动态加载脚本,基本上在文档()中注入JS文件。我不建议使用它,除非您有一个非常大的应用程序,并且使用一个只加载当前模块的MVC。当然,浏览器并不关心它们是否是单独的文件。如果您包含一个脚本,那么您可以从下一行开始调用其中的任何公共函数,无论它是在html文件中还是在其他包含的脚本文件中。包括脚本相当于复制和粘贴它。我这样做了,它工作得很好,但我被告知使用rloader,我不知道rloader做什么?rloader做惰性加载。我认为$page_name应该用在src部分,而不是匿名函数中。我们甚至可以使用“onload”来确保在函数调用时加载JS文件和DOM元素(我们不知道他的函数做什么)。最后一个选项仅在您包含的公共文件确实是公共文件时才相关。你不能从一页的信息中假设。
echo '<script type="text/javascript">$(document).ready(function(){'.$page_name.'();});</script>';
function name1(){...};