
شبکه های کامپیوتری از فناوری های مختلفی تشکیل شده اند که به منظور برقراری ارتباط به یکدیگر وابسته اند. یک مدل مرجع یا چارچوب، به عنوان یک راهنما عمل می کند و به فروشندگان و توسعه دهندگان فناوری کمک می کند تا از این موضوع اطمینان حاصل کنند که آیا فناوری های آن ها از جمله سخت افزار، نرم افزار، سیستم عامل ها، اتصالات و موارد دیگر به منظور ایجاد ارتباط در شبکه به طور مؤثر با یکدیگر تعامل دارند و یا خیر.
در این مقاله مدل OSI را به عنوان یکی از رایج ترین مدل های مورد استفاده امروزی مورد بررسی قرار می دهیم و در مورد هفت لایه ی مدل OSI، عملکردهای هر یک از هفت لایه آن، نحوه جریان داده ها از طریق لایه ها و مزایا و معایب آن بحث خواهیم نمود.
آموزشگاه فن آموزان برگزار کننده دوره های تخصصی در حوزه کامپیوتر و شبکه و نرم افزار از مبتدی تا پیشرفته و ویژه ورود به بازار کار است. دوره های آموزش ICDL با ارائه مدرک معتبر فنی و حرفه ای تا آموزش برنامه نویسی، آموزش میکروتیک و دوره های تخصصی آموزش سیسکو از جمله دوره های آموزشی این مرکز آموزشی میباشد.
مدل OSI چیست؟
مدل ارتباط متقابل سیستم های باز یا همانOpen Systems Interconnection (OSI) ، نحوه انتقال اطلاعات از یک دستگاه به دستگاه دیگر را توصیف می کند. مدل OSI اولین مدل استاندارد برای ارتباطات شبکه است که در اوایل دهه 1980 توسط همه شرکت های بزرگ کامپیوتری و مخابراتی پذیرفته شد. این مدل در سال 1983 توسط نمایندگان شرکت های بزرگ کامپیوتری و مخابراتی معرفی شد و در سال 1984 نیز توسط سازمان بینالمللی استاندراد (ISO) به عنوان یک استاندارد بین المللی پذیرفته شد.
این مدل یکی از رایج ترین مدل های مورد استفاده شرکت ها و توسعه دهندگان در سراسر جهان است. این مدل به شرکت ها کمک می کند تا ضمن حفظ ارتباط متقابل، استانداردها و پروتکل های خود را برای طراحی و ایجاد فناوری ها تعریف کنند و تجهیزات خراب را راحت تر عیب یابی نموده و مشکلات امنیتی را نیز سریع تر برطرف سازند.
هر چند اینترنت مدرن بر اساس مدل ساده تر TCP/IP است و مبتنی بر OSI نیست، با این وجود به دلیل اینکه مدل ۷ لایه OSI نحوه ارتباط شبکه ها را به خوبی نشان می دهد و به عنوان یک مدل مفهومی برای درک جریان ارتباطات داده ها استفاده می شود، هنوز هم به طور گسترده ای مورد استفاده قرار می گیرد.
لایه های مدل OSI
مدل OSI شامل هفت لایه سازماندهی شده است که هر لایه وظایف خاصی انجام می دهد و نوع خاصی از همکاری را با لایه های بالا و پایین خود دارد. این مدل مانند یک زبان جهانی برای شبکه های فناوری اطلاعات است و هر لایه از این مدل مسئول انجام یک عملکرد خاص است.
در واقع همه لایه های این مدل مستقل هستند و می توانند عملکردهای خود را به طور مستقل انجام دهند اما هر لایه از مدل OSI با لایه ای که مستقیماً در بالا و پایین آن قرار دارد، تعامل دارد و داده ها را به صورت ساختاریافته دریافت و منتقل می کند. این رویکرد به دلیل این که می تواند مشکلات را به یک لایه خاص محدود کند، به متخصصان شبکه کمک می کند تا مشکلات را راحت تر عیب یابی کنند. مدل OSI زمینه مشترکی را برای سیستم های مختلف فراهم می کند تا به طور موثر با یکدیگر ارتباط برقرار کنند.
همانطور که در شکل زیر نشان داده شده است، این مدل از بالا یا لایه کاربرد، جایی که کاربر نهایی از طریق نرم افزار با شبکه ارتباط برقرار می کند، شروع می شود و در پایین یا لایه فیزیکی، جایی که اتصال از طریق سیم یا کابل و انتقال داده های خام اتفاق می افتد به اوج خود می رسد.
مدل مرجع OSI یک نرم افزار کاربردی نیاز دارد که اطلاعات را در شبکه منتقل کند. هنگامی که سیستم فرستنده داده ها را از کاربر دریافت می کند و یک لایه آن را به قطعات کوچکتر تقسیم می کند، همان لایه در سیستم گیرنده، قطعات را به قطعات بزرگتری تبدیل می کند تا برای کاربر نهایی قابل فهم باشند.
عملکرد لایه های مدل OSI
همانطور که گفتیم مدل OSI دارای هفت لایه است که در این قسمت به توضیح عملکرد هر یک از این لایه ها می پردازیم:
لایه کاربرد
بالاترین لایه در مدل مرجع OSI است که این لایه ها به هیچ عنوان با نرم افزارهای کاربردی ارتباطی ندارند و صرفا دارای یک تشابه اسمی هستند. در این لایه کاربران نهایی برای انتقال داده ها از طریق برنامه ها به شبکه تعامل دارند. نمونه هایی از برنامه ها شامل مرورگرهای وب، ایمیل و انتقال فایل از راه دور هستند که از پروتکل هایی از جمله پروتکل انتقال ابرمتن (HTTP)، پروتکل انتقال ایمیل ساده (SMTP) و پروتکل انتقال فایل (FTP) برای انتقال داده ها استفاده می کنند.
لایه کاربرد در مدل OSI ارتباط مؤثر بین این برنامه ها و سیستم ها و شبکه های محاسباتی مختلف را تضمین می کند. در واقع وظیفه ی این لایه برقراری ارتباط با پروتکل های گفته شده برای انتقال فایل است.
لایه نمایش (ارائه)
وظیفه ی اصلی این لایه قالب بندی اطلاعات است. معمولا فعالیت هایی نظیر رمزنگاری و فشرده سازی از وظایف اصلی این لایه محسوب می شود. لایه ی نمایش، اطلاعات را از لایه ی کاربرد دریافت می کند و در قالبی در می آورد که برای لایه های پایین تر قابل درک باشد. همچنین برعکس این عمل را نیز انجام می دهد، یعنی زمانی که اطلاعاتی از لایه ی نشست یا Session به این لایه وارد می شود، این اطلاعات را به گونه ای تبدیل می کند که لایه ی کاربرد بتواند آنها را درک کند و متوجه شود.
لایه نشست یا جلسه
لایه جلسه در مدل OSI اتصالات را حفظ می کند و مسئول کنترل پورت ها و جلسات است. این لایه این کار را با باز و بسته کردن جلسات ارتباطی و مدیریت فواصل زمانی برای انتقال داده ها انجام می دهد تا کارایی را تضمین کرده و از هدر رفتن منابع جلوگیری کند.
مدل OSI در طول یک جلسه، جریان های داده را با استفاده از چک پوینت ها (checkpoints) مدیریت می کند و همگام سازی داده ها را فعال می کند. به عنوان مثال، هنگامی که فایل های بیگ دیتا (داده بزرگ) ارسال می شوند، می تواند داده ها را به قطعات کوچکتر تقسیم کند و همچنین اگر انتقال به دلیل خرابی شبکه یا سیستم قطع شود، می تواند پس از رفع خرابی از جایی که متوقف شده بود ادامه پیدا کند و نیازی به شروع مجدد انتقال نیست.
لایه انتقال
لایه ی انتقال وظیفه ی نگهداری و کنترل جریان اطلاعات را بر عهده دارد. کنترل خطا و همچنین تصحیح خطا در هنگام ارسال اطلاعات بر روی شبکه از وظایف دیگر این لایه است. این لایه، داده ها را برای انتقال کارآمد، بخش بندی و دوباره سرهم می کند و با مکانیزم های تشخیص و اصلاح خطا، قابلیت اطمینان را فراهم می کند.
پروتکل های این لایه شامل پروتکل کنترل انتقال (TCP) و پروتکل داده نگار کاربر (UDP) هستند. TCP اتصال گرا است و انتقال داده قابل اعتماد را با بررسی خطا و کنترل جریان تضمین می کند و آن را برای برنامه هایی مانند مرورگر وب و ایمیل مناسب می سازد. UDP بدون اتصال است و انتقال سریع تر و با قابلیت اطمینان کمتر را ارائه می دهد که برای برنامه هایی مانند پخش ویدئو و بازی های آنلاین مناسب است.
لایه شبکه
لایه شبکه مسئول مسیریابی، ارسال و آدرس دهی داده ها است. این لایه بهترین مسیر فیزیکی برای رسیدن داده ها به مقصد را بر اساس شرایط شبکه، اولویت سرویس و سایر عوامل تعیین می کند. این لایه، آدرس دهی منطقی را از طریق آدرس های IP مدیریت کرده و ارسال بسته ها را انجام می دهد.
پروتکل های کلیدی در این لایه عبارتند از پروتکل اینترنت (IP) که برای مسیریابی و آدرس دهی مهم است، پروتکل پیام کنترل اینترنت (ICMP) که برای اهداف تشخیصی و گزارش خطا استفاده میشود و پروتکل های مسیریابی مانند پروتکل اطلاعات مسیریابی (RIP) که مسیریابی داده ها را در شبکه ها مدیریت می کنند.
لایه انتقال داده
این لایه مسئول ایجاد و پایان دادن به ارتباط بین دو گره فیزیکی یک شبکه است. این لایه بسته های داده را از لایه شبکه دریافت کرده و آنها را به فریم هایی تقسیم می کند. این فریم ها توسط لایه پیوند داده از یک گره به گره دیگر منتقل می شوند. این لایه آدرس ماشین مربوط به آدرس منطقی اختصاص داده شده توسط لایه شبکه را پیدا کرده و فریم ها را به مقصد صحیح ارسال می کند.
این لایه آدرس های MAC (کنترل دسترسی به رسانه) را مدیریت می کند و به دو زیرلایه تقسیم می شود: کنترل پیوند منطقی (LLC) و کنترل دسترسی به رسانه (MAC).
زیر لایه ی MAC (Media Access Control)، شناسه ی سخت افزاری تجهیزات که در واقع همان آدرس MAC کارت شبکه است را به شبکه معرفی می کند. آدرس MAC در حقیقت مهم ترین فاکتور در آدرس دهی است که شبکه از طریق آن بسته های اطلاعاتی را دریافت و ارسال می کند.
زیرلایه ی LLC (Logical Link Control) نیز وظیفه ی کنترل یا یکپارچه سازی فریم ها و همچنین خطایابی را بر عهده دارد.
پروتکل ها و فناوری های این لایه شامل اترنت که قوانین انتقال داده را از طریق شبکه های محلی (LAN) تعریف می کند و همچنین پروتکل نقطه به نقطه (PPP) برای اتصال مستقیم بین دو گره شبکه است. همچنین شامل مکانیسم هایی برای تشخیص و احتمالاً تصحیح خطاهایی است که ممکن است در لایه فیزیکی رخ بدهد.
لایه فیزیکی
آخرین لایه مدل OSI، لایه فیزیکی است که داده ها را به شکل جریان های بیت خام (صفر و یک) از طریق سخت افزار فیزیکی و اجزای شبکه مانند کابل ها، سوئیچ ها یا روترها ارسال و دریافت می کند.
به طور خاص تر، لایه ۱ بیت ها را از فرستنده دریافت می کند، آنها را به سیگنال تبدیل می کند، سیگنال را از طریق شبکه ارسال می کند و سیگنال را در گیرنده رمزگشایی می کند. اساساً لایه ۱ کلید انتقال بیت های داده در دستگاه های شبکه از طریق رسانه های فیزیکی است.
در نهایت می توان گفت لایه های OSI در حقیقت یک مدل کاملا فرضی برای درک فضای شبکه هستند اما در واقعیت چنین لایه هایی وجود ندارد. این مدل بهترین مدل مرجع برای آموزش و درک بهتر شبکه است اما مدل های دیگری مانند TCP/ IP نیز وجود دارند که دارای چهار لایه هستند.
نحوه جریان داده ها از طریق مدل OSI
وقتی پشت کامپیوتر خود می نشینید یا تلفن خود را برمی دارید تا ایمیلی ارسال کنید یا چیزی را به صورت آنلاین سفارش دهید، در حال انتقال اطلاعات از دستگاه خود از طریق هفت لایه مدل OSI هستید. داده ها از سمت شما در هفت لایه پایین آمده و سپس در سمت گیرنده در هفت لایه بالا می آیند.
فرآیند گام به گام مدل OSI به این صورت است:
- لایه کاربرد: برنامه ها داده ها را ایجاد می کنند.
- لایه نمایش: داده ها قالب بندی و رمزگذاری می شوند.
- لایه نشست: ارتباطات برقرار و مدیریت می شوند.
- لایه انتقال: داده ها برای تحویل مطمئن به بخش هایی تقسیم می شوند.
- لایه شبکه: بخش ها در بسته ها بسته بندی و مسیریابی می شوند..
- لایه انتقال داده: بسته ها قاب بندی شده و به دستگاه بعدی ارسال می شوند.
- لایه فیزیکی: قاب ها به بیت تبدیل شده و به صورت فیزیکی منتقل می شوند.
در طول مسیر، هر لایه اطلاعات خاصی را اضافه می کند تا اطمینان حاصل شود که داده ها به درستی به مقصد خود می رسند. پس از رسیدن، این مراحل معکوس می شوند تا گیرنده بتواند اطلاعات را بخواند.
تصور اینکه همه این اتفاقات در یک چشم به هم زدن رخ می دهد، دشوار است اما در واقعیت همینطور است. یک مثال ساده از آنچه در پشت صحنه ارسال ایمیل می گذرد، این موضوع را برایتان قابل فهم تر می کند.
شما برنامه ایمیل خود مانند Gmail یا Outlook را باز می کنید، یک ایمیل می نویسید و دکمه ارسال را فشار می دهید. (لایه ۷ مدل OSI)، برنامه ایمیل داده ها را برای انتقال آماده می کند یعنی قالب بندی داده ها، رمزگذاری و فشرده سازی آنها برای انتقال را انجام می دهد (لایه ۶ مدل OSI). سپس یک جلسه ارتباطی برای ایجاد ارتباط بین فرستنده و گیرنده در اینترنت تنظیم می شود (لایه ۵ مدل OSI)، داده های ایمیل به بخش های کوچکتر تقسیم می شوند و کنترل های خطا اعمال می شوند تا اطمینان حاصل شود که داده ها به طور قابل اعتماد و به صورت کامل منتقل می شوند (لایه ۴ مدل OSI).
در ادامه بخش ها به بسته هایی تقسیم می شوند که آدرس دهی و مسیریابی می شوند تا به صورت تضمینی از طریق سریعترین مسیر به دست گیرنده برسند (لایه ۳ مدل OSI)، سپس بسته های داده در فریم ها قرار داده می شوند، آدرس های MAC اعمال می شوند و بسته ها به لایه فیزیکی منتقل می شوند (لایه ۲ مدل OSI) و در نهایت نیز فریم ها به عنوان داده های خام از طریق سخت افزار فیزیکی و اجزای شبکه (کابل یا وای فای) به گیرنده منتقل می شوند (لایه ۱ مدل OSI). وقتی ایمیل به گیرنده می رسد، فرآیند برعکس می شود و محتوای ایمیل دوباره جمع آوری و رمزگشایی می شود تا گیرنده بتواند آن را در برنامه ایمیل خود بخواند.
مزایای مدل OSI
- این مدل ارتباطات شبکه را استاندارد می کند، زیرا هر لایه عملکردهای ثابتی دارد.
- به کاربران و اپراتورهای شبکه ها کمک می کند تا سخت افزار و نرم افزار مورد نیاز برای ساخت شبکه خود را تعیین کنند و به آنها اطمینان می دهد که تمامی تجهیزات میتوانند به درستی با یکدیگر تعامل داشته باشند.
- با شناسایی اینکه کدام لایه شبکه باعث ایجاد مشکل می شود، به عیب یابی کمک می کند تا اپراتورها بتوانند روی آن لایه تمرکز کنند.
- این مدل از سرویس های بدون اتصال و همچنین اتصال گرا پشتیبانی می کند. سرویس های بدون اتصال امکان ارسال پیام از یک نقطه پایانی به نقطه انتهایی دیگر را بدون هماهنگی قبلی فراهم می کنند. کاربران می توانند در صورت نیاز به انتقال سریع تر داده ها از طریق اینترنت، از سرویس های بدون اتصال و در صورت نیاز به قابلیت اطمینان، از مدل اتصال گرا استفاده کنند.
- این مدل انعطاف پذیری لازم برای سازگاری با پروتکل های متعدد و محیط های ابری و ترکیبی را دارد.
- تقسیم ارتباطات شبکه به هفت لایه، آن را نسبت به داشتن سرویس هایی که در لایه های کمتری قرار دارند، سازگارتر و ایمن تر می کند.
معایب مدل OSI
- این مدل هیچ پروتکل خاصی را تعریف نمی کند، بلکه وظایفی را که پروتکل ها انجام می دهند، تعریف می کند. این امر می تواند منجر به رویکردهای متنوعی برای اجرا و ایجاد پیچیدگی شود.
- این هفت لایه می توانند پیچیده به نظر برسند و درک آن برای مبتدیان دشوار باشد. هر لایه این مدل، مجموعه قوانین و عملیات خاص خود را اضافه می کند که می تواند فرآیند استفاده از مدل را زمان بر و ناکارآمد کند.
- برخی از سرویس ها در لایه های مختلف، مانند لایه های انتقال و پیوند داده، تکرار می شوند.
- لایه ها نمی توانند به صورت موازی کار کنند؛ هر لایه باید منتظر دریافت داده از لایه قبلی باشد.
مقاله “معرفی و بررسی هفت لایه مدل OSI” تهیه و نگارش شده در دپارتمان فناوری اطلاعات آموزشگاه فن آموزان است. فن آموزان برگزار کننده دوره های تخصصی فنی و حرفه ای به صورت حضوری و مجازی برای ورود به بازار کار در حوزه های کامپیوتر و نرم افزار، شبکه و مخابرات از جمله دوره های آموزش فیبر نوری، دوره های تخصصی آموزش نصب سانترال، دوره های برق و الکترونیک، دوره های تخصصی تعمیرات، دوره های مرتبط با خودرو، دوره های مالی و اداری، دوره های صنایع چوب، صنایع غذایی، صنایع فلز و بیش از 200 دوره تخصصی دیگر میباشد. جهت دریافت اطلاعات بیشتر از طریق فرم زیر اقدام نمایید و یا با آموزشگاه تماس حاصل فرمایید.
برای شروع یادگیری تردید دارید؟جهت دریافت مشاوره رایگان شماره موبایل خود را وارد کنید.
var gform;gform||(document.addEventListener(“gform_main_scripts_loaded”,function(){gform.scriptsLoaded=!0}),window.addEventListener(“DOMContentLoaded”,function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,initializeOnLoaded:function(o){gform.domLoaded&&gform.scriptsLoaded?o():!gform.domLoaded&&gform.scriptsLoaded?window.addEventListener(“DOMContentLoaded”,o):document.addEventListener(“gform_main_scripts_loaded”,o)},hooks:{action:{},filter:{}},addAction:function(o,n,r,t){gform.addHook(“action”,o,n,r,t)},addFilter:function(o,n,r,t){gform.addHook(“filter”,o,n,r,t)},doAction:function(o){gform.doHook(“action”,o,arguments)},applyFilters:function(o){return gform.doHook(“filter”,o,arguments)},removeAction:function(o,n){gform.removeHook(“action”,o,n)},removeFilter:function(o,n,r){gform.removeHook(“filter”,o,n,r)},addHook:function(o,n,r,t,i){null==gform.hooks[o][n]&&(gform.hooks[o][n]=[]);var e=gform.hooks[o][n];null==i&&(i=n+”_”+e.length),gform.hooks[o][n].push({tag:i,callable:r,priority:t=null==t?10:t})},doHook:function(n,o,r){var t;if(r=Array.prototype.slice.call(r,1),null!=gform.hooks[n][o]&&((o=gform.hooks[n][o]).sort(function(o,n){return o.priority-n.priority}),o.forEach(function(o){“function”!=typeof(t=o.callable)&&(t=window[t]),”action”==n?t.apply(null,r):r[0]=t.apply(null,r)})),”filter”==n)return r[0]},removeHook:function(o,n,t,i){var r;null!=gform.hooks[o][n]&&(r=(r=gform.hooks[o][n]).filter(function(o,n,r){return!!(null!=i&&i!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][n]=r)}});
"*" فیلدهای الزامی را نشان می دهد
Hiddenاین فیلد برای اعتبار سنجی است و باید بدون تغییر باقی بماند .gform.initializeOnLoaded( function() {gformInitSpinner( 30, ‘https://fanamoozan.com/wp-content/plugins/gravityforms/images/spinner.svg’, true );jQuery(‘#gform_ajax_frame_30’).on(‘load’,function(){var contents = jQuery(this).contents().find(‘*’).html();var is_postback = contents.indexOf(‘GF_AJAX_POSTBACK’) >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find(‘#gform_wrapper_30’);var is_confirmation = jQuery(this).contents().find(‘#gform_confirmation_wrapper_30’).length > 0;var is_redirect = contents.indexOf(‘gformRedirect(){‘) >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery(‘html’).css(‘margin-top’), 10) + parseInt(jQuery(‘body’).css(‘margin-top’), 10) + 100;if(is_form){jQuery(‘#gform_wrapper_30’).html(form_content.html());if(form_content.hasClass(‘gform_validation_error’)){jQuery(‘#gform_wrapper_30’).addClass(‘gform_validation_error’);} else {jQuery(‘#gform_wrapper_30’).removeClass(‘gform_validation_error’);}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery(‘#gform_wrapper_30’).offset().top – mt); }, 50 );if(window[‘gformInitDatepicker’]) {gformInitDatepicker();}if(window[‘gformInitPriceFields’]) {gformInitPriceFields();}var current_page = jQuery(‘#gform_source_page_number_30’).val();gformInitSpinner( 30, ‘https://fanamoozan.com/wp-content/plugins/gravityforms/images/spinner.svg’, true );jQuery(document).trigger(‘gform_page_loaded’, [30, current_page]);window[‘gf_submitting_30’] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find(‘.GF_AJAX_POSTBACK’).html();if(!confirmation_content){confirmation_content = contents;}jQuery(‘#gform_wrapper_30’).replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery(‘#gf_30’).offset().top – mt);jQuery(document).trigger(‘gform_confirmation_loaded’, [30]);window[‘gf_submitting_30’] = false;wp.a11y.speak(jQuery(‘#gform_confirmation_message_30’).text());}else{jQuery(‘#gform_30’).append(contents);if(window[‘gformRedirect’]) {gformRedirect();}}jQuery(document).trigger(“gform_pre_post_render”, [{ formId: “30”, currentPage: “current_page”, abort: function() { this.preventDefault(); } }]); if (event && event.defaultPrevented) { return; } const gformWrapperDiv = document.getElementById( “gform_wrapper_30” ); if ( gformWrapperDiv ) { const visibilitySpan = document.createElement( “span” ); visibilitySpan.id = “gform_visibility_test_30”; gformWrapperDiv.insertAdjacentElement( “afterend”, visibilitySpan ); } const visibilityTestDiv = document.getElementById( “gform_visibility_test_30” ); let postRenderFired = false; function triggerPostRender() { if ( postRenderFired ) { return; } postRenderFired = true; jQuery( document ).trigger( ‘gform_post_render’, [30, current_page] ); gform.utils.trigger( { event: ‘gform/postRender’, native: false, data: { formId: 30, currentPage: current_page } } ); if ( visibilityTestDiv ) { visibilityTestDiv.parentNode.removeChild( visibilityTestDiv ); } } function debounce( func, wait, immediate ) { var timeout; return function() { var context = this, args = arguments; var later = function() { timeout = null; if ( !immediate ) func.apply( context, args ); }; var callNow = immediate && !timeout; clearTimeout( timeout ); timeout = setTimeout( later, wait ); if ( callNow ) func.apply( context, args ); }; } const debouncedTriggerPostRender = debounce( function() { triggerPostRender(); }, 200 ); if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) { const observer = new MutationObserver( ( mutations ) => { mutations.forEach( ( mutation ) => { if ( mutation.type === ‘attributes’ && visibilityTestDiv.offsetParent !== null ) { debouncedTriggerPostRender(); observer.disconnect(); } }); }); observer.observe( document.body, { attributes: true, childList: false, subtree: true, attributeFilter: [ ‘style’, ‘class’ ], }); } else { triggerPostRender(); } } );} );
دریافت مشاوره رایگان
نوشته معرفی و بررسی هفت لایه مدل OSI اولین بار در آموزشگاه فنی و حرفه ای فن آموزان. پدیدار شد.
دیدگاه خود را بنویسید