JavaScript-如何实现用户在第一次关闭页面的时候提示收藏?

JavaScript-如何实现用户在第一次关闭页面的时候提示收藏?

夜无邪 发布于 2017-04-03 字数 404 浏览 1081 回复 4

在做 游戏推广页面的时候, 好多人都是 被诱惑进来的, 如果他下次在想玩这个游戏 根本不知道这个游戏是什么地方的 。 所以想这样做, 在用户第一次关闭 页面的 时候提示收藏(仅限第一次)
有什么好的解决办法吗 ?
当时做的是 window.close() 时候去 提示用户收藏的 ,这个第一次该怎么判断呢
window.close 是用户刷新的时候也提示收藏, 不好找到底什么时候 才是关闭 , 你们有啥好办法吗?

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

清晨说ぺ晚安 2017-07-28 4 楼

这是我收藏的:

<script type="text/javascript">
function getCookie( cookieName ) //读取Cookie
{
var start = document.cookie.indexOf( cookieName + "=" );
var len = start + cookieName.length + 1;
if ( ( !start ) && ( cookieName != document.cookie.substring( 0, cookieName.length ) ) )
{
return null;
}
if ( start == -1 ) return null;
var end = document.cookie.indexOf( ';', len );
if ( end == -1 ) end = document.cookie.length;
return unescape( document.cookie.substring( len, end ) );
}

function setCookie( cookieName, value, expires, path, domain, secure ) //设置Cookie
{
var today = new Date();
today.setTime( today.getTime() );
if ( expires )
{
expires = expires * 1000 * 60 * 60 * 24; //有效时间1天,按自己需要改
}
var expires_date = new Date( today.getTime() + (expires) );
document.cookie = cookieName+'='+escape( value ) +
( ( expires ) ? ';expires='+expires_date.toGMTString() : '' ) + //expires.toGMTString()
( ( path ) ? ';path=' + path : '' ) +
( ( domain ) ? ';domain=' + domain : '' ) +
( ( secure ) ? ';secure' : '' );
}

function deleteCookie( cookieName, path, domain ) //删除Cookie
{
if ( getCookie( cookieName ) ) document.cookie = cookieName + '=' +
( ( path ) ? ';path=' + path : '') +
( ( domain ) ? ';domain=' + domain : '' ) +
';expires=Thu, 01-Jan-1970 00:00:01 GMT';
}

function exeFunction()
{
var cookieValue = getCookie( "soumore" );
if( cookieValue == null )
{
setCookie( "soumore","not_first",1 );
bk();
}
// alert(cookieValue)
}

function bk()
{
window.external.AddFavorite('http://www.soumore.com', '测试')
}
</script>

<body onunload="exeFunction()">
<!--要使用"删除Cookie"这个按钮,请去除那个!号
<button onclick="deleteCookie('soumore')">删除Cookie</button>
-->
</body>

偏爱自由 2017-07-10 3 楼

这是我给你测试过后发上来的,你看看合不合乎你的要求

<script type="text/javascript">
/**
* 写cookies函数
* @param name Cookie名称
* @param value Cookie值
* @return void
*/
function SetCookie(name,value){
var Days = 30;
var exp = new Date();
exp.setTime(exp.getTime() + Days*24*60*60*1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}

/**
* 取cookie函数
* @param name Cookie名称
* @return mixed
*/
function getCookie(name){
var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr != null) return unescape(arr[2]); return null;
}

/**
* 删除cookie
* @param name Cookie名称
* @return void
*/
function delCookie(name){
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval=getCookie(name);
if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}

/**
* 收藏网站
* @param surl 网站链接
* @param stitle 网站标题
* @return void
*/
function addFavorite(surl, stitle){
try{
window.external.addFavorite(surl, stitle);
} catch (e){
try{
window.sidebar.addPanel(stitle, surl, "");
}catch (e){
alert("加入收藏失败,请使用Ctrl+D进行添加");
}
}
}

/**
* 关闭网页时加载
* @return void
*/
window.onunload = function(){
if(getCookie('isFirest') != true){
addFavorite('http://www.test.com', '测试网页');
setCookie('isFirest', true);
}
}
</script>

浮生未歇 2017-07-06 2 楼

只能利用cookie来记录是否第一次访问页面了,如何设置获取cookie这里不说了,这里这写下如何在关闭时弹出收藏窗口:

 window.onbeforeunload = function(){
if((window.event.clientX <0)||(window.event.clientY <0)){
if(!is_cookie)
{//判断是否第一次打开页面
//设置cookie
is_cookie = 1;
window.external.addFavorite(url, title);
}
}
}

想挽留 2017-06-24 1 楼

先读Cookie,看用户是否有访问过,无或过期的,设置Cookie,并提示收藏。
这种东西随便google一下到处都是的呀:
JavaScript存、取、删除Cookies的实例收藏
利用cookie收藏网站