类="无JS"但是javascript正在使用Wordpress

时间:2017-05-02 21:16:14

标签: javascript jquery wordpress

当我访问我的任何网站页面时,它会说:class =" no-js",但我确实有javascript,它正在按需运行。我正在使用插件"自定义javascript"在wordpress上,而不是使用硬编码的入队函数。但由于它正在工作,我不明白问题是什么。但今天另一个插件我使用停止显示并给了我这个错误: noscript class =" noscript-message"     消息:此内容需要JavaScript。 显然有些事情是对的。任何人都知道为什么?下面是我的javascript代码



  jQuery( document ).ready(function() {
      img = new Image();
	div = document.getElementById('sidebar');
	img.onload = function() {
		div.parentNode.insertBefore(img, div.nextSibling).style.marginTop = "-115px";
	};
	img.src = '....../.png';
  x=document.getElementsByClassName("next page-numbers");
    for(var i = 0; i < x.length; i++){
    x[i].innerText="Nästa →";
    }
    y=document.getElementsByClassName("prev page-numbers");
    for(var i = 0; i < y.length; i++){
    y[i].innerText="← Tillbaka";
    }

               jQuery( "li.current_page_item" ).each(function( index ) {
                  jQuery(this).parent('.sub-menu').slideToggle('fast');
                  jQuery(this).parent().parent('.sub-menu').slideToggle('fast');
					jQuery(this).parent().parent().parent('.sub-menu').slideToggle('fast');
                });

                jQuery( "li.current-menu-parent" ).each(function( index ) {
                  jQuery(this).parent('.sub-menu').slideToggle('fast');
                  jQuery(this).parent().parent('.sub-menu').slideToggle('fast');
                  jQuery(this).parent().parent().parent('.sub-menu').slideToggle('fast');
                });
});
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

无论将no-js课程添加到您的身体中,显然不应该这样做,而您需要了解的内容。

停止工作的插件可能正在检查该类是否存在,并且由于它找到了它,它只是:抱歉,伙计,我需要JavaScript才能正常运行

您应该做的是确定将no-js课程添加到您的身体的原因以及原因。这是正确的行动。但是,这可能会很困难且耗时。

如果你在快速而肮脏的解决方案之后,请使用:

(function($){
  $(document).on('ready', function(){
    $('body').removeClass('no-js');
  })
})(jQuery)

使用no-js(已存在于WordPress中)<body>,只要构建DOM,它就会从jQuery元素中删除JavaScript类。如果脚本运行,js正常运行,那么该类不应出现在<body>上,对吧?我在document.ready上运行脚本,因为WordPress中的大多数脚本都绑定到window.loaddocument.ready运行no-js,因此该脚本可能会在您的插件运行之前运行。第

您的插件有可能会检查<body> phpjavascript是否存在functions.php,在实际构建页面并在其上运行add_filter( 'body_class', 'remove_nojs_from_body', 10, 1 ); function remove_nojs_from_body( $classes ) { if (in_array('no-js', $classes)) { unset( $classes[array_search('no-js', $classes)] ); } return $classes; } 之前。如果您要删除该级别的课程,则应将其添加到您的主题crypto_aead_xchacha20poly1305_ietf_encrypt

st