首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Jquery仅显示在特定页面上。

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

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

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

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

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

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

代码语言:javascript
代码运行次数:0
运行
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
代码运行次数:0
运行
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
代码运行次数:0
运行
AI代码解释
复制
var isCookieSet = typeof $.cookie('video') === 'undefined';

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

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

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

代码语言:javascript
代码运行次数:0
运行
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

复制
相关文章
墨卡托坐标
什么是墨卡托投影? 墨卡托(Mercator)投影,又名“等角正轴圆柱投影”,荷兰地图学家墨卡托(Mercator)在1569年拟定,假设地球被 围在一个中空的圆柱里,其赤道与圆柱相接触,然后再假
苦咖啡
2018/05/08
1.2K0
使用opennlp进行词性标注
词性(Part of Speech, POS),标注是对一个词汇或一段文字进行描述的过程。这个描述被称为一个标注。
code4it
2018/09/17
9150
使用opennlp进行文档分类
要对文档进行分类,需要一个最大熵模型(Maximum Entropy Model),在opennlp中对应DoccatModel
code4it
2018/09/17
8320
使用opennlp进行依存句法分析
opennlp主要使用Parse来进行依存句法分析,其模型为ParserModel
code4it
2018/09/17
9350
Web墨卡托公开的小秘密
所谓地图投影,是利用一定数学法则把地球表面的经、纬线转换到平面上的理论和方法。由于地球是一个赤道略宽两极略扁的不规则的梨形球体,故其表面是一个不可展平的曲面,所以运用任何数学方法进行这种转换都会产生误差和变形,为按照不同的需求缩小误差,就产生了各种投影方法,eg:墨卡托投影,高斯克吕格投影, Lambert__投影,UTM__投影…
用户9580384
2022/10/05
2.8K0
Web墨卡托公开的小秘密
使用opennlp自定义命名实体
opennlp的自定义命名实体的标注,给以了一定定制空间,方便开发者定制各自领域特殊的命名实体,以提高特定命名实体分词的准确性。
code4it
2018/09/17
1.3K0
用墨卡托和GPS坐标计算距离时误差测试
iOS墨卡托和GPS坐标计算距离时误差测试,测试结果: 墨卡托和gps坐标来回转换没有误差。 墨卡托坐标计算出的距离比gps坐标计算出的距离大,100/92*100 = 108米,每100米多算出8米。 故随着导航距离缩短,误差会逐渐变小。 log 25.780135+0800 gps_mktDistanceTest[91276:1928266] mkt dis = 10.00 25.781216+0800 gps_mktDistanceTest[91276:1928266] gps dis = 9.20
woopDast1
2020/09/04
2.1K0
寻找阿托卡之旅:量化投资一席谈
体育系列新增3篇文章 主讲嘉宾:董艺婷 主持人:中关村大数据产业联盟 副秘书长 陈新河 承办:中关村大数据产业联盟 嘉宾介绍: 现任光大富尊投资有限公司研究总监。富尊是一家纯量化管理的投资公司,管理团队为前国信证券金融工程研究团队,曾连获国内金融工程最佳团队荣誉,是国内本土组建时间最长的量化团队,团队核心成员从2005年起就参与国内市场衍生品创新工作,对本土金融创新和量化投资的痛全程感受。 以下为分享实景全文: 现在我所在的公司 是一个完全以量化模式投资和管理的公司。 作为国内最早涉猎量化投资的团队,我
大数据文摘
2018/05/21
5980
在Excel及Power BI中实现帕累托分析(80/20法则)
帕累托法则俗称80/20法则,即约80%的结果是由该系统中约20%的变量产生的。例如,20%的客户贡献了80%的收入,20%的产品贡献了80%的销售等等,意在帮助我们抓住工作中的关键事项。那么如何快速的进行帕累托分析?本文分别介绍下帕累托分析在Excel和Power BI desktop当中的应用。
wujunmin
2021/09/07
2.6K0
在Excel及Power BI中实现帕累托分析(80/20法则)
在Vue中初次使用装饰器(Decorator)
---- 1. 扩展eslintConfig配置 { "eslintConfig": { ... "parserOptions": { ... "ecmaFeatures": { "legacyDecorators": true } } ... } } 2. 关闭Vetur提示(项目级别) { "vetur.validation.script": false, } 3. 新建装饰器函数: src\d
前端小鑫同学
2022/12/25
1.5K0
在Vue中初次使用装饰器(Decorator)
【android】在eclipse中查看genymotion模拟器的sd卡文件夹
假设用google自带模拟器或者真机调试时,sd卡文件夹是在/mnt/sdcard。这个相信大家都知道。
全栈程序员站长
2022/07/10
1.3K0
【android】在eclipse中查看genymotion模拟器的sd卡文件夹
机器学习在信用评分卡中的应用
Playing Atari with Deep Reinforcement Learning论文解读
SIGAI学习与实践平台
2018/12/13
1.2K0
机器学习在信用评分卡中的应用
互联网金融,特别是P2P信贷在过去几年可以说经历了大起大落的过山车。在经历了2016、2017年的高速发展后,随着整体经济环境遇冷、政策层面监管趋严,行业已进入洗牌周期。特别是随着18年7月P2P暴雷潮的出现,更是为行业前途蒙上一层迷雾。
SIGAI学习与实践平台
2018/11/14
2.7K1
机器学习在信用评分卡中的应用
卡方检验在关联分析中的应用
case/control的关联分析,本质是寻找在两组间基因型分布有差异的SNP位点,这些位点就是候选的关联信号,常用的分析方法有以下几种
生信修炼手册
2019/12/17
2.3K0
超全!基于Java的机器学习项目、环境、库...
原文标题:Java Machine Learning 作者:Jason Brownlee 翻译:杨金鸿 校对:丁楠雅 本文长度为3000字,建议阅读8分钟 本文介绍了主要的平台和开放源码的Java机器学习库。 你是一名希望开始或者正在学习机器学习的Java程序员吗? 利用机器学习编写程序是最佳的学习方式。你可以从头开始编写算法,但是利用现有的开源库,你可以取得更大的进步。 本文介绍了主要的平台和开放源码的机器学习库。你可以使用这些机器学习库。 环境 本节描述了用于机器学习的Java环境或工作域。它们提供
数据派THU
2018/01/30
2.3K0
超全!基于Java的机器学习项目、环境、库...
使用Jupyterlite在浏览器中运行Jupyter Notebook
Jupyter是一个交互式的 Python 开发环境,以 Ipython Kernel 为执行引擎,支持多种前端(Jupyter Notebook,Jupyter Lab,VS Code Jupyter 拓展),围绕.ipynb 格式的 notebook 文件,支持将代码、文档、图表、数学公式等内容整合在一起,方便用户进行交互式的开发。
杜逸先
2023/04/13
2.7K0
使用Jupyterlite在浏览器中运行Jupyter Notebook
Giffgaff 卡国内使用教程(已有卡)
准备:giffgaff SIM 卡片( SIM 卡本体,最好是整个卡片),可以境外付款外币的 VISA/MasterCard 银行卡(信用卡、借记卡都可以),我使用的是中行非人哉外币借记卡。刚开始用广发美运卡,giffgaff 说不支持 Amex 的卡。 操作: 一、激活卡片
纯情
2023/04/26
7.6K0
使用VBA在PowerPoint中创建倒计时器
首先,在幻灯片中插入一个矩形形状,用来显示倒计时时间。为便于识别,将该形状命名为“countdown”。
fanjy
2023/08/30
2.5K0
使用VBA在PowerPoint中创建倒计时器
火焰传感器在Arduino中的使用方法
在智能家居环境监测项目需要使用的传感器元件中,火焰传感器是一种简单易用的传感器。它使用红外线接收管作为基本元件,通过电位器来调整灵敏度(阈值),有的模块有三个引脚(支持数字信号输出),有的模块有四个引脚(同时支持数字信号和模拟信号输出);
小雨coding
2020/06/09
3.4K0
火焰传感器在Arduino中的使用方法
探索异步迭代器在 Node.js 中的使用
上一节讲解了迭代器的使用,如果对迭代器还不够了解的可以在回顾下《从理解到实现轻松掌握 ES6 中的迭代器》,目前在 JavaScript 中还没有被默认设定 [Symbol.asyncIterator] 属性的内建对象,但是在 Node.js 中已有部分核心模块(Stream、Events)和一些第三方 NPM 模块(mongodb)已支持 Symbol.asyncIterator 属性。本文也是探索异步迭代器在 Node.js 中的都有哪些使用场景,欢迎留言探讨。
五月君
2020/12/14
7.6K0
探索异步迭代器在 Node.js 中的使用

相似问题

如何在OpenNLP中训练托卡器?

12

Python OpenNLP包装器-托卡器停留在\n

18

OpenNLP托卡器没有检测到属于一起的单词吗?

33

StanfordNLP托卡器

12

使用Stanford的词托卡器

28
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文