Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.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 从js文件到html页面调用函数_Javascript_Jquery_Html - Fatal编程技术网

Javascript 从js文件到html页面调用函数

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

我的所有网页都有三个js文件,每个网页都有预定义的函数集。我是否可以将所有这些函数移到一个新的js文件中,然后调用另一个js文件中的其他函数?我在上读到了关于rloader的文章,但我不确定是否可以使用它

<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(){...};