PDA

View Full Version : مشکل با Bundle و فایل های جی کوئری



jaykob
سه شنبه 08 مهر 1393, 17:57 عصر
سلام


من در یک قالب در انتها فایل های جی کوئری رو فراخوانی کردم بعضی فایل ها js جدا هستند و بعضی هم script هایی معمولی من می خواستم از BundleConfig استفاده کنم فایل هایی که .js بودن تکلیفشون مشخص بود در Bundle اضافه کردم ولی script هارو هر کدام کد داخل تگ script رو کپی کردم داخل فایل های .js جداگانه و ترتیب رو رعایت کردم اما وقتی scripts.render استفاده می کنم فقط فایل هایی که از قبل .js بودن رو می خونه و کد هایی رو که خودم از تگ script داخل فایل های js کپی کردم رو نمی خونه مثل این کد رو بردم داخل یک فایل به نام myfile.js :


$(document).ready(function () {
$(".nav-top-xs").click(function () {
$(".nav-top-xs ul").slideToggle("fast");
});


});


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

با تشکر

amir-yeketaz
چهارشنبه 09 مهر 1393, 12:41 عصر
کد صفحه ای که عملیات Render صورت میگیرد و همینطور فایل های js شخصی خودتون رو قرار بدین (صفحه ی include کردن فایل ها )

یه سوالی هم که دارم اینه که چرا کدهای شخصی خودتون مثه myfile.js را در همون Bundle قرار نمیدین؟!

اگر کد شخصی شما در یک صفحه ی خاص می باشد بهتر است قبل از اتمام body این کد را وارد کنید :

@RenderSection("scripts", false)

سپس در هر view که میخواهید از اسکریپت های شخصی استفاده کنید اینگونه عمل کنید :
@section scripts {
<script>
//your js codes here ...
</script>
}

با این کار با رفتن به View مورد نظر فایل های js شخصی شما به انتهای html اضافه می شود (بعد از Render فایل های باندل شده بگذارید)

jaykob
چهارشنبه 09 مهر 1393, 17:25 عصر
سلام

تشکر از شما


این یک بخشی از کد های js من در حالت معمولی در Layout :



<script type="text/javascript" src="/js/jquery-2.1.0.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$(".nav-top-xs").click(function () {
$(".nav-top-xs ul").slideToggle("fast");
});


});
</script>




<script type="text/javascript" src="/js/scrollReveal.min.js"></script>
<script>
$(document).ready(function () {


// The starting defaults.
var config = {
after: '0s',
enter: 'bottom',
move: '24px',
over: '0.66s',
easing: 'ease-in-out',
viewportFactor: 0.50,
reset: false,
init: true
};


window.scrollReveal = new scrollReveal(config);
});
</script>


و من به این شکل در Bundle نوشتم :



bundles.Add(new ScriptBundle("~/My/jquery").Include(
"~/js/jquery-2.1.0.min.js",
"~/js/nav-top.js",
"~/js/scrollReveal.min.js",
"~/js/MyScollReveal.js"
));


و به این شکل در انتهای صفحه Bundle رو صدا می زنم :




@Scripts.Render("~/My/jquery")


در Bundle نوشته شده فایل های jquery-2.1.0.min.js و scrollReveal.min.js وجود داشت از قبل ولی دو فایل دیگر کد داخل Script بود که جدا کردم و داخل دو فایل جدا گذاشتم بتونم داخل Bundle استفاده کنم

برای css ها هم همین کارو کردم اما مشکلی ندارم

ممنون می شم راهنمایی کنید .

با تشکر

amir-yeketaz
پنج شنبه 10 مهر 1393, 00:13 صبح
به نظر که مشکلی نداره !

ولی در کل ابتدا کتابخونه ها رو قرار بده و جاوااسکریپت های سفارشیتو همرو تو یه فایل قرار بده در انتهای html قبل از body ...

نکته ی دیگر که میتونی چک کنی فایل ها load شدن یا نه چک کردن تب Network در ابزار developer tools در گوگل کروم هست که ببینی چه فایل های لود شدن ...