从特定页面中排除javascript

时间:2018-01-23 00:54:42

标签: javascript php html wordpress

我有一个仅在我的website.com/index.php上运行的javascript,不包括所有链接,例如website.com/products/或website.com/services/。问题是,当我搜索某些内容时,它会将我带到website.com/search?=somethingsomething,并且应该只在我的主页上运行的javascript也会发生在那里。

如何排除javascript在所有其他根/页面中运行?

我正在使用Wordpress,我应该在functions.php页面中添加内容还是直接添加到我的.js文件中?

感谢。

2 个答案:

答案 0 :(得分:0)

有两种方法可以解决这个问题

方法1:仅在主页上排队

将主页只放置在脚本自己的文件中,然后在排队之前检查你是否在主页上。

add_action( 'wp_enqueue_scripts', 'so_48392593' );

function so_48392593() {
    if( is_front_page() ) {
        wp_enqueue_script( 'myscript', 'myscript.js' );
    }
}

方法2:检查它是否为带有JavaScript的主页

WordPress会将home类添加到<body>标记(如果它是主页),因此您可以在脚本运行之前对其进行测试。这个方法不太简单,因为插件或主题可以使用body_class过滤器更改正文类

if( jQuery( 'body' ).hasClass( 'home' ) ) {
    // Your JavaScript goes here
}

答案 1 :(得分:-2)

https://www.w3schools.com/tags/tag_comment.asp

引用:

提示和注释 您还可以使用评论标记来隐藏&#34;隐藏&#34;来自不支持脚本的浏览器的脚本(因此他们不会将它们显示为纯文本):

<script type="text/javascript">
<!--

function displayMsg() {
    alert("Hello World!")

}
//-->
</script> 

注意:注释行(//)末尾的两个正斜杠是JavaScript注释符号。这可以防止JavaScript执行 - &gt;标签