ورود

View Full Version : سوال: غیرفعال کردن دکمه refresh



maryammashkani
دوشنبه 09 اردیبهشت 1392, 09:09 صبح
سلام.
چطوری باید دکمه رفرش مرورگر رو غیر فعال کنم؟

ahmad156
دوشنبه 09 اردیبهشت 1392, 09:17 صبح
http://stackoverflow.com/questions/2482059/disable-f5-and-browser-refresh-using-javascript

maryammashkani
دوشنبه 09 اردیبهشت 1392, 09:33 صبح
ممنون.ولی من هر سه قطعه برنامه رو توی تگ <head> گذاشتم ولی نتیجه ای نداد

ahmad156
دوشنبه 09 اردیبهشت 1392, 09:42 صبح
دوست عزیز اول شما باید jquery رو به صفحه تون اضافه کنین بعد شما باید همه کدها رو به صورت زیر بنویسین


$(document).ready(function() {
کدهای مربوطه
}

maryammashkani
دوشنبه 09 اردیبهشت 1392, 09:53 صبح
چه جوری jquery رو اضافه کنم؟

maryammashkani
دوشنبه 09 اردیبهشت 1392, 09:57 صبح
اینجوری نوشتم
<script language="javascript" type="text/javascript">


$(document).ready(

//-------------------------------------
function disableF5(e) { if (e.which == 116) e.preventDefault(); };
// To disable f5
$(document).bind("keydown", disableF5);
/ To re-enable f5
$(document).unbind("keydown", disableF5);
//----------------------------------------------
window.history.forward(1);
document.attachEvent("onkeydown", my_onkeydown_handler);
function my_onkeydown_handler() {
switch (event.keyCode) {
case 116 : // 'F5'
event.returnValue = false;
event.keyCode = 0;
window.status = "We have disabled F5";
break;
}
}
//this code handles the F5/Ctrl+F5/Ctrl+R
document.onkeydown = checkKeycode
function checkKeycode(e) {
var keycode;
if (window.event)
keycode = window.event.keyCode;
else if (e)
keycode = e.which;
// Mozilla firefox
if ($.browser.mozilla) {
if (keycode == 116 ||(e.ctrlKey && keycode == 82)) {
if (e.preventDefault)
{
e.preventDefault();
e.stopPropagation();
}
}
}
// IE
else if ($.browser.msie) {
if (keycode == 116 || (window.event.ctrlKey && keycode == 82)) {
window.event.returnValue = false;
window.event.keyCode = 0;
window.status = "Refresh is disabled";
}
}
}
)

</script>

ahmad156
دوشنبه 09 اردیبهشت 1392, 10:06 صبح
دوست عزیز آخرین نسخه jquery رو از سایت خودش دانلود کن بعد به صورت زیر به صفحه اضافه کن.البته آدرسش رو طبق آدرس پروژه خودت تنظیم کن

<script type="text/javascript" src="../Scripts/jquery.js"> </script>

و بعد در ادامه به صورت زیر

$(document).ready(function () {
function disableF5(e) { if (e.which == 116) e.preventDefault(); };
// To disable f5
$(document).bind("keydown", disableF5);
});

maryammashkani
دوشنبه 09 اردیبهشت 1392, 10:28 صبح
الان برنامه این شکلی شد ولی هنوز f5 و refresh فعال هستند
<script src="Style/js/jquery.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
$(document).ready(
function ()
{
function disableF5(e)
{
if (e.which == 116) e.preventDefault();
};
</script>

ahmad156
دوشنبه 09 اردیبهشت 1392, 10:37 صبح
ببخشید یه خط اضافی نوشتم توی کد.صحیحش به صورت زیر هست

<%@ Page Language="C#‎" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="jquery.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
function disableF5(e) { if (e.which == 116) e.preventDefault(); };
// To disable f5
$(document).bind("keydown", disableF5);


});
</script>

</head>
<body>
<form id="form1" runat="server">
<div>

</div>
</form>
</body>
</html>

maryammashkani
دوشنبه 09 اردیبهشت 1392, 10:41 صبح
شما خودتون توی سیستم تون چک کنید. بخدا بازم رفرش میشه

ahmad156
دوشنبه 09 اردیبهشت 1392, 10:45 صبح
دوست عزیز چک کردم درسته.فقط بگم که این کد فقط دکمه f5 رو غیر فعال میکنه و برای کلیک کردن دکمه refresh کار نمیکنه

maryammashkani
دوشنبه 09 اردیبهشت 1392, 10:51 صبح
آخه F5 هم با همین برنامه بازهم کار رفرش رو انجام میده

maryammashkani
دوشنبه 09 اردیبهشت 1392, 10:52 صبح
میشه لطفا به سوال "اسکرول اخبار سایت" که تایپیک کذاشتم یه نگاهی بندازین. بازم ممنون از لطفتون

ahmad156
دوشنبه 09 اردیبهشت 1392, 10:53 صبح
دوست عزیز آدرس فایل jquery رو عوض کردین؟چون من دوباره چک کردم دیدم کار میکنه

maryammashkani
دوشنبه 09 اردیبهشت 1392, 11:12 صبح
آره. jq رو تنظیم کردم

ahmad156
دوشنبه 09 اردیبهشت 1392, 11:24 صبح
این خود پروژه هست

maryammashkani
دوشنبه 09 اردیبهشت 1392, 17:04 عصر
ممنون.دیگه f5 کار نمیکنه. خود دکمه refresh رو چه جوری غیر فعال کنم

ahmad156
دوشنبه 09 اردیبهشت 1392, 17:26 عصر
فکر نمیکنم بشه این کارو کرد!!!یا حداقل من بلد نیستم!!

maryammashkani
دوشنبه 09 اردیبهشت 1392, 18:10 عصر
آخه من تو سایتم یک آزمون آنلاین دارم که اگر کاربر دکمه refresh رو بزنه سوالات براش عوض میشه.میخام جلو اینکارشو بگیرم فکری به نظر شما نمیرسه؟

meisam3322
دوشنبه 09 اردیبهشت 1392, 20:46 عصر
خوب دوست عزیز ، برای این کار میتونین یه warning در صفحه سوالات قرار بدین و متنشو به این صورت بنویسید که کاربر متجوه شه که نباید از دکمه refresh استفاده کنه. خیلی از سایت ها هستند که این موارد رو گوش زد می کنن.

Dr.Bronx
سه شنبه 10 اردیبهشت 1392, 10:23 صبح
می تونید Session یا Cookie تنظیم کنید و کد آخرین سوال رو توش قرار بدید .
هر بار هم که صفحه load میشه آخرین سوال رو بیارید براش .

موفق باشید ./

maryammashkani
سه شنبه 10 اردیبهشت 1392, 17:45 عصر
متوجه منظورتون نشدم.میشه لطفا بیشتر راهنمایی کنید
می تونید Session یا Cookie تنظیم کنید و کد آخرین سوال رو توش قرار بدید .
هر بار هم که صفحه load میشه آخرین سوال رو بیارید براش .

موفق باشید ./

Dr.Bronx
سه شنبه 10 اردیبهشت 1392, 19:13 عصر
ساده است .

هر بار که یک سوال جدید رو به کاربر نمایش میدید یک session ‌ذخیره می کنید .

Session.Add("QuestionNumber" , MyNumber)

حالا توی Form Load هم میاید چک می کنید .

اگر این Session وجود داشت که session رو می خونید و دوباره منتقل می کنید به همون سوال قبل و اگر هم session وجود نداشت میفرستید به صفحه اصلی .
مثال زیر :

If Session("QuestionNumber") = Nothing Then

Response.Redirect("default.aspx")

Else

Response.Redirect("question.aspx?q=" & Session.Item("QuestionNumber"))

End If

موفق باشید ./

meisam3322
سه شنبه 10 اردیبهشت 1392, 20:25 عصر
با سلام ،

دوست عزیز شما مشکلی با disable نمودن دکمه refresh ندارید. به نظر من مشکل شما در منطق و روشا پیاده سازی پروژتونه ... قبل از شروع هر پروژه ای بهتره ابتدا مراحل و طرح اولیه آنالیز کنین بعد شروع به کد نویسی نمایید. به نظر من کد نویسی آخرین مرحله از کار یک پروژه است ، پروژه کوچک باشه یا بزرگ فرقی نداره

موفق باشید