`
Classicning
  • 浏览: 251448 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

VeryFTP广告

    博客分类:
  • WEB
阅读更多
这次做的VeryFTP的广告采用cookie在客户端保存用户是否看过广告,如果没有看过(第一次访问)则以全屏的方式呈现一个广告;对于看过的用户,则是在右下角飘出一个并不令太人厌恶的小框(不管怎么说,它都是广告)。

首先写setCookie函数,它的功能是存储cookie,有效时间设置为30天。通常说到cookie的时间会有两种选择,一种是max-age,一种是expires,前者以秒来计算,但是为“非持久”cookie,即随浏览器进程的结束而失效,后者以日期来计算,属于“持久”cookie。我们选择后者,初始化一个Date对象,通过setMonth方法将它的月份加一。用以下语句写入cookie:

document.cookie = "VeryFTPNoticement = flase; expires=" + expDate.toGMTString();


然后是getCookie函数。用正则匹配cookie中“VeryFTPNoticement”这个字符串,如下:

var arr = document.cookie.match(new RegExp("(^| )"+"VeryFTPNoticement"+"=([^;]*)(;|$)"));

如果没有找到,arr即为null,据此判断用户是否曾经访问。

全屏广告的写法
其效果如sf上选择镜像站点的效果。
首先获取浏览器窗口的宽高(注意不是屏宽),在Firefox等浏览器中window.innerWidth和window.innerHeight保存着窗口宽高;IE中则是在document.documentElement.clientWidth和document.documentElement.clientHeight中,可以用一个简单的三目运算符获取我们需要的值。
接下来就可以用document.createElement方法创建一个div,设置它的style,宽高分别是刚刚得到的窗口宽高,绝对定位,左边距0,上边距0,设置一张背景图片:用Fireworks快速制作一张透明的PNG8,效果相当不错,唯一有些遗憾的是IE6并不支持PNG透明,虽然可以实现,但要废一番周折,这里不去讨论。
再创建一个div;用document.createTextNode方法创建一些文字;创建两个input,设置属性type为button,value分别是“确定”“取消”,绑定onclick事件,确定则window.location到veryftp,取消则document.body.removeChild,参数是我们最先创建的div名。最近创建的div设置一些style,定位方面我推荐用margin而非top、left,当然也是个人习惯问题。
接下来就是把这些对象一个一个append到它的上一级中。有一点要注意,在IE7中直接append按钮,按钮的定位会有明显的错误(目前为止发现IE7为数不多的bug之一),解决方法很简单,就是在两个button之外再套一个div。最后全部存放在document.body中即可。

右下角升起的广告
首先依然如同上面所说的方法创建相关的DOM对象,然后用setTimeout实现一个类似递归,设置一个间隔,每次减少一些即可。

总得来说,还是一个劳动力密集型的工作。
分享到:
评论

相关推荐

    ipython-8.3.0.tar.gz

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    微信天气预报类小程序源码下载

    天气预报小程序源码,天气类微信小程序源码。API使用的是和风天气。 可以提供实时全国天气气象信息,及时发布天气预报、灾害预警、气象云图、旅游天气、台风、暴雨雪等气象信息, 为我国的生产生活提供全面精确的气象服务。

    SA(Simulated Annealing).zip

    多种智能优化算法设计开发应用,可供学习交流,不断更新资源

    Java高级架构师-设计思想总结

    以脑图的方式,结构非常清晰的整理日常设计的思想及总结

    毕业设计MATLAB_计算最大熵问题的拉格朗日乘数.zip

    毕业设计MATLAB_计算最大熵问题的拉格朗日乘数.zip

    Lyrics-Finder-main.zip

    这是为歌词查找器Web应用程序构建和管理Flask项目的指南。它强调简单性、代码可读性和最佳实践。提供了分步说明,从设置Flask项目、处理依赖项、呈现HTML模板和集成CSS开始。这篇文章结合了Python、HTML和JavaScript来创建一个交互式Web应用程序。

    IT技术交流分享平台 JAVA+Vue+SpringBoot+MySQL

    基于Vue.js和SpringBoot的IT技术交流分享平台,分为管理后台和用户网页端,可以给管理员、普通用户使用,包括笔记类型模块、笔记档案模块、笔记分享模块、系统轮播图模块和系统基础模块,项目编号T053。 项目录屏:https://www.bilibili.com/video/BV1aW4y1w7sC 启动教程:https://space.bilibili.com/417412814/channel/collectiondetail?sid=1586393 项目讲解视频:https://space.bilibili.com/417412814/channel/collectiondetail?sid=2242844

    notebook-6.5.5.tar.gz

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    JAVA图书馆项目代码

    JAVA图书馆项目代码

    DEGLS.zip

    多种智能优化算法设计开发应用,可供学习交流,不断更新资源

    C语言入门教程 第1章:C语 言简介

    c语言入门 C语言入门教程 第1章:C语言简介 C语言是一种通用的编程语言,由Dennis Ritchie在20世纪70年代初开发。它广泛用于系统软件和应用程序软件的编写。 第2章:环境搭建 安装开发工具 对于Windows:可以使用MinGW或者Visual Studio。 对于Linux:大多数发行版自带GCC编译器。 对于Mac:可以使用Xcode或Homebrew来安装GCC。 编写第一个程序 打开文本编辑器,创建一个新文件,命名为hello.c。 编写以下代码:

    Golang_GoGio示例存储库的镜像.zip

    Golang_GoGio示例存储库的镜像

    团长头像制作小程序源码 支持流量主

    最近各类团长挺火的 然后就诞生了这款团长头像制作器 支持流量主模式 支持自定义文字,和拥有各种团长模板等等。

    笔记分享:VPR-用于FPGA研究的一种新的打包、布局与布线工具

    FPGA EDA研究论文读书笔记分享

    libaacs-debuginfo-0.5.0-1.fc17.armv5tel.rpm

    安装:rpm -i xx.rpm

    一些 c语言入门 教程 和例子

    c语言入门 一些 c语言入门 教程 和例子

    EJAYA-enhanced-Jaya-algorithm.zip

    多种智能优化算法设计开发应用,可供学习交流,不断更新资源

    多功能医疗健康手表设计制作,可测量心率,体温 实现计步器,比赛作品

    本作品设计了一种可以同时检测心率和体温,并可以实现计步功能的手表,该装置包括单片机控制器、MLX90614红外测温模块、MMA7455计步模块、系统实时时钟、Pulse Sensor心率模块、OLED12864显示模块、nRF24L01无线通信模块和计算机控制软件、电源九部分。 利用MLX90614红外测温模块及Pulse Sensor心率模块采集到人的实时体温和心率数据,通过nRF24L01无线通信模块将采集到的数据发送到单片机控制器,经过STC89LE5A60S2微控制器进行数据处理,再将数据传到OLED12864显示,并通过数据线串口发送数据到电脑,然后通过LabVIEW软件对采集到的数据进一步的处理和分析。

    微信小程序-HiApp 微信小程序版小程序项目源码-原生开发框架-含效果截图示例.zip

    微信小程序凭借其独特的优势,在移动应用市场中占据了一席之地。首先,微信小程序无需下载安装,用户通过微信即可直接使用,极大地降低了使用门槛。其次,小程序拥有与原生应用相近的用户体验,同时加载速度快,响应迅速,保证了良好的使用感受。此外,微信小程序还提供了丰富的API接口,支持开发者轻松接入微信支付、用户授权等功能,为开发者提供了更多的可能性。 微信小程序-项目源码-原生开发框架。想要快速打造爆款小程序吗?这里有一份原生开发框架的项目源码等你来探索!基于微信小程序的强大生态,这份源码将带你领略原生开发的魅力,实现快速迭代与高效开发。从用户授权到微信支付,从界面设计到功能实现,一切尽在掌握。赶快下载查看,让你的小程序项目在竞争激烈的市场中脱颖而出!

    微信小程序-仿手机淘宝小程序项目源码-原生开发框架-含效果截图示例.zip

    微信小程序凭借其独特的优势,在移动应用市场中占据了一席之地。首先,微信小程序无需下载安装,用户通过微信即可直接使用,极大地降低了使用门槛。其次,小程序拥有与原生应用相近的用户体验,同时加载速度快,响应迅速,保证了良好的使用感受。此外,微信小程序还提供了丰富的API接口,支持开发者轻松接入微信支付、用户授权等功能,为开发者提供了更多的可能性。 微信小程序-项目源码-原生开发框架。想要快速打造爆款小程序吗?这里有一份原生开发框架的项目源码等你来探索!基于微信小程序的强大生态,这份源码将带你领略原生开发的魅力,实现快速迭代与高效开发。从用户授权到微信支付,从界面设计到功能实现,一切尽在掌握。赶快下载查看,让你的小程序项目在竞争激烈的市场中脱颖而出!

Global site tag (gtag.js) - Google Analytics