الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Prevent Re-execute Javascript When Return To Page

بدأه kathy في 16 أكتوبر 2008 · 2 رد · 637 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم,,,

أقوم بتنفيذ كود جافا سكربت في بداية نافذة ... إذا قام المستخدم بالضغظ على زر back للإنتقال الى النافذة السابقة ثم أستخدم زر forword للعودة الى النافذة الأصلية يتم تنفيذ كود الجافا سكربت مرة أخري ...

كيف يمكن أن أمنع تنفيذ كود الجافا سكربت عن الإنتقال بين النوافذ بإستخدام زر back و زر forword

شكرا

#2

؟؟؟؟؟

#3

يمكنك ذلك باستخدام history.length (عدد الصفحات التي تم فتحها في ال window)

ملحوظة : الكود يعمل علي IE 7 بحيث ان ال history.length = 0 و لكن مع ال Chrome تعمل مع history.length <= 1

و لا توجد مشكلة مع ال IE 7 ايضا في هذه الحالة و لكن المشكلة مع Firefox/3.0.3 لا يعمل الكود اقصد لا يتحقق الشرط اصلا

تقريبا كل متصفح يحسب ال history علي مزاجه

الكود التالي يعمل علي IE 7 و Chrome

		  if(history.length <=1)
		  {
			window.alert("run at first request");
		  }

طيب حاول تستخدم tag معين في الصفحة تغير قيمته اول مرة و بعد كده تفحصها بس المشكلة لو انت عايز تنفذ الكود في بداية الصفحة في ال head tag الزاي هتوصل لل tag ده قبل الصفحة ما تحمل انت ممكن تستخدم body onload event هيشتغل تمام

الكود التالي شغال مع كل المتصفحات و تمام

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

<!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>Arab Team 2000</title>
	<script type="text/javascript" language="javascript">

		 function RunOnce()
		 {
		  if(document.getElementById("IsRequested").value == "False")
		  {
			window.alert("run at first request");
			document.getElementById("IsRequested").value = "True"
		  }   
		 } 

   </script>
</head>
<body  onload="RunOnce();" >

	<form id="form1" runat="server">

	<input type="hidden" value="False" enableviewstate="true" name="IsRequested" id="IsRequested" />

	<a href=""> click and back</a>

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

لاحظ دالة RunOnce و استدعائها في ال body OnLoad event و ال Hidden Field المسمي IsRequested المستخدم في ال page form1 (ممكن من غير form مش فارقه)

تم تعديل هذه المشاركة بواسطة AhmedElbaz في 19 أكتوبر 2008 في 11:32

مواضيع مشابهة