【发布时间】:2021-03-09 09:26:44
【问题描述】:
我试图在 Wordpress 页面中复制这篇博文 Create A Realistic Self-solving Rubik's Cube With Three.js。但是,我得到了错误
Uncaught TypeError: Cannot read property 'fn' of undefined
at jquery.cube.threejs.min.js?ver=5.5.3:21
这就是我在 functions.php 中加载必要的 javascript 文件的方式
wp_register_script('threejs', 'https://cdnjs.cloudflare.com/ajax/libs/three.js/r123/three.min.js', array( 'jquery' ));
wp_enqueue_script( 'threejs' );
wp_register_script('cubejs', get_stylesheet_directory_uri() . '/assets/libs/jquery.cube.threejs.min.js',array( 'jquery' ));
wp_enqueue_script( 'cubejs' );
wp_register_script('cubeCode', get_stylesheet_directory_uri() . '/assets/js/cube.js',array( 'jquery' ));
wp_enqueue_script( 'cubeCode' );
cube.js 文件就是这个
(function($) {
jQuery( document ).ready(function() {
const myCube = jQuery(".cube").cube();
myCube.execute("(U R U' R') (U R U' R') (U R U' R') (U R U' R') (U R U' R') (U R U' R')");
})
})(jQuery);
当我实际检查页面的源代码时,脚本的顺序是正确的
<script type='text/javascript' src='.../wp-includes/js/jquery/jquery.js?ver=1.12.4-wp' id='jquery-core-js'></script>
<script type='text/javascript' src='https://cdnjs.cloudflare.com/ajax/libs/three.js/r123/three.min.js?ver=5.5.3' id='threejs-js'></script>
<script type='text/javascript' src='.../assets/libs/jquery.cube.threejs.min.js?ver=5.5.3' id='cubejs-js'></script>
<script type='text/javascript' src='.../assets/js/cube.js?ver=5.5.3' id='cubeCode-js'></script>
【问题讨论】:
-
这是旧的 jquery 版本吗?这有帮助吗? stackoverflow.com/questions/52451388/…
-
默认是5.5.3版的Wordpress。
-
那是Wordpress的版本,但是jQuery的版本是1.12.4,从以wp-includes/js/jquery/jquery.js?ver=1.12结尾的script标签可以看出.4-wp
-
在演示页面上,只包含三个js文件,如下所示: 为什么你认为你有 4 个?
标签: javascript jquery wordpress three.js