一个不太让人讨厌的自动弹出窗口

用弹出窗口来显示调查表,被认为是达到我们收集访问用户信息的最方便快捷的方法。当制作出第一份调查表后,我们客气的询问人们是否愿意填这份表,但结果却令人失望。于是我们决定把这份调查表放到我们主页里,当人们访问时就自动弹出,其效果出人意料的好。

下面就是我们成功的秘诀: 
   1:自动弹出窗口只能显示一次,不管用户是否填写了调查表。 
   2:自动弹出窗口不能影响主页的显示速度。 
   3:自动弹出窗口在用户填写完调查表后,自动消失。 
   4: 自动弹出窗口显示在屏幕的左上方。 
   5:自动弹出窗口里不要加广告,因为我们的目的是得到用户的调查报告。

为了判断是否弹出窗口,我们用了一个小小的cookie。我们定义一个cookie可以多次使用并且判断多个弹出窗口。我们给这个cookie起名为“s”,它包含所有已经弹出的窗口的id。 
   现在,当用户访问主页时,我们判断请求的id是否已经包含在cookie中。如果cookie不存在,我们弹出窗口并且写入cookie,以防止窗口再次弹出。 
   在下面的例子里,我们在服务器端写入cookie,用javascript一样可以实现,我们选择服务器端,是因为它比较简单。 
   在我们主页的最开始,我们执行一下asp代码.这段代码要放在HTML输出之前,因为我们需要编辑header。 
   <% 
   Dim bSurvey ' 是否显示调查表 
   const bID="1" ' 调查表的id

bSurvey=false 
   ' 检查调查表是否已经显示过 
   if instr(request.cookies("s"),":" & bID & ":")=0 then 
   ' 调查表没有显示,更新cookie

' 设定cookie过期时间为60天 
   response.cookies("s").expires = DateAdd("d",60,now()) 
   ' 设定路径 
   response.cookies("s").path = "/" 
   ' 写入cookie 
   response.cookies("s") = request.cookies("s") & ":" & bID & ":"

bSurvey=true 
   end if 
   %>

我们给每个调查表一个id,如果你有多个弹出窗口,可以很容易的有计划的输出。

我们在页尾加入一段asp脚本去判断是否弹出窗口,这段脚本方在页末,不影响主页的下载速度。这段脚本十分简单,它用window.open()来打开新窗口。

<% if bSurvey then %> 
   <SCRIPT> 
   window.open("/survey/displaysurvey.asp?q=" & bID,"SURVEY","width=350,height=400,top=0,left=0,scrollbars=yes") 
   </SCRIPT> 
   <% end if %>

(0)

相关推荐

  • 一个不太让人讨厌的自动弹出窗口

    用弹出窗口来显示调查表,被认为是达到我们收集访问用户信息的最方便快捷的方法.当制作出第一份调查表后,我们客气的询问人们是否愿意填这份表,但结果却令人失望.于是我们决定把这份调查表放到我们主页里,当人们访问时就自动弹出,其效果出人意料的好. 下面就是我们成功的秘诀:     1:自动弹出窗口只能显示一次,不管用户是否填写了调查表.     2:自动弹出窗口不能影响主页的显示速度.     3:自动弹出窗口在用户填写完调查表后,自动消失.     4: 自动弹出窗口显示在屏幕的左上方.     5:

  • Java实现两人五子棋游戏(三) 画出棋子

    上一篇文章讲的是Java实现两人五子棋游戏(二) 画出棋盘,已经画好棋盘,接下来要实现控制功能,主要功能: 1)选择棋子 2)画棋子 3)判断胜负 4)交换行棋方 先实现画棋子PART -------------画棋子代码示例如下-------------- 首先,定义一个棋子类,这个类有两个属性,棋子颜色(0-表示黑色,1-表示白色),是否落子(我计划用一个二维数组才存储棋子的落子信息) Chessman.java package xchen.test.simpleGobang; public

  • Java实现两人五子棋游戏(二) 画出棋盘

    本文为大家分享了java画出五子棋游戏棋盘的方法,供大家参考,具体内容如下 棋盘模块: 画五子棋棋盘:19条横线.19条竖线 步骤一:显示棋盘 我有一张名为chessboard.png的棋盘,位置为根目录/res/drawable/chessboard/png,现在我要显示这张图片. DrawChessBoard.java package xchen.test.simpleGobang; import java.awt.Graphics; import java.awt.Image; impor

  • Vue中使用element-ui给按钮绑定一个单击事件实现点击按钮就弹出dialog对话框

    目录 1.需求描述 2.功能实现 1.创建按钮 2.创建对话框 3.对话框与按钮的绑定 3.对话框表单的改造 4.对“状态”Switch开关所提交的类型进行修改 5.完整代码 总结 1.需求描述 想要实现点击一个按钮就弹出一个对话框,在对话框中可输入数据进行提交,在点击取消时对话框关闭 2.功能实现 1.创建按钮 在element中把找到按钮的代码放到div里 <el-row> <el-button type="primary" plain>新增</el-

  • 一个真实的故事:IT人离开IT还能干什么

    今天一位同事(已三十多了),被老板叫到他的办公室去.老总对他说,由于效益不好,公司不再和他续订到期的合同!我看到他很落寞地离去.他前年才结婚,还供着房子,老婆孩子要养,这一下子就失业了,而且又是快过年的时候!我跑去和他道别,他没有说什么,只让我好好干,公司还是大有前途的.  www.it130.cn 他是一个好人,在技术上决不保密.记得三年前我刚进公司的时候,他正是公司的主力,他对我这个应届毕业生十分关照,只要我不懂的,他一定尽力相告.那时公司的老板也很器重他,可能是正当壮年的时候(还有很多剥削

  • VBScript:Join 函数一个不太常用,却很有用的函数

    以前没有注意到这个函数,直到今天用起来才觉得这个函数很有用,确实不错 ,先记一下用法看看. Join 函数 返回一个字符串,此字符串由包含在数组中的许多子字符串联接创建. Join(list[,delimiter]) 参数 list 必选项.包含要联接的子字符串一维数组. Delimiter 可选项.在返回字符串中用于分隔子字符串的字符.如果省略,将使用空字符 ("").如果 delimiter 是零长度字符串,则在同一列表中列出全部项,没有分界符. 说明 下面的示例利用 Join 函

  • 网站推广的20种办法

    一个网站要推广,打造自己的品牌,首先要做到有比较好的内容,比教好的用户体验.如果没法做到这些,先别宣传网站,要不等网站做得好点了再宣传,要不转行!以下是我总结的一些网站推广的办法. 1.收集各个新闻网站编辑的邮件地址,给他们递交新闻.自己多想想人家的新闻为什么能发表,多找些新闻点.(有条件的最好能有个擅长搞公关的,或者做过记者,擅长写新闻搞的,专门做这个事) 2.发过你的新闻的编辑重点对待.以后有新闻可以先发给他们,甚至是独加新闻. 3.有一种东西叫黑板报,BLOG,专门记录企业的新闻的,GOO

  • 用VBScript制作QQ自动登录的脚本代码

    一直用的是狂人版的QQ,也用它附赠的自动登录器很久了,不过最近一版的狂人QQ不知为何取消了自动登录组件.好在QQ2009已经能够同时记住多个号码的密码,虽然要多点击几下,但依然能够实现免输入密码登录. 谁知最近不知道电脑发了什么疯,每隔一段时间,QQ记住的密码就会被清空.我的两个QQ号密码都设置得比较复杂,每次登录要输入两遍密码实在是件痛苦的事情,于是决定自制一个登录器. 在网上找了许久,发现了一个用VBS制作QQ登录脚本的办法: 复制代码 代码如下: set WshShell = WScrip

  • JavaScript 高效运行代码分析

    作者 Mark 'Tarquin' Wilton-Jones · 2006年11月2日 本文翻译自 Efficient JavaScript 原译文地址 http://kb.operachina.com/node/207 传统上,网页中不会有大量的脚本,至少脚本很少会影响网页的性能.但随着网页越来越像 Web 应用程序,脚本的效率对网页性能影响越来越大.而且使用 Web 技术开发的应用程序现在越来越多,因此提高脚本的性能变得很重要. 对于桌面应用程序,通常使用编译器将源代码转换为二进制程序.编译

  • Pycharm编辑器功能之代码折叠效果的实现代码

    1.主题 在一些情况下,如果某些代码显得不太重要,我们可以通过Pycharm的代码折叠功能将其折叠为一行.在接下来的部分我们将介绍代码折叠功能基本用法. 2.代码可折叠轮廓线以及折叠开关 首先,我们观察一下代码左侧的折叠线.这条细线显示在代码左侧,标记了代码块区域.当代码处于未折叠状态时,线的开头和结尾分别显示折叠开关和:当代码块折叠之后,两个开关标志将会合并成一个,折叠后的代码只显示第一行,其他行隐藏在三个点号后面.单击这个加号的标志即可将折叠代码展开. 将鼠标指针悬停在折叠线上,折叠线会加粗

随机推荐