masihyeganeh
Member
اول سلام.
آیا تا بحال براتون پیش اومده که بخواهید سایت استاتیکی (منظورم همون HTML ساده است. یا به قولی WEB 1) رو که قبلاً آماده کردید، تبدیل به یه سایت پویا تر (منظورم همون AJAX ه معروفه. یا به قولی WEB 2) کنید؟
برای این کار باید یک تابع تعریف کنید که ارسال آجاکسی رو براتون انجام بده و اون رو تو رویداد onclick همه ی لینک هاتون بذارید shock و برای تک تک فرم هاتون هم تابع جداگونه بنویسید cry.
اما مشکل با Ajax Injector کاملاً حل میشه.
فقط با 3 تا قدم ساده، می تونید تموم سایتتون رو آجاکسی کنید.
قدم اول :
فایل اسکریپت رو به HEAD صفحه تون پیوست کنید.
(دیگه همه بلدند)
قدم دوم :
3 تا تابع هست که باید آخر BODY تون تعریف بشن:
1- تابع onAjaxResponse برای مدیریت کردن جواب آجاکس.
که یک پارامتر داره و اون هم متنی ه که از صفحه ی درخواستی به آجاکس اومده.
2- تابع requestStart که وقتی یک لینک کلیک میشه یا یک فرم ارسال میشه، صدا زده میشه و مثلاً برای ظاهر کردن یک متن Loading استفاده میشه.
3- تابع requestEnd که وقتی جوابی به آجاکس می رسه، صدا زده میشه و مثلاً برای پنهان کردن متن Loading استفاده میشه.
قدم سوم (مهمترین قدم) :
از سایت آجاکسی شده ی خودتون لذت ببرید.
همراه فایل اصلی، یک فایل نمونه هم هست که می تونید توضیحات من رو به صورت کد شده توش ببینید.
ویژگی ها:
* می تونید مقدار onclick لینک ها و onsubmit فرم هایی رو که نمی خوای آجاکسی بشن رو براشون تعریف کنید. یا حداقل به صورت خالی بنویسید. مثال:
* وقتی که آجاکس به صفحه تون تزریق بشه، با هر بار ارسال درخواست، یک مقدار GET اضافی به نام ajaxEnabled هم می فرسته که در سمت دیگر می تونید بفهمید که این درخواست از یه آجاکس اومده یا نه. (اگر کار کرده باشد، می دونید که خیلی به درد می خوره)
* هنگام ارسال، یک مقدار Random هم می فرسته که کمی جلوی Cache شدن نا خواسته رو می گیره.
تست شده در:
Intenet Explorer (IE) 6.0.2900
FireFox 2.0.0.16
Opera 9.50
لینک پروژه:
http://sourceforge.net/projects/ajaxinjector/
لطفاً نظرات پیشنهادی و گزارش خطاهاتون رو همینجا یا توی سایت پروژه مطرح کنید.
آیا تا بحال براتون پیش اومده که بخواهید سایت استاتیکی (منظورم همون HTML ساده است. یا به قولی WEB 1) رو که قبلاً آماده کردید، تبدیل به یه سایت پویا تر (منظورم همون AJAX ه معروفه. یا به قولی WEB 2) کنید؟
برای این کار باید یک تابع تعریف کنید که ارسال آجاکسی رو براتون انجام بده و اون رو تو رویداد onclick همه ی لینک هاتون بذارید shock و برای تک تک فرم هاتون هم تابع جداگونه بنویسید cry.
اما مشکل با Ajax Injector کاملاً حل میشه.
فقط با 3 تا قدم ساده، می تونید تموم سایتتون رو آجاکسی کنید.
قدم اول :
فایل اسکریپت رو به HEAD صفحه تون پیوست کنید.
(دیگه همه بلدند)
HTML:
<script language="javascript" src="AjaxInjector.js" type="text/JavaScript"></script>
قدم دوم :
3 تا تابع هست که باید آخر BODY تون تعریف بشن:
1- تابع onAjaxResponse برای مدیریت کردن جواب آجاکس.
که یک پارامتر داره و اون هم متنی ه که از صفحه ی درخواستی به آجاکس اومده.
2- تابع requestStart که وقتی یک لینک کلیک میشه یا یک فرم ارسال میشه، صدا زده میشه و مثلاً برای ظاهر کردن یک متن Loading استفاده میشه.
3- تابع requestEnd که وقتی جوابی به آجاکس می رسه، صدا زده میشه و مثلاً برای پنهان کردن متن Loading استفاده میشه.
قدم سوم (مهمترین قدم) :
از سایت آجاکسی شده ی خودتون لذت ببرید.
همراه فایل اصلی، یک فایل نمونه هم هست که می تونید توضیحات من رو به صورت کد شده توش ببینید.
ویژگی ها:
* می تونید مقدار onclick لینک ها و onsubmit فرم هایی رو که نمی خوای آجاکسی بشن رو براشون تعریف کنید. یا حداقل به صورت خالی بنویسید. مثال:
HTML:
<a href="..." onclick="">Link</a>
* وقتی که آجاکس به صفحه تون تزریق بشه، با هر بار ارسال درخواست، یک مقدار GET اضافی به نام ajaxEnabled هم می فرسته که در سمت دیگر می تونید بفهمید که این درخواست از یه آجاکس اومده یا نه. (اگر کار کرده باشد، می دونید که خیلی به درد می خوره)
* هنگام ارسال، یک مقدار Random هم می فرسته که کمی جلوی Cache شدن نا خواسته رو می گیره.
تست شده در:
Intenet Explorer (IE) 6.0.2900
FireFox 2.0.0.16
Opera 9.50
لینک پروژه:
http://sourceforge.net/projects/ajaxinjector/
لطفاً نظرات پیشنهادی و گزارش خطاهاتون رو همینجا یا توی سایت پروژه مطرح کنید.