Време за престой на страница и съобщение

bgkulinar

Меринджей
Искам да направя така, че ако потребителят иска да затвори страницата преди да са изтекли 15 секунди от зареждането, да получи съобщение (примерно да разгледа и други страници). Опитвам по този начин, но не сработва:
HTML:
<? if (is_single()) { ?>
<script type="text/javascript">

pageOpen = new Date();
function bye() {
pageClose = new Date();
minutes = (pageClose.getMinutes() - pageOpen.getMinutes());
seconds = (pageClose.getSeconds() - pageOpen.getSeconds());
time = (seconds + (minutes * 60));
if (time < 15) {

window.onbeforeunload = function()
   { 
     return 'Please before leaving this page, check out other wonderful articles.'; 
   }

}

</script>
<? } ?>

</head>

<body onload="if (self != top) top.location = self.location; bye()">
Имам чувството, че или не минава ИФ-а или не викам правилно bye() функцията.

Мога да оставя само
Код:
window.onbeforeunload = function()
   { 
     return 'Please before leaving this page, check out other wonderful articles.'; 
   }
и то си работи, но искам да го обвържа с времето за престой, защото е много досадно да получаваш месиджи при всяко кликване.
 
Re: Време за престой на страница и съобщение

Така няма ли да работи?

Код:
pageOpen = new Date();
window.onbeforeunload = function(event) {
	pageClose = new Date();
	minutes = (pageClose.getMinutes() - pageOpen.getMinutes());
	seconds = (pageClose.getSeconds() - pageOpen.getSeconds());
	time = (seconds + (minutes * 60));
	if (time < 15) {
		var msg = "Please before leaving this page, check out other wonderful articles.";
		event = event || window.event;
		if (event) {
			event.returnValue = msg;
		}
		return msg;
	}
}
 
Re: Време за престой на страница и съобщение

Работи, благодаря за което.

Надявам се да е в помощ на всеки, който иска поне малко да увеличи времето за престой и да намали bounce rate.

Не знам как се държи с адсенс.
 
Re: Време за престой на страница и съобщение

Интересен метод и ако работи наистина, доста би бил полезен за много от нас. Баунс рейта ми е към 80% и губя много от посетители. Къде се слага тоя код .. в header.php или другаде. Само това или се добавя и друга функция из някое друго php или css. Питам за WP.
 
Re: Време за престой на страница и съобщение

Надявам се да е в помощ на всеки, който иска поне малко да увеличи времето за престой и да намали bounce rate.

Ще се радвам да споделиш конкретни данни 🙂

Според мен не би трябвало да има някакъв ефект, може би в комбинация с window.location=top10posts.html?
 
Re: Време за престой на страница и съобщение

Хм, интересна идея... Ще го пробвам...

Според мен ще е по-работещо, ако се предложи нещо конкретно за разглеждане, примерно в моя случай "Разбрахте ли за новата картинг писта еди къде си?"
 
Re: Време за престой на страница и съобщение

Дали ще може да се направи да плюе съобщение само при опити за затваряне на прозореца, а не и при кликане на линк? Защото сега май кликовете по адсенса намаляват.

TheCrazyBastard, да кодът се слага в head частта на header.php
 
Re: Време за престой на страница и съобщение

Не мисля че има такова събитие кликане на хикса 😀. Има напускане на страницата. Може би ако се направи да се изключва временно този скрипт при слагане на мишката върху слой, който обгражда адсенса. Това звучи правдоподобно на теория 🙂.
 
Re: Време за престой на страница и съобщение

Това ще сработи дори и когато кликне на линк вътре в страницата и не са изтекли 15 секунди. Тоест ще трябва да чака по 15 секунди преди да кликне където и да е в сайта! = безумие
 
Re: Време за престой на страница и съобщение

Това ще сработи дори и когато кликне на линк вътре в страницата и не са изтекли 15 секунди.
Именно затова попитах за решение, което ще сработва само, ако се кликне на хиксчето.

Тоест ще трябва да чака по 15 секунди преди да кликне където и да е в сайта! = безумие.
Не трябва да чака, а трябва да кликне ОК на съобщението.

аа искам позволение да го направя под формата на урок в моя сайт 😀
Изчакай някакво разумно решение. В момента не е много ОК.
 
Re: Време за престой на страница и съобщение

Пффф чак сега забелязах, че не работи както трябва. Бях го добавил и на моя сайт но пробвах само да излезна, а не да кликам на линковете 🙂
 
Re: Време за престой на страница и съобщение

Ако не ти е проблем да ползваш jquery > 1.4, може да пробваш и това :
Код:
pageOpen = new Date();
$("a").click(function(){
   $(window).unbind('beforeunload');
});

$(window).bind('beforeunload', function(e) {
   pageClose = new Date();
	minutes = (pageClose.getMinutes() - pageOpen.getMinutes());
	seconds = (pageClose.getSeconds() - pageOpen.getSeconds());
	time = (seconds + (minutes * 60));
	if (time < 15) {
		var msg = "Please before leaving this page, check out other wonderful articles.";
		event = event || window.event;
		if (event) {
			event.returnValue = msg;
		}
		return msg;
	}
});

Предимството е, че може да добавиш и класове на линковете, при които да се игнорира beforeunload
Код:
$("a.internallink").click(function(){
   $(window).unbind('beforeunload');
});

Нямям време да го тествам сега, но би трябвало да работи 😉
 

Back
Горе