我有 4 个 javascript 文件(每个文件用于一个 HTML 文件),并且 3 个函数在所有 4 个文件中都是相同的。我想找到一个平稳的解决方案,我可以以某种方式分别包含这 3 个函数......是否可以在 .js 中包含 .js?
user1870829
问问题
167 次
5 回答
2
您可以有多个
<script>
标签:<script src="lib.js"></script> <script> // do stuff </script>
您可以使用jQuery:
$.getScript("lib.js", function() { // do stuff });
您可以使用诸如browserify或YUICompressor或Google 的 Closure Compiler 之类的预处理器。
于 2012-12-15T17:09:09.440 回答
1
你可以自己写这个,例如它在谷歌分析中工作:
(function(){
var lastIncludedScript = document.getElementsByTagName('script')[0];
var yourScript = document.createElement('script');
yourScript.type = 'text/javascript';
yourScript.src = 'path/to/script.js';
lastIncludedScript.parentNode.insertBefore(yourScript, lastIncludedScript);
})();
或在功能中:
function includeScript( path ){
var lastIncludedScript = document.getElementsByTagName('script')[0];
var yourScript = document.createElement('script');
yourScript.type = 'text/javascript';
yourScript.src = path;
lastIncludedScript.parentNode.insertBefore(yourScript, lastIncludedScript);
}
用法:
includeScript( 'path/to/script.js' );
于 2012-12-15T17:07:33.907 回答
0
在浏览器中包含来自其他 JavaScript 的文件有点慢。我会编写一个服务器端脚本,将所有相关的 JavaScript 组合并缩小到一个“文件”中,然后发送给客户端。
您的页面可以将参数传递给此脚本以选择需要包含的内容。
于 2012-12-15T17:09:02.387 回答
0
使用每个 html 文件中所需的正确 js 文件。这将解决您的问题。也可以为两个 html 文件添加包含一般功能的一个。这应该可以解决您的问题。
于 2012-12-15T17:07:53.627 回答