Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[发布] 提示游客登录或注册,带时间倒数、Cookie 有效期和关闭提示10.04 01:08更新

[复制链接]
我上网来摘星星 发表于 2006-10-2 16:30:36 | 显示全部楼层 |阅读模式
难度: 易
修改: 一个文件
功能: 带有时间倒数和Cookie 有效期供选择,以前虽然有,但这个更方便。详情见演示,可选每页显示或只首页显示。
作者: 上网摘星星
演示: http://bbs.xvsky.com

有朋友说提示时间太长影响浏览,特加入“关闭提示”按钮,时间未完也可关闭。

经过测试:有安全提问和回复的用户在未输入安全提问和回答的情况下会自动要求其输入,并不会对用户登录带来什么麻烦,所以建议不用加入安全提问

另外,已经设置为默认15秒。

详情查看演示http://bbs.xvsky.com

简化版:

游客注册提醒 for Discuz! 5.0.0!非原创!
https://discuz.dismall.com/thread-418519-1-1.html


修改templates/风格目录/discuz.htm [ 如果要每页都显示(可能性太小了)请修改templates/风格目录/footer.htm ]

修改时间方法:

一、
  1. timePopup=14;
复制代码


二、
  1. var secs = 15;
复制代码


比如要修改为60秒,将第一个修改为59,第二个修改为60


在文件末尾插入

  1. <!--登录提醒开始-->
  2. <!--{if !$discuz_user}--><SCRIPT language=JavaScript1.2>
  3. timePopup=14;
  4. var ns=(document.layers);
  5. var ie=(document.all);
  6. var w3=(document.getElementById && !ie);
  7. adCount=0;
  8. function initPopup(){
  9.         if(!ns && !ie && !w3){
  10.                 return;
  11.         }
  12.         if(ie){
  13.                 adDiv=eval('document.all.windlocation.style');
  14.         }else if(ns){
  15.                 adDiv=eval('document.layers["windlocation"]');
  16.         }else if(w3){
  17.                 adDiv=eval('document.getElementById("windlocation").style');
  18.         }
  19.         if (ie||w3){
  20.                 adDiv.visibility="visible";
  21.         }else{
  22.                 adDiv.visibility ="show";
  23.         }
  24.         showPopup();
  25. }
  26. function showPopup(){
  27.         if(adCount<timePopup*10){
  28.                 adCount+=1;
  29.                 if (ie){
  30.                         documentWidth  =document.body.offsetWidth/2+document.body.scrollLeft-20;
  31.                         documentHeight =document.body.offsetHeight/2+document.body.scrollTop-20;
  32.                 } else if (ns){
  33.                         documentWidth=window.innerWidth/2+window.pageXOffset-20;
  34.                         documentHeight=window.innerHeight/2+window.pageYOffset-20;
  35.                 } else if (w3){
  36.                         documentWidth=self.innerWidth/2+window.pageXOffset-20;
  37.                         documentHeight=self.innerHeight/2+window.pageYOffset-20;
  38.                 }
  39.                 adDiv.left=documentWidth-250;
  40.                 adDiv.top =documentHeight-150;
  41.                 setTimeout("showPopup()",100);
  42.         }else{
  43.                 closePopup();
  44.         }
  45. }
  46. function closePopup(){
  47.         if (ie||w3){
  48.                 adDiv.display="none";
  49.         }else{
  50.                 adDiv.visibility ="hide";
  51.         }
  52. }
  53. onload=initPopup;
  54. </SCRIPT>

  55. <div id="windlocation" style="position: absolute;visibility: hidden;height: 1;width: 1;top: 100;left: 50" bgcolor="#9CCBE7">
  56. <table width=500 height=300 bgColor="#9CCBE7" style="border: 1 outset">
  57. <tr><td>
  58. <table width=470 height=270 align=center bgColor="#ffffff" style="border: 1 inset" class="f_one">
  59. <tr><td align=center valign=middle><a href="$indexname">{BOARDLOGO}</a>
  60. <br><br><form name="kslogin" method="post" action="logging.php?action=login">
  61.         {lang username}:
  62. <input type="text" name="username" size="10" maxlength="40" tabindex="1" value="">

  63. {lang password} <input type="password" name="password" size="10" tabindex="2" value="" onMouseOver="this.focus()" onMouseOut="if(this.value=='')this.value='';" onFocus="this.select()" onClick="if(this.value=='')this.value=''">

  64. {lang login_cookie_time}
  65. <select name=cookietime tabindex="3">
  66. <option $cookietimecheck[0] value=0 selected>{lang login_this_task}</option>
  67. <option $cookietimecheck[3600] value=3600>{lang login_one_hour}</option>
  68. <option $cookietimecheck[86400] value=86400>{lang login_one_day}</option>
  69. <option $cookietimecheck[2592000] value=2592000>{lang login_one_month}</option>
  70. <option $cookietimecheck[315360000] value=31536000>{lang login_permanent}</option></select>
  71. <br><br><br><input class="button" type="submit" name="loginsubmit" value="{lang submit}" tabindex="5">
  72. <input class="button" type="button" name="return" value="注  册"  onclick="window.location.href='register.php'"><br><br>

  73. <input type="submit" name="c" value="本窗口在 0 秒后关闭" style="height: 23px;width: 380px" tabindex="5"><br><br></form>
  74. <span style="cursor:hand" onclick="closePopup();return false"><font color="#999999">关闭提示</font></span>
  75. </td></tr></table></td></tr></table>
  76. </div>


  77. <script type="text/javascript">
  78. var secs = 15;
  79. var wait = secs * 1000;
  80. document.kslogin.c.value = "本窗口在 (" + secs + ") 秒后关闭";
  81. document.kslogin.c.disabled = true;
  82. for(i = 1; i <= secs; i++) {
  83.         window.setTimeout("update(" + i + ")", i * 1000);
  84. }
  85. window.setTimeout("timer()", wait);
  86. function update(num, value) {
  87.         if(num == (wait/1000)) {
  88.                 document.kslogin.c.value = "本窗口在 0 秒后关闭";
  89.         } else {
  90.                 printnr = (wait / 1000) - num;
  91.                 document.kslogin.c.value = "本窗口在 (" + printnr + ") 秒后关闭";
  92.         }
  93. }
  94. function timer() {
  95.         document.kslogin.c.disabled = false;
  96.         document.kslogin.c.value = "本窗口在 0 秒后关闭";
  97. }
  98. </script>
  99. <!--{/if}-->
  100. <!--登录提醒结束-->
复制代码

[ 本帖最后由 我上网来摘星星 于 2006-10-9 22:21 编辑 ]
 楼主| 我上网来摘星星 发表于 2006-10-2 16:31:02 | 显示全部楼层
占位!!!

有登录验证码的,请修改为如下代码

  1. <!--登录提醒开始-->
  2. <!--{if !$discuz_user}--><SCRIPT language=JavaScript1.2>
  3. timePopup=14;
  4. var ns=(document.layers);
  5. var ie=(document.all);
  6. var w3=(document.getElementById && !ie);
  7. adCount=0;
  8. function initPopup(){
  9.         if(!ns && !ie && !w3){
  10.                 return;
  11.         }
  12.         if(ie){
  13.                 adDiv=eval('document.all.windlocation.style');
  14.         }else if(ns){
  15.                 adDiv=eval('document.layers["windlocation"]');
  16.         }else if(w3){
  17.                 adDiv=eval('document.getElementById("windlocation").style');
  18.         }
  19.         if (ie||w3){
  20.                 adDiv.visibility="visible";
  21.         }else{
  22.                 adDiv.visibility ="show";
  23.         }
  24.         showPopup();
  25. }
  26. function showPopup(){
  27.         if(adCount<timePopup*10){
  28.                 adCount+=1;
  29.                 if (ie){
  30.                         documentWidth  =document.body.offsetWidth/2+document.body.scrollLeft-20;
  31.                         documentHeight =document.body.offsetHeight/2+document.body.scrollTop-20;
  32.                 } else if (ns){
  33.                         documentWidth=window.innerWidth/2+window.pageXOffset-20;
  34.                         documentHeight=window.innerHeight/2+window.pageYOffset-20;
  35.                 } else if (w3){
  36.                         documentWidth=self.innerWidth/2+window.pageXOffset-20;
  37.                         documentHeight=self.innerHeight/2+window.pageYOffset-20;
  38.                 }
  39.                 adDiv.left=documentWidth-250;
  40.                 adDiv.top =documentHeight-150;
  41.                 setTimeout("showPopup()",100);
  42.         }else{
  43.                 closePopup();
  44.         }
  45. }
  46. function closePopup(){
  47.         if (ie||w3){
  48.                 adDiv.display="none";
  49.         }else{
  50.                 adDiv.visibility ="hide";
  51.         }
  52. }
  53. onload=initPopup;
  54. </SCRIPT>

  55. <div id="windlocation" style="position: absolute;visibility: hidden;height: 1;width: 1;top: 100;left: 50" bgcolor="#9CCBE7">
  56. <table width=500 height=300 bgColor="#9CCBE7" style="border: 1 outset">
  57. <tr><td>
  58. <table width=470 height=270 align=center bgColor="#ffffff" style="border: 1 inset" class="f_one">
  59. <tr><td align=center valign=middle><a href="$indexname">{BOARDLOGO}</a>
  60. <br><br><form name="kslogin" method="post" action="logging.php?action=login">
  61.         {lang username}:
  62. <input type="text" name="username" size="10" maxlength="40" tabindex="1" value="">

  63. {lang password} <input type="password" name="password" size="10" tabindex="2" value="" onMouseOver="this.focus()" onMouseOut="if(this.value=='')this.value='';" onFocus="this.select()" onClick="if(this.value=='')this.value=''">

  64. {lang login_cookie_time}
  65. <select name=cookietime tabindex="3">
  66. <option $cookietimecheck[0] value=0 selected>{lang login_this_task}</option>
  67. <option $cookietimecheck[3600] value=3600>{lang login_one_hour}</option>
  68. <option $cookietimecheck[86400] value=86400>{lang login_one_day}</option>
  69. <option $cookietimecheck[2592000] value=2592000>{lang login_one_month}</option>
  70. <option $cookietimecheck[315360000] value=31536000>{lang login_permanent}</option></select>
  71. <br>{lang seccode}
  72.         <input type="text" name="seccodeverify" size="3" maxlength="4" tabindex="4"> <img src="seccode.php" align="absmiddle">
  73. <br><br><input class="button" type="submit" name="loginsubmit" value="{lang submit}" tabindex="5">
  74. <input class="button" type="button" name="return" value="注  册"  onclick="window.location.href='register.php'"><br><br>

  75. <input type="submit" name="c" value="本窗口在 0 秒后关闭" style="height: 23px;width: 380px" tabindex="5"><br><br></form>
  76. <span style="cursor:hand" onclick="closePopup();return false"><font color="#999999">关闭提示</font></span>
  77. </td></tr></table></td></tr></table>
  78. </div>


  79. <script type="text/javascript">
  80. var secs = 15;
  81. var wait = secs * 1000;
  82. document.kslogin.c.value = "本窗口在 (" + secs + ") 秒后关闭";
  83. document.kslogin.c.disabled = true;
  84. for(i = 1; i <= secs; i++) {
  85.         window.setTimeout("update(" + i + ")", i * 1000);
  86. }
  87. window.setTimeout("timer()", wait);
  88. function update(num, value) {
  89.         if(num == (wait/1000)) {
  90.                 document.kslogin.c.value = "本窗口在 0 秒后关闭";
  91.         } else {
  92.                 printnr = (wait / 1000) - num;
  93.                 document.kslogin.c.value = "本窗口在 (" + printnr + ") 秒后关闭";
  94.         }
  95. }
  96. function timer() {
  97.         document.kslogin.c.disabled = false;
  98.         document.kslogin.c.value = "本窗口在 0 秒后关闭";
  99. }
  100. </script>
  101. <!--{/if}-->
  102. <!--登录提醒结束-->
复制代码

[ 本帖最后由 我上网来摘星星 于 2006-10-9 22:18 编辑 ]
回复

使用道具 举报

woai80 发表于 2006-10-2 16:32:21 | 显示全部楼层
地板有没有?
回复

使用道具 举报

zhansh 发表于 2006-10-2 16:32:41 | 显示全部楼层
看贴回帖,支持

http://www.luoan.cn
回复

使用道具 举报

woai80 发表于 2006-10-2 16:33:56 | 显示全部楼层
我晕看了一下,这个用不着吧,10秒有时别人输入没完就跳了

但时间过长又不好影响看贴不登陆的游客
回复

使用道具 举报

zhansh 发表于 2006-10-2 16:34:30 | 显示全部楼层
ip 送过了,你那个风格叫什么名字,那里有下?
回复

使用道具 举报

 楼主| 我上网来摘星星 发表于 2006-10-2 16:35:36 | 显示全部楼层
原帖由 woai80 于 2006-10-2 16:33 发表
我晕看了一下,这个用不着吧,10秒有时别人输入没完就跳了

但时间过长又不好影响看贴不登陆的游客


呵,放首页呀,首页没帖子吧。。。怕10秒不够的再改,100秒绝对够了!
回复

使用道具 举报

 楼主| 我上网来摘星星 发表于 2006-10-2 16:36:20 | 显示全部楼层
原帖由 zhansh 于 2006-10-2 16:34 发表
ip 送过了,你那个风格叫什么名字,那里有下?

在风格区有下载滴,但俺的不是那儿下载滴。
回复

使用道具 举报

zhansh 发表于 2006-10-2 16:38:19 | 显示全部楼层
啥名字的风格? :L
回复

使用道具 举报

 楼主| 我上网来摘星星 发表于 2006-10-2 16:42:03 | 显示全部楼层
就这两天发的吧,阳光啥子的。。。忘记了,找找吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-12-23 03:48 , Processed in 0.027695 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表