1

我想运行一次 javascript。我尝试使用来自 Dynamic Drive 的脚本,但它似乎不适用于脚本。

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

有什么帮助吗?

我的脚本是

    <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>
4

1 回答 1

3

你可以做两件事:

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

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

如果你想设置cookies。这是一个处理 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)
}
于 2012-04-05T22:44:14.793 回答