View Full Version : back forward
mikhak
جمعه 18 اسفند 1385, 16:10 عصر
سلام
چطوری میشه با جاوا اسکریپت رخدادهای back یا forward مرورگر رو تشخیص داد
مثلا یه کد باشه اگه کاربر دکمه back یا forward رو بزنه یه alert بده همین
mazoolagh
جمعه 18 اسفند 1385, 22:26 عصر
اینها مربوط به مرورگر میشه و توسط جاوااسکریپت قابل تشخیص و کنترل نیست (تا جایی که من میدونم)
pooyanm
شنبه 19 اسفند 1385, 00:22 صبح
<body onunload="alert('bye');">
mikhak
شنبه 19 اسفند 1385, 11:32 صبح
جناب پویا متشکرم از جوابتون ولی مثل اینکه منظورمو خوب متوجه نشدین
منظور من تو لود کردن صفحه نبود
میخوام رو back یا forward این alert رو بده .
مثلا شاید دستوری مثل OnBack .
این نیستا میدونم ولی یه همچپین چیزی میخوام
بازم ممنون که حداقل شما جواب دادین و شرمندم کردین
pooyanm
شنبه 19 اسفند 1385, 13:51 عصر
خوب این رویداد تقریبا همون کابرد را داره شما هر کاری که انجام بدید از جمله بستن پنجره زدن دکمه بک و فوروارد و نوشتن در آدرس بار برای آدرس جدید و هر رویدادی که منجر به ترک این صفحه بشه به این handler فرستاده می شه.
ولی دستوری که فقط روی این دو دکمه کار کنه من که ندیدم. مگر اینکه یک کاربرد ویژه ای مدنظر شما باشه.
mikhak
شنبه 19 اسفند 1385, 14:08 عصر
باشه
بس من مشکلم رو میگم شاید اینجوری بتونین یه نظری بدین
یه صفحه HTML رو فرض کنین که خیلی طولانی شده و تو بعضی از قسمت ها anchor گذاشتم یعنی از لینک های
<a href="#page1">
حالا مثلا 10 تا از اینا دارم
و وقتی روشون کلیک میکنم هم تو history یه صفحه اضافه میشه و هم URL عوض میشه
مثلا url اول page1 هستش بعد میشه page2 حالا میخوام وقتی back میزنم و url میشه page1
یه کاری بکنه مثلا بره همون جای قبلی یا یه alert بده مثلا
اینجا صفحه دوباره لود نمیشه و نمیتونم از onload استفاده کنم باید کلیک روی دکمه back رو تشخیص بدم
نمیدونم تونستم درست مشکلم رو بگم یا نه ؟؟؟؟
mikhak
شنبه 19 اسفند 1385, 14:36 عصر
ساده بگم میخوام وقتی url عوض شد یه alert بده
در ضمن همه کارا هم تو یه صفحه انجام میشه یعنی لینک ها همه به خود صفحس صفحه دوم نداریم
I,Nobody
شنبه 19 اسفند 1385, 16:40 عصر
<a href="#page1" onclick="change_hidden(this);">p1</a><br>
<a href="#page2" onclick="change_hidden(this);">p2</a><br>
<a href="#page3" onclick="change_hidden(this);">p3</a><br>
<input type=hidden id=hide>
<script>
cur2=window.location;
cur=""+cur2+"";
var mainpage=cur;
var last_page=hide.value;
function change_hidden(link){
thislink=link.href;
if(thislink!=last_page){
last_page=thislink;
hide.value=thislink;
alert(thislink);
}
}
</script>
فکر می کنم فهمیدنش راحت باشه. اگه نفهمیدی بگو توضیح می دم
mikhak
شنبه 19 اسفند 1385, 17:39 عصر
خیلی ممنون از جوابتون
تا یه حدودایی متوجه شدم ولی نه دقیق چون error میده
هم تو firefox هم تو IE
یعنی با این طریق اگه دکمه های back یا forward مرورگر رو بزنیم بازم alert رو خواهد داد .؟؟؟
اگه بشه یه کم خلاصه توضیح بدین ممنون میشم
I,Nobody
شنبه 19 اسفند 1385, 19:27 عصر
نه. اگه روی دکمه های back یا forward کلیک کنی، اتفاقی نمی افته.
فقط اگه رو لینک هایی که روشون اون دستور OnClick رو گذاشتی، alert میده.
روی دکمه های back و Forward نمی تونی کنترل داشته باشی. اگه هم بشه، باید برای تک تک مرورگرها، دستورات مجزا بنویسی
mikhak
شنبه 19 اسفند 1385, 20:57 عصر
میتونی واسه back و forward یه مرجع معرفی کنی
یا حداقل مثلا دستور فقط firefox رو بگی؟؟؟؟
I,Nobody
یک شنبه 20 اسفند 1385, 00:59 صبح
نه. فکر نمی کنم هیچوقت هم برم دنبالش.
البته الآن وقت نمی کنم وگرنه واست سرچ می کردم تا مطمئن شم که شدنی نیست
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.