在页面完全加载后在WordPress中执行内联Java脚本

时间:2020-01-07 作者:query

我试图找出使用javascript在wordpress中完全加载页面所需的时间。我的JavaScript代码是内联的。我正在使用wp_print_scripts 钩子,但就像它一样prints scripts in document head 我怀疑我没有得到完整页面加载后的时间。我没有得到正确的时间,因为正文和页脚内容尚未执行/加载。所以我想我得到的是加载标题所需的时间,而不是整个页面。我不能使用wp_footershutdown 挂钩,因为我的页面已缓存。那么,在不清除/刷新缓存的情况下,如何运行代码来获取页面加载后的时间呢?这是我的代码:

my-plugin.php

function print_script() {

    <script type="text/javascript">
    window.onload = function () {
        var loadTime = window.performance.timing.domContentLoadedEventEnd-window.performance.timing.navigationStart;
        alert(loadTime);
        console.log(loadTime);
    }
            var var1 = <?php echo json_encode(\'var1\'); ?>;
            var var2 = <?php echo json_encode(\'var2\'); ?>;
            var var3 = <?php echo json_encode(\'var3\'); ?>;

    </script>


  }
add_action(\'wp_print_scripts\', \'print_script\');

1 个回复
SO网友:Kees

我认为在这种情况下,您应该使用echo:

function print_script() {

echo \'<script type="text/javascript">
window.onload = function () {
    var loadTime = window.performance.timing.domContentLoadedEventEnd-window.performance.timing.navigationStart;
    alert(loadTime);
    console.log(loadTime);
}
        var var1 = <?php echo json_encode(\'var1\'); ?>;
        var var2 = <?php echo json_encode(\'var2\'); ?>;
        var var3 = <?php echo json_encode(\'var3\'); ?>;

</script>\';


}
 add_action(\'wp_print_scripts\', \'print_script\');

相关推荐

主题定制--当使用php变量时,如何在外部存储javascript?

EDIT: Complete re-write在过去的几周里,我一直在为我的主题开发一个自定义扩展。这是我第一次用Wordpress“开发”。所有的工作都很好,我对结果的功能很满意,尽管它需要一些整理。我希望将我的js函数移到一个外部文件-自定义。js。原始格式:main-block.php$custom1 = $custom_meta[\'custom1\']; <form name=\"customForm\"> Validatio