Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.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的解析/加载_Javascript_Ruby On Rails - Fatal编程技术网

延迟Javascript的解析/加载

延迟Javascript的解析/加载,javascript,ruby-on-rails,Javascript,Ruby On Rails,这可能是一种过早优化的情况,也可能是一种“视情况而定”的情况。。。但是,有没有一种方法可以推迟Javascript部分的解析/执行,直到这些代码部分被证明是必需的 在我的例子中,我使用的是Rails资产管道,它方便地帮助将我的所有JS捆绑/缩小到一个文件中。但是,据我所知,每次加载页面时都需要重新加载此文件。但文件的一部分仅在某些页面上使用 我的模块使用以下模式进行编码: (function (window, undefined) { ... all code here ... })(windo

这可能是一种过早优化的情况,也可能是一种“视情况而定”的情况。。。但是,有没有一种方法可以推迟Javascript部分的解析/执行,直到这些代码部分被证明是必需的

在我的例子中,我使用的是Rails资产管道,它方便地帮助将我的所有JS捆绑/缩小到一个文件中。但是,据我所知,每次加载页面时都需要重新加载此文件。但文件的一部分仅在某些页面上使用

我的模块使用以下模式进行编码:

(function (window, undefined) {
... all code here ...
})(window);
我喜欢的是一种包装这些模块的方法,这样它们只在需要的页面上被解析/加载/执行,比如在DOM中找到
标记

我知道我可以在我的模块的init函数中做一个<代码> if /<代码>,以防止它在不需要时初始化它自己,但是它似乎更好的是避免JS引擎在不需要的时候完全考虑这个代码。


即使这不是一个真正的问题,我也很好奇是否/如何做到这一点。

我想你想要的正是你想要的。使用基于约定的方法,您可以定义将以托管方式导入页面的代码模块。请参阅和