在moodle中包含的.js文件中添加延迟属性
我正在优化我的Moodle站点的性能,它显示了加载页面的.js文件时的高加载时间。这就是为什么我想在调用或包含javascript文件的页面中包含在moodle中包含的.js文件中添加延迟属性,moodle,Moodle,我正在优化我的Moodle站点的性能,它显示了加载页面的.js文件时的高加载时间。这就是为什么我想在调用或包含javascript文件的页面中包含defer='defer'属性,如下所示 if (!empty($CFG->cachejs) and !empty($CFG->jsrev) and $CFG->jsrev > 0 and substr($url, -3) === '.js') { if (empty($CFG->slasharguments))
defer='defer'
属性,如下所示
if (!empty($CFG->cachejs) and !empty($CFG->jsrev) and $CFG->jsrev > 0 and substr($url, -3) === '.js') {
if (empty($CFG->slasharguments)) {
return new moodle_url($CFG->httpswwwroot.'/lib/javascript.php', array('rev'=>$CFG->jsrev, 'jsfile'=>$url));
} else {
$returnurl = new moodle_url($CFG->httpswwwroot.'/lib/javascript.php');
$returnurl->set_slashargument('/'.$CFG->jsrev.$url);
return $returnurl;
}
} else {
return new moodle_url($CFG->httpswwwroot.$url);
}
那么,我如何才能在上面添加
defer='defer'
属性呢?请告诉我。Moodle页面中嵌入javascript的位置有多个,最大的一个是YUI3库
要添加延迟标记,请查看文件/lib/outputrequerementslib.php
。确切的行号取决于您的Moodle版本。最棘手的是将其添加到static.js
,因为这是在html_writer类中处理的
请注意,标签应该是“defer
”而不是“defer='defer'
”,因为Moodle使用HTML5 doctype
此外,由于Moodle的建造方式,Moodle的装载顺序也很重要。添加defer属性可能会破坏您的Moodle