PDA

View Full Version : تشخیص تعداد صفحات باز



asn2010
پنج شنبه 31 مرداد 1392, 19:43 عصر
سلام دوستان :قلب:
کدی می خوام که بهم بگه از یک وبسایت چنتا صفحه باز است و اگر آخرین صفحه در حال بسته شدن بود یک function فراخوانی بشه
آیا میشه نوشت همچنین کدی ؟ :افسرده:

jalil_gh
جمعه 01 شهریور 1392, 09:49 صبح
راه حلی که به نظر من میرسه اینه که یه کوکی ایجاد کنیم و هر وقت که صفحه لود میشه مقدار اونو یکی افزایش بدیم و وقتی صفحه بسته میشه مقدار اونو یکی کاهش بدیم. وقتی مقدارش به صفر رسید اون تابع رو فراخوانی کنیم.

asn2010
جمعه 01 شهریور 1392, 13:17 عصر
راه حل بسیار جالبی بود ، ممنون
نمیشه از صفحات باز handler گرفت ، نه ؟:ناراحت:

jalil_gh
جمعه 01 شهریور 1392, 13:26 عصر
راه حل بسیار جالبی بود ، ممنون
نمیشه از صفحات باز handler گرفت ، نه ؟:ناراحت:
فکر نمیکنم بشه. میشه فقط به صفحاتی که با جاوااسکریپت باز میشه یه جورایی دسترسی داشت ولی بقیه رو تا اونجایی که من میدونم نمیشه.

asn2010
جمعه 01 شهریور 1392, 22:57 عصر
ممنون از جوابتون
فقط ی سوال دیگه با روش شما اگه سیستم خاموش بشه یا process مرورگر kill بشه و کاربر دوباره وارد سیستم بشه چی؟

jalil_gh
شنبه 02 شهریور 1392, 08:19 صبح
ممنون از جوابتون
فقط ی سوال دیگه با روش شما اگه سیستم خاموش بشه یا process مرورگر kill بشه و کاربر دوباره وارد سیستم بشه چی؟
وقتی برای کوکی مقداری رو برای expire یا max-age تعریف نکنید،‌ اون کوکی تازمانی تو سیستم هست که مرورگر باز باشه. وقتی به هردلیلی مروگر بسته میشه تمام اون کوکی‌ها هم از بین میرن و دوباره که صفحه باز میشه مقادیر از صفر شروع میشن

asn2010
شنبه 02 شهریور 1392, 12:04 عصر
واقعا؟
من نمیدونستم
میشه ی sample ساده برام بنویسید ، خیلی خیلی ممنون میشم ...:قلب: (شرمنده ها..)

jalil_gh
یک شنبه 03 شهریور 1392, 21:33 عصر
/*
This piece of code counts the number of open windows from the same domain.
It can be customized to run a code when the last open window is close.
*/

"use strict";

(function() {

var cookieName = "num";

function get() {
var result = document.cookie.match( new RegExp( cookieName + '=([^;]+)' ) );
return result ? parseInt(result[1]) : 0;
}

function set(num) {
document.cookie = cookieName + "=" + num + "; path=/";
}

function remove() {
document.cookie = cookieName + "= ; max-age=0";
}

window.onload = function() {
remove();
set(get() + 1);
};

window.onunload = function() {
var num = get();
set(--num);

if (num == 0) { // this was the last open window
// do something here
}
};


})();

asn2010
دوشنبه 04 شهریور 1392, 13:46 عصر
خدا خیرت بده
مث شما کم پیدا میشه
قدر این خصوصیتونو بدونید ... چون داره محو میشه کم کم ...
بسیار ممنون....:قلب: