2012-04-05 97 views
1

我想运行一次javascript。 我尝试使用动态驱动器中的脚本,但它似乎不适用于脚本。运行javascript一次

我希望它在用户第一次访问该页面时运行,但不会再弹出。

任何帮助?

我的剧本是

<script src="http://www.google.com/jsapi"></script><script>google.load("jquery", "1");</script> 
<script type="text/javascript" src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script> 
<script type="text/javascript"> 
    Username="___", <!-- Facebook Username Without http://facebook.com/ --> 
    Title="Join Our Facebook!", <!-- Title --> 
    Skin="01", <!-- 01 Through 04 --> 
    Time="15", <!-- Countdown In Seconds --> 
    Wait="0", <!-- Wait For Popup --> 
    Lang="en" 
</script> 
<script type="text/javascript" src="likeboxfbfanpro.js"></script> 
<script type="text/javascript">$(document).ready(function(){$().popupbox({ closeable: false });});</script> 
+1

你知道,每当我遇到了一个网站,弹出一些讨厌了,我立即关闭该标签,并再也不会去该网站。我认识的每个人都一样。 – 2012-04-05 22:36:26

+0

我试过使用频率上限脚本,但它不适用于脚本。 它可以与文本/图像一起工作,但是当我把脚本放在Div中时,它会在第一次弹出后仍然弹出 – 2012-04-05 22:36:58

+1

请停止打字,因为它真的很烦人。 – asawyer 2012-04-05 22:37:31

回答

2

你可以做两件事情:

  • 设置显示您的cookie的每个页面加载存在的消息和测试后的第一次一个cookie 。如果cookie不存在,则显示消息,如果存在则跳过。

  • 设置服务器端会话值(仅限会话)或数据库记录(跨越会话,如果您能以某种方式识别返回访问者(即IP)),以便在向客户端提供第一页后控制HTML。如果没有会话/数据库值,只发送消息html

如果你想设置cookie。下面是确实的cookie处理一个小脚本:

function createCookie(name,value,days) { 
if (days) { 
     var date = new Date(); 
     date.setTime(date.getTime()+(days*24*60*60*1000)); 
     var expires = "; expires="+date.toGMTString(); 
} 
else var expires = ""; 
    document.cookie = name+"="+value+expires+"; path=/"; 
} 

function readCookie(name) { 
var nameEQ = name + "="; 
var ca = document.cookie.split(';'); 
for(var i=0;i < ca.length;i++) { 
     var c = ca[i]; 
     while (c.charAt(0)==' ') c = c.substring(1,c.length); 
     if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 
} 
return null; 
} 

function eraseCookie(name) { 
    createCookie(name,"",-1); 
} 

现在,在你的代码,你可以使用这个如下:

if (!readCookie('alreadyShown')) { 
    .. add you show message code here... 
    createCookie('alreadyShown', true) 
} 
+0

我会设置一个cookie,但不知道从哪里开始。 – 2012-04-05 22:48:08

+0

很好的回答!完美满足我的需求。 我看到“date.setTime(date.getTime()+(days * 24 * 60 * 60 * 1000));”这一行。这是多久,直到cookie过期,是吗? :)这到底意味着什么?这是一天,一周还是一个月?我想有一天:)谢谢,@koenpeters – zorensen 2015-11-18 07:39:27

+0

该函数预计毫秒。所以它的日子* 24小时* 60分钟* 60秒* 1000得到毫秒数 – koenpeters 2015-11-18 12:33:18