Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 防止在所有索引页面中运行js文件_Javascript_Jquery_Html - Fatal编程技术网

Javascript 防止在所有索引页面中运行js文件

Javascript 防止在所有索引页面中运行js文件,javascript,jquery,html,Javascript,Jquery,Html,我正在编写一个包含多个页面(索引到index.html)的网站,这些页面具有不同的内容,但是一个页眉和一个页脚。问题是我将footer.js文件链接到了所有页面(考虑到它需要相同的代码),但问题是加载多个页面时它会同时加载 它是一个jquery弹出窗口,所以当我单击以在index.html中显示它时,它也会显示在contact.html中 我不想为每个页面修改我的代码,特别是因为它在之后是动态的 下面是我的javascript: //打开弹出窗口 $('.cdv')。在('click',函数(

我正在编写一个包含多个页面(索引到index.html)的网站,这些页面具有不同的内容,但是一个页眉和一个页脚。问题是我将footer.js文件链接到了所有页面(考虑到它需要相同的代码),但问题是加载多个页面时它会同时加载

它是一个jquery弹出窗口,所以当我单击以在index.html中显示它时,它也会显示在contact.html中

我不想为每个页面修改我的代码,特别是因为它在之后是动态的

下面是我的javascript:

//打开弹出窗口
$('.cdv')。在('click',函数(事件){
event.preventDefault();
$('.cd popup').addClass('is-visible');
});
//关闭弹出窗口
$('cd popup')。在('click',函数(事件){
if($(event.target).is('.cd popup close')|$(event.target).is('.cd popup')){
event.preventDefault();
$(this.removeClass('is-visible');
}
});
//单击esc键盘按钮时关闭弹出窗口
$(文档).keyup(函数(事件){
if(event.which=='27'){
$('.cd popup').removeClass('is-visible');
}
});
//打开弹出窗口
$('.pdq')。在('click',函数(事件){
event.preventDefault();
$('#cd popup politique').addClass('is-visible');
});
//关闭弹出窗口
$(“#cd弹出式politique”)。在('click',函数(事件){
if($(event.target).is('.cd popup close')|$(event.target).is('#cd popup politique')){
event.preventDefault();
$(this.removeClass('is-visible');
}
});
//单击esc键盘按钮时关闭弹出窗口
$(文档).keyup(函数(事件){
if(event.which=='27'){
$('#cd popup politique').removeClass('is-visible');
}
});

您可以通过两种方法来完成,第一种方法是检查url路径名并执行代码以仅在符合条件时显示弹出窗口

var location = window.location.pathname;

// assume it's an index page
if (location === '/') {

  // execute your code to show a popup

}
如果路径名将包含
GET
属性,请改用
.indexOf()

对于此解决方案,您需要将
路径名
/
index.html
进行比较,具体取决于您的服务器设置

第二种解决方案可能是
.html
文件中的一个全局变量,例如在包含主javascript文件之前

<script>
window.popup = true;
</script>

文档:

您可以通过两种方法来完成,第一种方法是检查url路径名并执行代码以仅在符合条件时显示弹出窗口

var location = window.location.pathname;

// assume it's an index page
if (location === '/') {

  // execute your code to show a popup

}
如果路径名将包含
GET
属性,请改用
.indexOf()

对于此解决方案,您需要将
路径名
/
index.html
进行比较,具体取决于您的服务器设置

第二种解决方案可能是
.html
文件中的一个全局变量,例如在包含主javascript文件之前

<script>
window.popup = true;
</script>

文档:

谢谢你们的帮助,但我认为我解决了这个问题

实际上,导致这个错误的是Codekit(我用它来编译我的SASS文件和缩小js文件)。我无法解释为什么,但当我在没有软件的情况下在本地尝试它并将其推送到github以查看它是否有效时,它就起作用了

因此,如果有人能解释它,那就太好了,否则对于所有面临同样问题的人来说,只要你运行它,就不要关心codekit


谢谢。

谢谢你们的帮助,但我认为我解决了这个问题

实际上,导致这个错误的是Codekit(我用它来编译我的SASS文件和缩小js文件)。我无法解释为什么,但当我在没有软件的情况下在本地尝试它并将其推送到github以查看它是否有效时,它就起作用了

因此,如果有人能解释它,那就太好了,否则对于所有面临同样问题的人来说,只要你运行它,就不要关心codekit


谢谢。

我不太懂设置。您是呈现一个由不同html文件组合而成的页面,多次加载相同的脚本,还是模拟(?)加载不同的页面(在不同的选项卡或窗口中),每个页面都有相应的html文件?在后一种情况下,我看不出在一个页面中单击如何对其他页面产生任何影响(因为它们位于不同的选项卡/窗口中)。也许是你使用了“页面”这个词让我感到困惑。这里的交易是:index.html>running footer.js contact.html>running footer.js dispo.html>running footer.js。。。footer.js>一个文件运行在所有连接(链接)到index.html文件的页面上。是的,当我单击第一个选项卡上的链接(显示弹出窗口)时,弹出窗口也显示在所有其他选项卡中。你是指浏览器选项卡吗?他们应该有自己的(文档)范围。我不太了解设置。您是呈现一个由不同html文件组合而成的页面,多次加载相同的脚本,还是模拟(?)加载不同的页面(在不同的选项卡或窗口中),每个页面都有相应的html文件?在后一种情况下,我看不出在一个页面中单击如何对其他页面产生任何影响(因为它们位于不同的选项卡/窗口中)。也许是你使用了“页面”这个词让我感到困惑。这里的交易是:index.html>running footer.js contact.html>running footer.js dispo.html>running footer.js。。。footer.js>一个文件运行在所有连接(链接)到index.html文件的页面上。是的,当我单击第一个选项卡上的链接(显示弹出窗口)时,弹出窗口也显示在所有其他选项卡中。你是指浏览器选项卡吗?他们应该有自己的(文档)范围。谢谢你的帮助,但我试过了,它不起作用。我不太熟悉javascript,我只在前端使用jquery。那么,你确定吗?popup是一个有效的函数,因为我在互联网上搜索,没有得到任何东西,或者我应该用特定的东西替换它吗?第一个方法也是这样,fyi location是一个全局变量,所以我们不能使用,所以我只是更改它,仍然没有