مشکل در کش شدن xml

DaDaDooDoo

کاربر VIP
سلام .
من یه swf دارم که توی یه پیج HTML قرار دادمش که یکسری اطلاعات رو از XML می خونه . وقتی اطلاعات XML رو تغییر می دم اطلاعات او فایل swf تغییر می کنه اما فقط وقتی که خود فایل swf رو مستقیماً باز می کنم ولی وقتی پیج HTML رو باز می کنم تغییر نکرده و همون اطلاعات قبی هست . نکته این هست که وقتی تغییراتی در swf می دم ( مثلاً رنگ آبجکت ها رو عوض می کنم ) اون تغییرات اعمال می شن توی html اما دیتا های XML نه .
مشکل از کجاست ؟
اینم بگم که من حتی اون فایل XML رو پاک کردم اما بازم دیتا ها رو نشون می ده . cashe مرورگر ها رو هم پاک کردم اما بازم از رو نمی ره ...
فکر کنم cashe می شه ، چون وقتی با یه مرورگر دیگه باز می کنم اطلاعات جدید XML رو درست نمایش می ده .
 
آخرین ویرایش:

JavidFlasher

کاربر فعال
کوروش جان منم همین مشکل رو داشتم اما مال من swfهم تغییر نمیکرد!
با v . p . nباز کن شاید درست شه!
 

Amiru60

Member
همانطور که حدس زدید اشکال از کش xml در Temporary Internet Files ویندوزه.

باید xml را پاک کنید و یا در هر بار تغییرات در xml اسم المان ها مثل Attributes و ... را عوض کنید.
 

meysamk

Active Member
سلام .
من یه swf دارم که توی یه پیج HTML قرار دادمش که یکسری اطلاعات رو از XML می خونه . وقتی اطلاعات XML رو تغییر می دم اطلاعات او فایل swf تغییر می کنه اما فقط وقتی که خود فایل swf رو مستقیماً باز می کنم ولی وقتی پیج HTML رو باز می کنم تغییر نکرده و همون اطلاعات قبی هست . نکته این هست که وقتی تغییراتی در swf می دم ( مثلاً رنگ آبجکت ها رو عوض می کنم ) اون تغییرات اعمال می شن توی html اما دیتا های XML نه .
مشکل از کجاست ؟
اینم بگم که من حتی اون فایل XML رو پاک کردم اما بازم دیتا ها رو نشون می ده . cashe مرورگر ها رو هم پاک کردم اما بازم از رو نمی ره ...
فکر کنم cashe می شه ، چون وقتی با یه مرورگر دیگه باز می کنم اطلاعات جدید XML رو درست نمایش می ده .

سلام،
آدرستون رو به این صورت وارد کنید، ببینید راه میده یا نه؟

PHP:
"test.xml?"+Math.round(Math.random()*99999)
 

BehrouzPc

پــــادشــاه فــلــــش
شما این کد را خودتون امتحان کردین؟

فکر کنم از نظر فنی اشتباه باشه!!
نه این روش درست هست...

البته توجه داشته باشید که با این کار برنامه با اجرای مستقیم روی سیستم شما نمی تواند به فایل دسترسی داشته باشد ولی به صورت آنلاین (و localhost) هیچ مشکلی ندارد
در ضمن اگر می خواهید با اجرای مستقم روی سیسم هم مشکلی نباشد می بایست توسط اکشن چک کنید که مثلا فلش به صورت StandAlone اجرا شده است یا خیر در صورتی که StandAlone بود یا آدرس جاری فایل با http شروع نمی شد ، آدرس دهی را بدون cacheKiller انجام دهید

بنده این روش را پیشنهاد می کنم

PHP:
"behrouz.xml?cacheKiller=" + (new Date()).getTime()
این مقدار می بایست به عنوان پارامتر آدرس که به صورت String هست به URLRequest داده شود.

نکته ای را هم عرض کنم ، عبارت cacheKiller به صورت دلخواه می تواند هر چیزی باشد یا اصلا کلا به همراه (=) حذف شود
موفق و پیروز باشید
 
آخرین ویرایش:

akherat

مدیر انجمن
یکم می شه در مورد این کد توضیح بدی که چیکار می کنه ؟
وای ی ی ی ی کوروش
ببین یادمه گفته بودی php کارمی کنی
داره به xml و به متغیر cachekiller یه مقدار میفرسه
حالا اون مقدار چی هست؟
اون داره یه string که تکراری نیست میفرسه
 
آخرین ویرایش:

DaDaDooDoo

کاربر VIP
خوب این رو که میدونم ، منظورم این بود که چه عملی انجام میده ، چه ربطی به cache داره ؟ چون هربار xml رو با یه مقدار جدید فراخوانی می کنه باعث می شه cache نشه ؟ می شه گفت یه جور تکنیک یا پلتیکه ؟
 
آخرین ویرایش:

BehrouzPc

پــــادشــاه فــلــــش
یکم می شه در مورد این کد توضیح بدی که چیکار می کنه ؟
کسری توضیح داد.
در کل تنها کاری که انجام می شود یک مقدار جدید هست که به آدرس برای جلوگیری از کش استفاده میشه
حالا چرا زمان استفاده شده ، برای این که هر لحظه خروجی این مورد فرق داره...
حالا اگه بخواهی که در یک روز فقط یک بار این عمل انجام بشه می تونی تاریخ روز و ماه رو برگردونی با این کار هر کاربر در یک روز یک بار اطلاعات جدید را دریافت می کند و اگر در همان روز دوباره صفحه را مشاهده کند آخرین اطلاعاتی که دریافت کرده و با آدرس مذکور کش شده را دریافت می کند.
در ضمن برای فایل های پی اچ پی میشه با header هایی که تعریف می کنی کش رو مشخص کنی و دیگه توی فلش هم کاری انجام ندی..

موفق و پیروز باشید
 

جدیدترین ارسال ها

بالا