ورود

View Full Version : ریفرش صحفه یک بار پس از باز شدن به صورت خودکار



hamidhassas
یک شنبه 11 فروردین 1392, 14:12 عصر
چطوری میتونم کاری کنم که وقتی یک صحفه ای توسط کاربری باز میشود یک بار اول ریفرش شود و بعد اطلاعات داخل آن به نمایش در بیاید

SlowCode
دوشنبه 12 فروردین 1392, 16:02 عصر
سلام
اگه از جاوااسکریپت استفاده میکنی:
window.location="index.php"
اگه با php کار میکنی:

header( "refresh:0" );
به محض باز شدن صفحه رفرش میشه. به جای صفر می تونی زمان رفرش رو بنویسی.
مثلا اگه بنویسی 2 دو ثانیه دیگه صفحه رفرش میشه.

2undercover
دوشنبه 12 فروردین 1392, 19:11 عصر
خوب اینطوری هر وقت صفحه باز بشه صفحه رفرش میشه!ایشون منظورشون این بود که فقط یکبار صفحه رفرش بشه...؟!

hamidhassas
دوشنبه 12 فروردین 1392, 20:50 عصر
خوب اینطوری هر وقت صفحه باز بشه صفحه رفرش میشه!ایشون منظورشون این بود که فقط یکبار صفحه رفرش بشه...؟!

کاملا درسته

SlowCode
دوشنبه 12 فروردین 1392, 21:45 عصر
خب کافیه یه کوکی تو سیستم کاربر ایجاد کنی.
قبل رفرش نگاه میکنی اگه کوکی نباشه رفرش میشه و کوکی ایجاد میشه.

2undercover
سه شنبه 13 فروردین 1392, 07:16 صبح
خوب این کوکی چه جوری وقتی مرورگر بسته شد از بین بره...؟!

hamidhassas
پنج شنبه 15 فروردین 1392, 14:16 عصر
???????????????????????????????????????????

hakan648
شنبه 17 فروردین 1392, 18:37 عصر
سلام

برای رفرش شدن صفحه که بحثی نیست و دوستان کد رو رائه کردند.
اما برای تشخیص اینکه صفحه توسط کد ما رفرش شده یا اولین بارگزاری اون هست، یکی از راه ها اینه که از مقدار hash (http://en.wikipedia.org/wiki/Fragment_identifier) استفاده کنیم.

کدی که در زیر قرار دادم به این صورت کار میکنه که ابتدا چک میکنه که آدرس صفحه دارای مقدار hash برابر با jsalert هست یا نه.
اگر بود که یعنی صفحه توسط ما بارگزاری مجدد شده و باید اون عملیات خاص انجام بشه.
و گر نبود، مقدار jsalert به آدرس صفحه اضافه میشه و صفحه دوباره بارگزاری میشه.

(function() {
var pageHash = window.location.hash;
var hashKey = "jsalert";

if (pageHash == "#" + hashKey) {
//Display Detail
//console.log("display detail");
} else {
var pageUrl = window.location.toString();

if (pageUrl.indexOf("#") == -1) {
pageUrl += "#";
}

pageUrl += hashKey;
window.location.href = pageUrl;

//console.log("reload page to '%s'", pageUrl);

window.location.reload();
}
})();