Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Jquery仅显示在特定页面上。

Jquery仅显示在特定页面上。
EN

Stack Overflow用户
提问于 2014-12-12 02:22:10
回答 1查看 548关注 0票数 0

我正在使用jQuery Cookie和Fancybox显示一些挑逗视频。

我在页面底部设置了一个自定义链接,如下所示:

代码语言:javascript
运行
AI代码解释
复制
<a class="fancybox-cookie" href="http://www.youtube.com/embed/the_video_link?autoplay=1&rel=0"></a>  

在我的jQuery中,我像这样显示视频:

代码语言:javascript
运行
AI代码解释
复制
    (function($){
    $(document).ready(function() {

        //Cookie
                $.cookie('video', 'some_value', { path: '/events' });

                $('.fancybox-cookie').fancybox({
                openEffect      : 'elastic',
                closeEffect     : 'elastic',
                padding         : 20,
                maxWidth        : 800,
                maxHeight       : 600,
                fitToView       : false,
                width           : '70%',
                height          : '70%',
                autoSize        : false,
                type            : 'iframe',         
                }).trigger('click');
        //$.removeCookie('video');   
    });
})(jQuery);

正如您从代码中看到的那样,我试图使用cookie调用视频,但只在特定的页面上调用,在本例中是/events页面。即使我这样做,视频显示在每一页。

我的整个想法是,每次当用户进入网站并访问“事件”页面时,Fancybox将显示视频,但如果访问者检查其他页面,则不应该显示视频。

我哪里出问题了?

这是我尝试过的另一种方法,它只显示一次,我设置的过期时间为2400分钟,在此之前,我只设置了一分钟,它是可以的,但它仍然显示在每个页面上。

代码语言:javascript
运行
AI代码解释
复制
(function($){
$(document).ready(function() {
    if ($(window).width() > 768) {

    //Cookie
    var check_cookie = $.cookie('video');
    var date = new Date();
    var minutes = 2400;
    date.setTime(date.getTime() + (minutes * 60 * 1000));
    if(check_cookie == null) {
        $.cookie('video', 'some_value', { expires: date, path: '/events' });

        $('.fancybox-cookie').fancybox({
        'openEffect':    'elastic',
        'closeEffect':   'elastic',
        'padding'           : 20,
        'autoScale'         : false,
        'width'             : 800,
        'height'            : 705,
        'type'              : 'iframe', 
        'scrolling'         : 'no'      
        }).trigger('click');            
     }
     else {
        return false;   
    } 

    //$.removeCookie('video'); 
    }
});

})(jQuery);

编辑:我后来意识到,在我的第一个例子中,我的错误是在每个页面上调用.trigger(),所以它必须有一些逻辑,比如在我的第二个示例中,如果状态器是t,那么它必须有一些逻辑,但是为什么每个页面上都会有这个视频呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-12 07:12:59

根据Rob在这个线程中的回答,以及我以前使用jQuery Cookie插件的情况,path参数定义了该cookie的可用和可访问的URL。

此外,根据jQuery Cookie 文档 on gitHub:

  1. 当您删除cookie时,首先需要使用您传递的设置来创建它;
  2. 当您测试是否设置了cookie时,需要检查它是否是undefined,而不是null,如下所示:
代码语言:javascript
运行
AI代码解释
复制
var isCookieSet = typeof $.cookie('video') === 'undefined';

尽管如此,我还是不明白为什么您需要求助于jQuery Cookie,因为您只能在Events页面中显示链接(并触发链接),如下所示:

代码语言:javascript
运行
AI代码解释
复制
jQuery(function($) {
    $(document).ready(function() {
        if( window.location.href.search(/\/events/) > -1 ) $(".fancybox-cookie").trigger("click");
    });
});

如果您之所以求助于jQuery Cookie,是因为您只想发射一次视频,并且能够检测到它是否已经被触发,那么在这种情况下,它将是有意义的,您可以这样做:

代码语言:javascript
运行
AI代码解释
复制
jQuery(function($) {
    $(document).ready(function() {
        if( window.location.href.search(/\/events/) > -1 ) {
            if( typeof $.cookie('video') === 'undefined' ) {
                var date = new Date();
                var minutes = 2400;
                date.setTime(date.getTime() + (minutes * 60 * 1000));
                $.cookie('video', 'some_value', { expires: date });
                $(".fancybox-cookie").trigger("click");
            }
        }
    });
});

不需要设置path变量,因为同样根据Docs,默认的路径值是cookie创建的url。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27441511

复制
相关文章
[mobile开发碎碎念]手机页面上显示PDF文件
demo:http://mozilla.github.io/pdf.js/web/viewer.html
用户1172164
2018/07/31
8870
[mobile开发碎碎念]手机页面上显示PDF文件
demo:http://mozilla.github.io/pdf.js/web/viewer.html 项目地址:https://github.com/mozilla/pdf.js <script type="text/javascript"> // // NOTE: // Modifying the URL below to another server will likely *NOT* work. Because of browser // security rest
用户1172164
2018/01/16
1.3K0
如何使用penguinTrace在硬件层面上显示代码运行状况
penguinTrace旨在帮助广大安全研究人员更好地理解程序代码是如何在硬件级别运行的,该工具提供了一种方法,可以查看代码会编译成什么指令,然后单步执行这些指令,查看它们如何影响机器状态,以及如何映射回原始程序中的变量。
FB客服
2022/11/14
9390
如何使用penguinTrace在硬件层面上显示代码运行状况
在文章页中显示摘要的方法 可用做文章页描述
刚刚在论坛里有人“问怎么样把添加文章时的所填的“文章摘要”的内容变为该文章的描述(即description) ”,以下是解决方法:
用户8099761
2023/05/10
8880
【坚果派】HarmonyOS 以及OpenHarmony中如何选择图片,并显示在桌面上
【坚果派】HarmonyOS 以及OpenHarmony中如何选择图片,并显示在桌面上
徐建国
2023/08/10
4240
【坚果派】HarmonyOS 以及OpenHarmony中如何选择图片,并显示在桌面上
SAP MM MIGO界面上的Freight标签页
这是笔者玩SAP系统十多年来第一次知道的,就在今天,就在刚刚。自然引起了笔者强烈的好奇心。经过上网查资料,得到了一些有用的信息,整理成本文,算是做一个学习笔记吧!
SAP虾客
2022/01/25
7800
SAP MM MIGO界面上的Freight标签页
如何使特定的数据高亮显示?
当表格里数据比较多时,很多时候我们为了便于观察数据,会特意把符合某些特征的数据行高亮显示出来。这不,公司的HR小姐姐就有这个需求,说她手头上有一份招聘数据,她想把“薪水”超过20000的行突出显示出来,应该怎么操作呢?
猴子聊数据分析
2020/02/26
5.7K0
weex eros APP 如何在vue页面显示图片,循环添加多张图片显示在vue页面上
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/acoolgiser/article/details/89016852
acoolgiser
2019/04/17
2K0
让 Firefox 只在新标签页 newtab 显示书签栏
Firefox Developer Edition(开发者版)默认支持在新标签页打开书签栏。
eallion
2022/12/20
1.2K0
让 Firefox 只在新标签页 newtab 显示书签栏
仅允许特定用户组通过NetScaler访问虚拟桌面
通常情况下我们的AD环境是为企业内多个业务系统提供服务,在交付Citrix VirtualDesktop环境后,我们通常会通过Citrix ADC(原名叫NetScaler)设备作为安全代理网关进行虚拟桌面访问,默认情况下Citrix ADC与AD集成后,所有用户都允许登录,只不过未经授权的用户无法看到任何资源。
SuperDream
2020/06/03
1.2K0
jquery easyui菜单树显示
目前做了一个easyui项目需要显示多级菜单,菜单配置到数据库中,因此每级菜单都需要到数据库中取,用了jQuery EasyUI方便多了。
全栈程序员站长
2022/07/15
3.4K0
在jquery中用下拉框列表显示默认的值
1、在postUpdate.jsp中添加js如下: <script type="text/javascript"> $(document).ready(function(){ var qx_value = $('#qx_select_value').val(); $("#qx_select option[value='"+qx_value+"']").attr("selected", "selected"); }) </script> 核心代码就这一句话: $("
qubianzhong
2018/08/10
3.6K0
jQuery Verbose Calendar:显示整年的 jQuery 日历插件
jQuery Verbose Calendar 是一个可以把整年的日历显示在一个页面上的 jQuery 插件,加载之后,它会自动滚到今天的日期处,当你鼠标移动到日期上,可以显示今天星期几。并且这个日历插件支持 Callback 函数,当你点击某个日期的时候,你可以执行一些自定义行为,或者插入任意的 HTML 元素。
Denis
2023/04/15
2K0
在GridView内访问特定控件
本文我将为你演示如何访问GridView中的特定控件。我们会看到怎样去访问TextBox控件,DropDownList控件以及ListBox控件。
Java架构师必看
2021/03/22
2.6K0
jquery等待特定元素加载再执行相关函数
默认是执行100次,每次间隔20毫秒,最长等待时间是2000毫秒(2秒),如果要一直等待到元素出现,可以将100改成任意负数。
怪兽
2022/10/04
1.4K0
SpringMVC+jquery.pagination分页显示
最近在做ES全文搜索,需要做个类似于百度搜索下面分页的组件。 找了很多,最后发现jquery.pagination实现分页很方便。
程裕强
2022/05/06
1.5K0
SpringMVC+jquery.pagination分页显示
【jQuery动画】显示与隐藏效果
在网页开发中,适当地使用动画可以使页面更加美观,进而增强用户体验。jQuery中内置了一系列方法用于实现动画,当这些方法不能满足实际要求时,用户也可以自定义动画。本期我们一起来了解一下显示与隐藏效果吧~
颜颜yan_
2022/12/01
6.8K0
【jQuery动画】显示与隐藏效果
点击加载更多

相似问题

面板仅显示在特定页面上

10

WordPress侧边栏:仅显示在特定页面上

22

Jquery在同一页面上同时弹出显示。

14

EL表达式仅显示在特定的JSP页面上。

12

jQuery -在页面上隐藏和显示特定的iFrames

24
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文