html موضع الصفحة الثابتة بعد التحديث
سؤال
لدي صفحة أرغب في أن تظل ثابتة بعد التحديث ولا تعود افتراضيًا إلى الصفحة العليا مرة أخرى لأنها ستؤدي إلى تعطيل الموضع الذي كنت أشاهده فيه آخر مرة.ومن ثم، لدي كل الوقت للتمرير لأسفل مرة أخرى للعثور على المنطقة التي كنت أشاهدها مؤخرًا.هل هناك طريقة للتخلص من عبء التمرير لأسفل مرة أخرى؟
المحلول
هنا مثال على الاحتفاظ بموضع التمرير باستخدام PHP.
هنا مثال لـ ASP.NET.
إذا لم يكن ذلك كافيًا، فإن إجراء بحث على Google عن "الاحتفاظ بموضع التمرير" سيوفر العديد من الأمثلة.
نصائح أخرى
عذرًا - لقد قمت بإزالة المدونة المشار إليها أعلاه (تمت ملاحظتها في إحصائيات إعادة التوجيه)، لكن المنشور لا يزال متاحًا من archive.org: http://web.archive.org/web/20050508195342/patrickfoley.com/2005/01/21/scroll-saver/
إليك مثال PHP الكامل من تلك الصفحة:
<HTML>
<HEAD>
<TITLE>Test</TITLE>
<script>
function SaveScrollXY() {
document.Form1.ScrollX.value = document.body.scrollLeft;
document.Form1.ScrollY.value = document.body.scrollTop;
}
function ResetScrollPosition() {
var hidx, hidy;
hidx = document.Form1.ScrollX;
hidy = document.Form1.ScrollY;
if (typeof hidx != 'undefined' && typeof hidy != 'undefined') {
window.scrollTo(hidx.value, hidy.value);
}
}
</script>
</HEAD>
<BODY onload="ResetScrollPosition()">
<form name="Form1" id="Form1" method="post"
onsubmit="SaveScrollXY()" action="index.php">
<input name="ScrollX" id="ScrollX" type="hidden"
value="<?php echo $_REQUEST['ScrollX'] ?>" />
<input name="ScrollY" id="ScrollY" type="hidden"
value="<?php echo $_REQUEST['ScrollY'] ?>" />
<p>This is just a paragraph to make a very long page.</p>
…
<P>This is just a paragraph to make a very long page.</P>
<P>
<input name="TextBox1" type="text"
value="<?php $v = $_REQUEST['TextBox1']; echo $v ? $v + 1 : 1 ?>"
readonly="readonly" id="TextBox1" /></P>
<P>
<input type="submit" name="Button1" value="Post Form"
id="Button1" /></P>
</form>
</BODY>
</HTML>
لا تنتمي إلى StackOverflow