PDA

View Full Version : مشکلی عجیب با jquery.min.js در yii



alirezara
شنبه 22 فروردین 1394, 21:47 عصر
با سلام و خسته نباشید خدمت دوستان عزیز:لبخندساده:

دوستان بنده با یک مشکلی عجیب روبرو شدم.:گریه:

:متعجب:توی قالب پروژه فایل jquery.min.js رو قرار دادم بعد توی یکی از ویوهای پروژه از لینک ایجکسی استفاده کردم و به خوبی عمل می کنه بعد توی یک ویوی دیگه یک لینک ایجکسی دیگه گذاشتم اما کار نمیکنه دقیقا همون تنظیمات قبلی رو اعمال کردم اما کار نمیکنه ولی اگه فایل jquery.min.js را از قالبم بردارم به خوبی کار میکنه.:متعجب:

از دوستان عزیزم خواهشمندم راهنماییم کنید.

با تشکر ....

jafaripur
یک شنبه 23 فروردین 1394, 00:29 صبح
فایل jQuery رو خود Yii اضافه می کنه. نمی خواد خودت دستی بارگذاریش کنی. این کارت Conflict حتما به وجود میاره.
AssetManager رو تو توضیحات بخون.

mostafa_shoakry
یک شنبه 23 فروردین 1394, 09:41 صبح
فایل jQuery رو خود Yii اضافه می کنه. نمی خواد خودت دستی بارگذاریش کنی. این کارت Conflict حتما به وجود میاره.
AssetManager رو تو توضیحات بخون.

سلام
یه سوال من خودم وقتی می خوام یه فایل js اضافه کنم چون فایل jquery در آخر توسط خود yii اضافه شده من فایل js رو اضافه کردنی توابع jquery مربوط به فایل خودمو نمیشناسه . حالا من چجوری فایل js رو به آخر اضافه کنم یا فایل jquey خود yii رو حذفش کنم در اول اجرای page قرار بدم؟:متفکر:

Reza1607
یک شنبه 23 فروردین 1394, 11:58 صبح
خود yii برای استفاده از ایجکس جی کوئری رو لود میکنه
برای اینکه بتونید جی کوئری خودتون رو لود کنید از دستور زیر استفاده کنید


Yii::app()->clientScript->scriptMap=array(
'jquery.js'=>'PATH_TO_jQuery_JS',
'jquery.min.js'=>'PATH_TO_jQuery_JS_MIN'
);
بهتر تو متد init
فایل component/Controller.php بذارید

یا اگر هم میخواین که کلا غیر فعالش کنید و خودتون با کدهای html جی کوئری رو لود کنید به صورت زیر استفاده کنید


Yii::app()->clientScript->scriptMap=array(
'jquery.js'=>false ,
'jquery.min.js'=>false
);

پ.ن: اینا برای yii 1 هستش

alirezara
یک شنبه 23 فروردین 1394, 16:48 عصر
فایل jQuery رو خود Yii اضافه می کنه. نمی خواد خودت دستی بارگذاریش کنی. این کارت Conflict حتما به وجود میاره.
AssetManager رو تو توضیحات بخون.

با تشکر از پاسخ تون دوست عزیز.

اگه yii خودش این فایل رو اضافه میکنه پس چرا وقتی این فایل
jQuery رو از توی قالب حذف می کنم قالب بهم میریزه؟ ممنون میشم راهنماییم کنید.

jafaripur
یک شنبه 23 فروردین 1394, 23:28 عصر
سلام
یه سوال من خودم وقتی می خوام یه فایل js اضافه کنم چون فایل jquery در آخر توسط خود yii اضافه شده من فایل js رو اضافه کردنی توابع jquery مربوط به فایل خودمو نمیشناسه . حالا من چجوری فایل js رو به آخر اضافه کنم یا فایل jquey خود yii رو حذفش کنم در اول اجرای page قرار بدم؟:متفکر:

باید معلوم کنی که فایل یا کد اسکریپت کجا اضافه شه.
برای فایل:

$this->registerJsFile(Yii::$app->getRequest()->getBaseUrl() . '/test/test.min.js', [
'position' => View::POS_HEAD,
]);

برای اسکریپت اینلاین:

$this->registerJs($js, View::POS_READY);

jafaripur
یک شنبه 23 فروردین 1394, 23:33 عصر
با تشکر از پاسخ تون دوست عزیز.

اگه yii خودش این فایل رو اضافه میکنه پس چرا وقتی این فایل
jQuery رو از توی قالب حذف می کنم قالب بهم میریزه؟ ممنون میشم راهنماییم کنید.


این مشکلات چیز خاصی ندارند با دیباگ و عیب یابی ساده درست می شن. ما کد یا چیزی نمی بینیم که فقط از رو تجربیات و حدسیات جواب می دیم.

mostafa_shoakry
دوشنبه 24 فروردین 1394, 09:31 صبح
ممنون آقای جعفری پور از راهنماییت :قلب:
من از این کد استفاده کردم مشکلم حل شد


$this->registerJsFile(Yii::$app->getRequest()->getBaseUrl() . '/assets/uploadifive/uploadifive.js', [
'position' => \yii\web\View::POS_END,
]);