PDA

View Full Version : رفرش عکس بدون رفرش شدن کل صفحه



khazaie01
یک شنبه 18 مرداد 1388, 13:02 عصر
سلام دوستان
تو برنامه یک تایمر دارم که عکس را لود میکنه (هر یک ثانیه عکس را رفرش میکنه) وقتی اجرا میکنم کل صفحه رفرش میشه ... چکار کنم که فقط عکس رفرش بشه و صفحه دوباره لود نشه ؟

ghabil
سه شنبه 20 مرداد 1388, 00:50 صبح
عکس رو رفرش میکنه یعنی چی؟ اگر تایمرت SRC مربوط به تگ IMG رو عوض کنه خب عکس عوض میشه دیگه

khazaie01
سه شنبه 20 مرداد 1388, 09:35 صبح
SRC ?!
ببینید روی سرور عکسی هست که هر 1 ثانیه عوض میشه... میخوام با این وب اپلیکیشن عکس را نمایش بدم خوب برای اینکه عکس بروز باشه توی یک تایمر هر 1 ثانیه عکس را لود میکنم (MyImage.Picture.LoadFromFile('d:\aa.jpg')) این کار باعث میشه کل صفحه وب دوباره لود بشه
سوال من اینه که میشه کاری کرد که فقط عکس دوباره لود بشه و کل صفحه رفرش نشه ؟ اگه متوجه منظور من نشدید بگید تا برنامه را ران کنم و آیپی سیستم را بدم که خودتون ببینید

ghabil
سه شنبه 20 مرداد 1388, 22:33 عصر
LoadFromFile یک دستور سرور ساید هست برای همین صفحه Refresh میشه باید یک تایمر JavaScriptی بسازی و کلاینت ساید SRC رو ست بکنی.
اگر اشتباه نکنم ... وای پیر شدم اسم شرکتی که تایمر کلاینت سایت مجانی واسه IW داشت رو یادم رفته! .... آهان Arcanatechnologies داشت کامپوننتش رو یک سری بزن به هر حال 2-3 سال پیشها یک پک کامل کامپوننت مجانی داشت

m1975b
سه شنبه 20 مرداد 1388, 23:32 عصر
سلام
از کامپوننت Ajax استفاده کنید.
UpdatePanel

عالی جواب میده.

khazaie01
چهارشنبه 21 مرداد 1388, 08:24 صبح
LoadFromFile یک دستور سرور ساید هست برای همین صفحه Refresh میشه باید یک تایمر JavaScriptی بسازی و کلاینت ساید SRC رو ست بکنی.
اگر اشتباه نکنم ... وای پیر شدم اسم شرکتی که تایمر کلاینت سایت مجانی واسه IW داشت رو یادم رفته! .... آهان Arcanatechnologies داشت کامپوننتش رو یک سری بزن به هر حال 2-3 سال پیشها یک پک کامل کامپوننت مجانی داشت

عکس روی سرور نه کلاینت ! با LoadFromFile عکس را از یکی از درایوها میخونم بعد تو صفحه وبی که اجرا میشه روی عکی کلیک راست میکنم تا آدرس عکس را در بیارم ولی آدرس عکس یه فایل با پسوند tmp و در پوشه cashe

دوستان من تو بخش وب دلفی خیلی خیلی خیلی تازه کارم یکم بیشتر توضیح بدید
ممنووووووون

ghabil
چهارشنبه 21 مرداد 1388, 19:19 عصر
نمیتونی باید بجای IWImage از IWImageFile یا همچن چیزی که الان اسمش یادم نیست اما از ورژن هفت به بعد اومد در اینتراوب استفاده کنی عکست رو هم توی یک فلدری که روی وب بهش دسترسی هست بزاری و از URLش استفاده کنی. کار سختی نیست اصلا

khazaie01
چهارشنبه 21 مرداد 1388, 19:27 عصر
ممنون
به جای IwImage از IwImageFile استفاده کردم (دوستور لود را عوض نکردم) اما Access denied داد فایل عکس را هم داخل پوشه Cache کپی کردم بازم پیغام داد ... وقتی از وب سرور خود اینترا وب (حالت StandAlone) استفاده میکنیم کدام پوشه ها قابل دسترس هستند ؟

khazaie01
چهارشنبه 21 مرداد 1388, 20:51 عصر
این مشکل حل شد و SRC عکس را مقدار میدم ولی بازم مشکل اصلی حل نشد !
SRC عکس را تو تایمر مقدار بدم هر دفعه همون عکسی را نشون میده که دفعه اول بود کرده و درستش هم همینه چون عکس تو سرور داره تغییر میکنه و چون آدرس عوض نشده مرورگر عکس را از کش میخونه ..فکر کنم باید از Ajax استفاده کرد که عکس دوباره لود بشه ولی کل صفحه رفرش نشه .... فقط نمیدونم چجوری این کار رابکنم !!!

نمیشه کش را غیر فعال کرد ؟

ghabil
پنج شنبه 22 مرداد 1388, 19:42 عصر
ببین اولا آزاکس هم بعضا به مشکل کش میخوره، ثانیا این مورد ربطی به آزاکس نداره، البته میشه از آزاکس استفاده کرد مناها مثل این میمونه که بگی میخوام با ماشین برم خونه همسایمون! یک راه حل برای فرار از مشکل کش هست از نوع راه حلهای مرغابی ;) راستش من ازش استفاده میکنم تاحالا به مشکلی نخوردم اینجوری که سورس رو با یک پارامتر رندم تعین کنید مثلا یک چیزی اینجوری :



<img src="img.jpg?rnd=123">

حالا هر دفعه یک مقدار رندم بدین به پارمتر rnd.

khazaie01
پنج شنبه 22 مرداد 1388, 20:00 عصر
آقا خیلی آقایییییی درست شد مرسییییییییی
ولی تو firefox نمیاد دلیل خاصی داره ؟
ممنوووووووووووووووووون

ghabil
پنج شنبه 22 مرداد 1388, 20:08 عصر
مشکل ایمیج پارامتر دار نیست، چون من الان تست کردم جواب داد ولی شاید تابعی که باهاش رندم میسازی یا تایمر میسازی با فایرفاکس مشکل داره

khazaie01
پنج شنبه 22 مرداد 1388, 21:24 عصر
نه قبل اینکه ?rnd=123 را اضاف کنم تو firefox هم کار میکرد