PDA

View Full Version : سوال: استفاده از آژاکس و تغییر آدرس بار



amirepsilon
شنبه 02 خرداد 1388, 00:16 صبح
سلام
من یه سایت دیدم که مثلا به gallery.php لینک داده بود
وقتی روش کلیک میکردی هم لینک در آدرس بار عوض میشد (که درواقع لینک اطلی مطلبه)
و هم به صورت آژاکس صفحه تغییر میکرد
میشه توضیح بدید ؟
نمونه : http://www.mohsendavari.ir/
ممنون

narsic
شنبه 02 خرداد 1388, 02:36 صبح
با سلام
دوست عزیز بله این سایت ایجکس هست اما آدرس هم تغییر نمیکنه آدرس به این شکل میشه


http://www.mohsendavari.ir/#http://www.mohsendavari.ir/gallery.php

شما زمانی که از # در مقدار آدرس استفاده میکنید به این معناست که قصد تغییر صفحه رو ندارید اما قصد دارید به مکان دیگری در صفحه بروید یا برای این قسمت یک نشانی واقعی داشته باشید .
موفق باشید

eAmin
شنبه 02 خرداد 1388, 08:55 صبح
سلام.

سایتی که معرفی کردید، از Ajax history استفاده کرده، برای درست کار کردن back & forward در ای جکس.

alvanweb
شنبه 02 خرداد 1388, 12:13 عصر
خیلی ساده است این موضوع
با یه مثال ساده توضیح میدم فرض کنید یه صفحه با محتوای زیر داریم:

<html>
<head>
<title>Thest BY Alvanweb</title>
</head>
<body>
<div id="container">


<div id="right_side">
<ul>
<li><a rel ="tab-1" href="about.php"> About US </a></li>
<li><a rel ="tab-2" href="contact.php"> Contact US </a></li>
</ul>
</div>

<div id="left_side">
</div>

</div>
</body>
</html> می‌خواهیم وقتی کاربر روی یه لینک سمت راست کلیک کرد یه محتوا در سمت چپ بارگذاری بشه. گاهی اوقات برای کنترل این محتوا به یه مشخصه نیاز داریم که می‌تونیم اونو از طریق آدرس بار کنترل کنیم. من در مثال زیر به کمک jquery علاوه بر انجام عمل بالا (بارگذاری در سمت چپ هنگام کلیک روی لینک سمت راست) پروپرتی rel تگ a رو به آدرس بار ارسال می‌کنم:

$('#right_side a').click(function(ev){
var path = $(this).attr("rel");
window.location.hash = path;
loadPage(this.href);
ev.preventDefault();
});

function loadPage(path){
$('#left_side').empty().load(path);
}البته rel کاربرد دیگری داره ولی من بعنوان یه پروپرتی کمکی ازش استفاده کردم.

amirepsilon
شنبه 02 خرداد 1388, 15:44 عصر
لطفا مثال های بیشتری بزارید
ممنون

amirepsilon
دوشنبه 11 خرداد 1388, 15:03 عصر
نمیشه بدون جی کوئری بگید ؟

__ziXet__
دوشنبه 11 خرداد 1388, 17:51 عصر
نمیشه بدون جی کوئری بگید ؟
میشه عزیزم میشه!
شما با setInterval مثلا هر 100 میلی ثانیه هش رو چک میکنی و هروقت عوض شده بود صفحه رو با ای جکس تغییر میدی!
تو لایودیک هم این امکان بدون استفاده از jquery قرار داده شده است.
البته اساس اون پلاگین هم همینه.

موفق باشید

amirepsilon
دوشنبه 11 خرداد 1388, 22:06 عصر
ممنون دوست من میشه کد بزارید ؟

mosi20
دوشنبه 15 تیر 1388, 18:03 عصر
سلام
آقا من محسن داوری هستم.
کد جاوای سایت من که مشخصه
این افکت را کدش را میتونید توی فایل main.js پیدا کنید