رفتن به مطلب

جاوا اسکریپت و یه درد سر بزرگ دیگه!


پست های پیشنهاد شده

سلام و درود

دوستان گرامی ، تا زمانی که فایل جاوا اسکریپت سایت کامل لود بشه ، آیتم های منو بخصوص اونهایی که زیر منو دارن کامل باز میمونن و منو بهم میریزه. خیلی تلاش کردم که درستش کنم اما نمیشه.

کسی به همچین مشکلی برخورده که بتونه به من کمک کنه؟ اگه نیاز هست کدهای اسکریپتی و php منو رو ارسال کنم توی تاپیک.

با تشکر و سپاس

ویرایش شده توسط unid_user
لینک به ارسال
در 2 دقیقه قبل، unid_user گفته است :

سلام و درود

دوستان گرامی ، تا زمانی که فایل جاوا اسکریپت سایت کامل لود بشه ، آیتم های منو بخصوص اونهایی که زیر منو دارن کامل باز میمونن و منو بهم میریزه. خیلی تلاش کردم که درستش کنم اما نمیشه.

کسی به همچین مشکلی برخورده که بتنوه به من کمک کنه؟ اگه نیاز هست کدهای اسکریپتی و php منو رو ارسال کنم توی تاپیک.

با تشکر و سپاس

سلام 

inspect element رو باز و در console ببینید خطایی دریافت میکنید یا خیر؟

لینک به ارسال
در 1 دقیقه قبل، cherry گفته است :

سلام 

inspect element رو باز و در console ببینید خطایی دریافت میکنید یا خیر؟

بله خطا داره چندتا هم هست

لینک به ارسال
در 5 دقیقه قبل، unid_user گفته است :

بله خطا داره چندتا هم هست

Unchecked runtime.lastError: The message port closed before a response was received.
(index):31 Uncaught ReferenceError: FooBox is not defined
    at (index):31
(anonymous) @ (index):31
autoptimize_f178169edf1a4797467c2939a1de2858.js:2 JQMIGRATE: Migrate is installed, version 1.4.1
userscript.html?id=a10f46cc-18b6-4805-b735-0c9e2845bd8c:80 from content message {
    "action": "callFn",
    "fn": "getPreferences"
}
userscript.html?id=a10f46cc-18b6-4805-b735-0c9e2845bd8c:80 from content message {
    "action": "callFn",
    "fn": "getPreferences"
}
userscript.html?id=a10f46cc-18b6-4805-b735-0c9e2845bd8c:80 from content message {
    "action": "callFn",
    "fn": "promoBarGetHash",
    "args": [
        "www.khayamchoob.com"
    ]
}
client.js?11848f8:16 [WARNING] Crisp found shims of native JavaScript methods. This can alter the chatbox behavior and break things. Make sure not to override listed functions to ensure your chatbox works as expected. You may be looking for other JavaScript libraries in use on this page.

You can disable this warning by adding: $crisp.push(["safe", true]) to your page JavaScript.

Methods to check: (2) ["document.addEventListener", "document.removeEventListener"]
Crisp.Polyfill.e.__warn_incompatible @ client.js?11848f8:16
(anonymous) @ client.js?11848f8:16
setTimeout (async)
Crisp.Polyfill.e.schedule_warn_incompatible @ client.js?11848f8:16
Crisp.Base.e.init @ client.js?11848f8:18
s @ client.js?11848f8:16
(anonymous) @ VM206 l.js:7

 

ویرایش شده توسط unid_user
لینک به ارسال
در 1 دقیقه قبل، cherry گفته است :

آدرس وبسایتتون رو ارسال کنید

لوکاله توی سیستم خودم

لینک به ارسال
در 1 دقیقه قبل، unid_user گفته است :

لوکاله توی سیستم خودم

در قالبتون فایل جاوا اسکریپت به چه صورت لود شده؟

لینک به ارسال
در هم اکنون، cherry گفته است :

در قالبتون فایل جاوا اسکریپت به چه صورت لود شده؟

کد مربوط به منو:

var ul1 = "ul.main-nav-ul > li:has(ul)";
var ul2 = "ul.main-nav-ul > li:has(ul) > ul:has(li)";
var ul3 = "ul.main-nav-ul > li:has(ul) > ul:has(li) > li:has(ul)";
$(ul1).addClass('dropdown');
$(ul2).addClass('sub-ul-1');
$(" > li:has(ul)", ul2).addClass('dropdown');
$(" > ul:has(li)", ul3).addClass('sub-ul-2');
$("ul.main-nav-ul > li.dropdown").hover(function() {
  $("ul.sub-ul-1", this).stop().fadeIn('400');
}, function() {
  $("ul.sub-ul-1", this).stop().fadeOut('400');
});
$("ul.sub-ul-1 > li.dropdown").hover(function() {
  $("ul.sub-ul-2", this).stop().fadeIn('400');
}, function() {
  $("ul.sub-ul-2", this).stop().fadeOut('400');
});

این هم فوتر سایتم:

<script src="<?php echo get_template_directory_uri(); ?>/assets/js/jquery.min.js" defer></script>
    <script src="<?php echo get_template_directory_uri(); ?>/assets/js/owl.carousel.min.js" defer></script>
    <script src="<?php echo get_template_directory_uri(); ?>/assets/js/script.js" defer></script>
	<?php wp_footer(); ?>
  </body>
</html>

 

لینک به ارسال

@unid_user

کدهای لود فایل رو از فوتر حذف کنید و کدهای زیر رو در فایل functions.php قرار بدین

add_action( 'wp_enqueue_scripts', 'theme_add_script' );
function theme_add_script() {
	if ( ! is_admin() ) {
		wp_deregister_script( 'jquery' );
		wp_register_script( 'jquery', get_template_directory_uri() . '/assets/js/jquery.min.js', false );
		wp_enqueue_script( 'jquery' );
	}
	wp_register_script( 'owl-jquery', get_stylesheet_directory_uri() . '/assets/js/owl.carousel.min.js', array(), false, true );
	wp_enqueue_script( 'owl-jquery' );
	wp_register_script( 'script-jquery', get_stylesheet_directory_uri() . '/assets/js/script.js', array(), false, true );
	wp_enqueue_script( 'script-jquery' );
}

 

لینک به ارسال
در 5 دقیقه قبل، cherry گفته است :

@unid_user

کدهای لود فایل رو از فوتر حذف کنید و کدهای زیر رو در فایل functions.php قرار بدین


add_action( 'wp_enqueue_scripts', 'theme_add_script' );
function theme_add_script() {
	if ( ! is_admin() ) {
		wp_deregister_script( 'jquery' );
		wp_register_script( 'jquery', get_template_directory_uri() . '/assets/js/jquery.min.js', false );
		wp_enqueue_script( 'jquery' );
	}
	wp_register_script( 'owl-jquery', get_stylesheet_directory_uri() . '/assets/js/owl.carousel.min.js', array(), false, true );
	wp_enqueue_script( 'owl-jquery' );
	wp_register_script( 'script-jquery', get_stylesheet_directory_uri() . '/assets/js/script.js', array(), false, true );
	wp_enqueue_script( 'script-jquery' );
}

 

انجام دادم الان تمام منو یکجا با هم میاد ولی سرعت لود سایت 10 تا 15 برابر بیشتر شده و خیلی کنده.

لینک به ارسال
در 10 دقیقه قبل، unid_user گفته است :

انجام دادم الان تمام منو یکجا با هم میاد ولی سرعت لود سایت 10 تا 15 برابر بیشتر شده و خیلی کنده.

روش صحیح لود فایل در وردپرس به اینصورته

شما مطمئنید کدهای جاوااسکریپت منو مشکلی نداره و عملکرد صحیحی داره؟

لینک به ارسال
در 1 دقیقه قبل، cherry گفته است :

روش صحیح لود فایل در وردپرس به اینصورته

شما مطمئنید کدهای جاوااسکریپت منو مشکلی نداره و عملکرد صحیحی داره؟

کدها رو که فرستادم. بنظر خودم که درسته. دوباره میفرستم شما یه نگاه کنید شاید ایرادی داشته باشه؟

var ul1 = "ul.main-nav-ul > li:has(ul)";
var ul2 = "ul.main-nav-ul > li:has(ul) > ul:has(li)";
var ul3 = "ul.main-nav-ul > li:has(ul) > ul:has(li) > li:has(ul)";
$(ul1).addClass('dropdown');
$(ul2).addClass('sub-ul-1');
$(" > li:has(ul)", ul2).addClass('dropdown');
$(" > ul:has(li)", ul3).addClass('sub-ul-2');
$("ul.main-nav-ul > li.dropdown").hover(function() {
  $("ul.sub-ul-1", this).stop().fadeIn('400');
}, function() {
  $("ul.sub-ul-1", this).stop().fadeOut('400');
});
$("ul.sub-ul-1 > li.dropdown").hover(function() {
  $("ul.sub-ul-2", this).stop().fadeIn('400');
}, function() {
  $("ul.sub-ul-2", this).stop().fadeOut('400');
});

این کدها ر اولین خط فایل script.js هستن و هیچیزی قبل از این کدها نیست.

راستی می خواستم بدونم توی فایل اسکریپت یا css وب سایت ها باید چیزی قبل یا بعد از کدنویسی نوشته بشه یا نه؟

لینک به ارسال
در 6 دقیقه قبل، unid_user گفته است :

کدها رو که فرستادم. بنظر خودم که درسته. دوباره میفرستم شما یه نگاه کنید شاید ایرادی داشته باشه؟


var ul1 = "ul.main-nav-ul > li:has(ul)";
var ul2 = "ul.main-nav-ul > li:has(ul) > ul:has(li)";
var ul3 = "ul.main-nav-ul > li:has(ul) > ul:has(li) > li:has(ul)";
$(ul1).addClass('dropdown');
$(ul2).addClass('sub-ul-1');
$(" > li:has(ul)", ul2).addClass('dropdown');
$(" > ul:has(li)", ul3).addClass('sub-ul-2');
$("ul.main-nav-ul > li.dropdown").hover(function() {
  $("ul.sub-ul-1", this).stop().fadeIn('400');
}, function() {
  $("ul.sub-ul-1", this).stop().fadeOut('400');
});
$("ul.sub-ul-1 > li.dropdown").hover(function() {
  $("ul.sub-ul-2", this).stop().fadeIn('400');
}, function() {
  $("ul.sub-ul-2", this).stop().fadeOut('400');
});

این کدها ر اولین خط فایل script.js هستن و هیچیزی قبل از این کدها نیست.

راستی می خواستم بدونم توی فایل اسکریپت یا css وب سایت ها باید چیزی قبل یا بعد از کدنویسی نوشته بشه یا نه؟

زیاد از جاوااسکریپت سردرنمیارم متاسفانه که در حال تقویت هستم

اما در فایل های جاوااسکریپت کدهای شما باید مابین این کدها قرار بگیره تا عملکرد صحیح داشته باشه

jQuery(document).ready(function ($) {
  
  // JS code
  
});

 

ویرایش شده توسط cherry
لینک به ارسال
در 2 ساعت قبل، cherry گفته است :

@unid_user

کدهای لود فایل رو از فوتر حذف کنید و کدهای زیر رو در فایل functions.php قرار بدین


add_action( 'wp_enqueue_scripts', 'theme_add_script' );
function theme_add_script() {
	if ( ! is_admin() ) {
		wp_deregister_script( 'jquery' );
		wp_register_script( 'jquery', get_template_directory_uri() . '/assets/js/jquery.min.js', false );
		wp_enqueue_script( 'jquery' );
	}
	wp_register_script( 'owl-jquery', get_stylesheet_directory_uri() . '/assets/js/owl.carousel.min.js', array(), false, true );
	wp_enqueue_script( 'owl-jquery' );
	wp_register_script( 'script-jquery', get_stylesheet_directory_uri() . '/assets/js/script.js', array(), false, true );
	wp_enqueue_script( 'script-jquery' );
}

 

سلام استاد وقت بخیر

یه سوال؟

آیا کلا نباید هیچ فایل و کد جاواسکریپت از توی فوتر لود بشه؟

با سپاس

لینک به ارسال
در 17 دقیقه قبل، chem گفته است :

سلام استاد وقت بخیر

یه سوال؟

آیا کلا نباید هیچ فایل و کد جاواسکریپت از توی فوتر لود بشه؟

با سپاس

سلام دوست عزیز

روش لود صحیح به اینصورته که کدهای جاوااسکریپت از فوتر لود بشن و استایل های css از هدر

ویرایش شده توسط cherry
لینک به ارسال

سلام cherry عزیز

سری قبل که کدهایی که دادین توی فانکشن کچی کردم درست شد. اما الان دوباره همون طور شده مثه روز اول.

ویرایش شده توسط unid_user
لینک به ارسال
در 30 دقیقه قبل، unid_user گفته است :

سلام cherry عزیز

سری قبل که کدهایی که دادین توی فانکشن کچی کردم درست شد. اما الان دوباره همون طور شده مثه روز اول.

سلام @unid_user  همون کدهای قبل رو که مشکل رو حل میکرد ولی سرعت رو کاهش میداد و اضافه کن ولی با دستور تاخیر در لود یا همزمانی لود js ها

این عنوان رو در گوگل جستجو کنید : استفاده از اتربیوت‌های defer و async 

ویرایش شده توسط soma
لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...