我在NextGen Gallary插件中添加了幻灯片后Chrome中的错误代码。 Sildeshow页面中的错误部分?我找不到这个页面.. 在页脚中附加了jQuery i链接。是什么东西与我的jQuery文件冲突?
请参阅附图和代码screenshot of error
JQMIGRATE: Migrate is installed, version 1.4.1
slideshow:212 Uncaught TypeError: jQuery(...).nggShowSlideshow is not a function
at HTMLDocument.<anonymous> (slideshow:212)
at i (jquery.js?ver=1.12.4:2)
at Object.fireWith [as resolveWith] (jquery.js?ver=1.12.4:2)
at Function.ready (jquery.js?ver=1.12.4:2)
at HTMLDocument.K (jquery.js?ver=1.12.4:2)
(anonymous) @ slideshow:212
i @ jquery.js?ver=1.12.4:2
fireWith @ jquery.js?ver=1.12.4:2
ready @ jquery.js?ver=1.12.4:2
K @ jquery.js?ver=1.12.4:2
<script type="text/javascript">
jQuery('#ngg-slideshow-8c3cff8f8dc2fd0d87b86cbcbb01a9eb-207510-image-list').hide().removeClass('ngg-slideshow-nojs');
jQuery(function($) {
jQuery('#ngg-slideshow-8c3cff8f8dc2fd0d87b86cbcbb01a9eb-207510').nggShowSlideshow({
id: '8c3cff8f8dc2fd0d87b86cbcbb01a9eb',
fx: 'fade',
width: 1000,
height: 600,
domain: 'https://localhost/marc1/',
timeout: 10000 });
<script type="text/javascript">
jQuery('#ngg-slideshow-8c3cff8f8dc2fd0d87b86cbcbb01a9eb-207510-image-list').hide().removeClass('ngg-slideshow-nojs');
jQuery(function($) {
jQuery('#ngg-slideshow-8c3cff8f8dc2fd0d87b86cbcbb01a9eb-207510').nggShowSlideshow({
id: '8c3cff8f8dc2fd0d87b86cbcbb01a9eb',
fx: 'fade',
width: 1000,
height: 600,
domain: 'https://localhost/marc1/',
timeout: 10000 });
答案 0 :(得分:0)
这种类型的错误通常可以通过在加载JQuery本身之前运行的JQuery插件(脚本)来实现。从您的屏幕截图中,您可以直接手动将脚本添加到页面模板中。
在WordPress中,JQuery脚本应始终由wp_enqueue_script钩子加载,并使用JQuery依赖项进行设置。
wp_enqueue_script( string $handle, string $src = '', array $deps = array(), string|bool|null $ver = false, bool $in_footer = false )
例如:
function load_my_script_SO44497195(){
wp_register_script(
'my_script',
get_template_directory_uri() . '/js/myscript.js',
array( 'jquery' )
);
wp_enqueue_script( 'my_script' );
}
add_action('wp_enqueue_scripts', 'load_my_script_SO44497195');
但是,如果您真的必须通过html手动加载脚本,则应将此代码包装在
中// A $( document ).ready() block.
$( document ).ready(function() {
console.log( "ready!" );
});
或者至少将脚本放在页脚中,以便为JQuery提供每次加载的机会。但是,你真的应该只排队脚本。
所有这一切都是猜测因为我只是让你的屏幕截图关闭。如果我们可以访问实时网站,那将更容易。
此外,在您提出的问题的代码块中,您有相同的脚本加载两次,而且关闭脚本标记</script>
似乎不仅不必要,而且可能导致问题。首先对此进行两次排序,因为它可能是问题的根源。