آگهی
article

ساخت پنل چند سربرگی (Tabbed Panel) با جاوا اسکریپت و CSS

javascript-tabbed-panel

استفاده از پنل چند سربرگی یا Tabbed Panel از جمله روش های متداول در طراحی وب با متدهای حرفه ای محسوب می شود که امروزه در اغلب برنامه های کاربردی تحت وب می توان نمونه ای از آن را مشاهده کرد، به طور خلاصه پنل های چند سربرگی، بلاک هایی هستند که با وجود مستقل و چندگانه بودن، به نحوی با رابطه ای تعاملی در کنار هم قرار می گیرند که از نظر کاربر، مجموعه ای مشترک دیده می شوند، طراحان وب معمولا از ترکیب قابلیت های جاوا اسکریپت و CSS این نوع پنل ها را خلق و در مواردی مانند سایت های خبری، سایت های دانلود، پنل مدیریت سیستم های مدیریت محتوا، نمایش آمار و نمودارها و... از آنها استفاده می کنند.

فواید استفاده از پنل چند سربرگی


استفاده از این نوع پنل ها به صرفه جویی در میزان فضای اشغال شده از صفحه، زیبایی و همچنین انسجام بخشی بیشتر به رابط کاربری (User Interface) سایت کمک می کند، در نتیجه کاربر نهایی تجربه بهتری از پایش در برنامه تحت وب شما خواهد داشت.

معایب استفاده از پنل چند سربرگی


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

نحوه ایجاد پنل چند سربرگی


همان طور که اشاره شد، برای ایجاد پنل چند سربرگی یا Tabbed Panel باید به صورت ترکیبی از جاوا اسکریپت و CSS استفاده کنیم، در اینجا نیز CSS نقش شکل دهنده و جاوا اسکریپت جهت ایجاد رفتار تعاملی به کار می رود، برای شروع کد HTML پنل را به صورت زیر می نویسیم.
<div class="tabbed-container">
<div class="tabbed-menu">
<div class="tabbed-button" id="tabbed-button-1">تیتر دکمه 1</div>
<div class="tabbed-button" id="tabbed-button-2">تیتر دکمه 2</div>
<div class="tabbed-button" id="tabbed-button-3">تیتر دکمه 3</div>
<div class="tabbed-button" id="tabbed-button-4">تیتر دکمه 4</div>
</div>
<div class="tabbed-wrapper">
<div id="tabbed-box-1">محتوای باکس 1</div>
<div id="tabbed-box-2">محتوای باکس 2</div>
<div id="tabbed-box-3">محتوای باکس 3</div>
<div id="tabbed-box-4">محتوای باکس 4</div>
</div>
</div>
همان طور که ملاحظه می کنید کد بالا از سه بلاک اصلی (tabbed-container، tabbed-menu و tabbed-wrapper) تشکیل شده، بلاک div با کلاس tabbed-container در واقع نقش نگهدارنده یا container سایر عناصر را داشته و در بالاترین سطح قرار می گیرد، tabbed-menu بلاکی است که دکمه مربوط به هر پنل در آن به نمایش در خواهد آمد و tabbed-wrapper بلاکی برای قرار گرفتن باکس محتوا است.
نکته کلیدی که در این کد به چشم می خورد نحوه تنظیم id در قسمت tabbed-button و tabbed-box است که در انتهای آنها یک شماره متناظر درج شده، از این شماره در هنگامی که قصد ایجاد رفتار تعاملی با جاوا اسکریپت را داریم استفاده خواهیم کرد؛ اکنون تکه کد جاوا اسکریپتی زیر را نیز به صفحه خود اضافه می کنیم.
<script type="text/javascript">
function closeBox(num){
    //بستن تمام باکس ها در اولین بارگذاری
    for(var i = 1; i <= num; i++){
        document.getElementById("tabbed-box-" + i).style.display = "none";    
    }
}
function openSelected(button, box){
    //باز کردن باکس انتخاب شده در اولین بارگذاری
    document.getElementById(button).className = ("tabbed-button-open");
    document.getElementById(box).style.display = "block";        
}
function openBox(button, box, num){
    var tabbed_div = document.getElementById(box).style.display;
    
    //بستن تمام باکس ها و باز کردن باکس انتخاب شده
    if(tabbed_div != "block"){
        for(var i = 1; i <= num; i++){
            document.getElementById("tabbed-box-" + i).style.display = "none";
            document.getElementById("tabbed-button-" + i).className = ("tabbed-button");
        }        
        document.getElementById(button).className = ("tabbed-button-open");
        document.getElementById(box).style.display = "block";        
    }        
}
</script>
این کد از سه تابع تشکیل شده، تابع closeBox تمام باکس های پنل را به حالت بسته (display:none) تغییر می دهد، این تابع در بارگذاری اولیه صفحه (یعنی زمانی که صفحه فراخوانی می شود) به کار می رود، تابع openSelected با دریافت id مربوط به دکمه و باکس انتخاب شده، آن را به حالت کلاس tabbed-button-open و block تبدیل می کند (دکمه انتخاب شده و باکس مربوط به آن نمایش داده می شود)، این تابع نیز در بارگذاری اولیه صفحه به کار می رود، تابع openBox نیز در واقع کار دو تابع closeBox و openSelected را به صورت داینامیک انجام می دهد، در نتیجه با انتخاب هر سربرگ، دکمه به حالت انتخاب شده و باکس نمایش داده می شود.
پس از درج کد بالا در قسمت head صفحه، قسمت HTML را نیز در قسمت زیر به صورتی که مشاهده می کنید ویرایش کنید.
<div class="tabbed-button" id="tabbed-button-1" onclick="openBox(this.id, 'tabbed-box-1', 4);">تیتر دکمه 1</div>
<div class="tabbed-button" id="tabbed-button-2" onclick="openBox(this.id, 'tabbed-box-2', 4);">تیتر دکمه 2</div>
<div class="tabbed-button" id="tabbed-button-3" onclick="openBox(this.id, 'tabbed-box-3', 4);">تیتر دکمه 3</div>
<div class="tabbed-button" id="tabbed-button-4" onclick="openBox(this.id, 'tabbed-box-4', 4);">تیتر دکمه 4</div>
این کار برای اختصاص دادن رویداد onclick به دکمه های پنل است (به شماره های متناظر توجه داشته باشید).
سپس در انتهای کدهای HTML مربوط به پنل، تکه کد جاوا اسکریپت زیر را نیز اضافه کنید.
<script type="text/javascript">
//بستن تمام باکس ها در اولین بارگذاری
closeBox(4);
//باز کردن باکس انتخاب شده در اولین بارگذاری
openSelected("tabbed-button-1", "tabbed-box-1");
</script>
در آخرین مرحله باید استایل CSS مربوط به پنل چند سربرگی را به صفحه خود اضافه کنیم، بنابراین استایل زیر را نیز ترجیحا در قسمت head صفحه درج می کنیم.
<style type="text/css">
.tabbed-container{
    position:relative;
    margin-top:12px;
    border:1px solid #FFF;
}
.tabbed-menu{
    margin-top:0px;
    margin-bottom:0px;
    line-height:14px;
    position:absolute;
}
.tabbed-wrapper{
    border:1px solid #E5E5E5;
    margin-top:25px;
    margin-bottom:12px;
    padding:12px;
}
.tabbed-button{
    display:inline-block;
    height:16px;
    width:auto;
    padding:4px;
    margin:0px;
    background:#F9F9F9;
    border-radius:5px 5px 0px 0px;
    -webkit-border-radius:5px 5px 0px 0px;
    border:1px #E5E5E5 solid;
    border-bottom:1px #E5E5E5 solid;    
    cursor:pointer;
    color:#999;
}
.tabbed-button:hover{
    background:#F5F5F5;    
    color:#999;        
}
.tabbed-button-open{
    display:inline-block;
    height:16px;
    width:auto;
    padding:4px;
    margin:0px;
    background:#FFF;
    border-radius:5px 5px 0px 0px;
    -webkit-border-radius:5px 5px 0px 0px;
    border:1px #E5E5E5 solid;
    border-bottom:1px #FFF solid;    
    color:#000;    
}
</style>
نکته کلیدی در این نوع موارد نحوه استفاده از خاصیت position با دو مقدار relative و absolute است، همان طور که ملاحظه می کنید، بلاک والد به صورت relative و بلاک فرزند به صورت absolute مقداردهی شده، این کار باعث می شود تا مرورگر خواص بلاک سطح پائین تر را به صورت تابعی از بلاک اصلی پردازش کند.

مثال و پیش نمایش آنلاین


در زیر مثال و پیش نمایش آنلاین پنل چند سربرگی کامل شده را ملاحظه می کنید.
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>وبگو | ایجاد پنل چند سربرگی در وب</title>
<!-- https://webgoo.ir -->
<style type="text/css">
body{
    font-family:Tahoma, Geneva, sans-serif;
    font-size:12px;
    direction:rtl;
}
.tabbed-container{
    position:relative;
    margin-top:12px;
    border:1px solid #FFF;
}
.tabbed-menu{
    margin-top:0px;
    margin-bottom:0px;
    line-height:14px;
    position:absolute;
}
.tabbed-wrapper{
    border:1px solid #E5E5E5;
    margin-top:25px;
    margin-bottom:12px;
    padding:12px;
}
.tabbed-button{
    display:inline-block;
    height:16px;
    width:auto;
    padding:4px;
    margin:0px;
    background:#F9F9F9;
    border-radius:5px 5px 0px 0px;
    -webkit-border-radius:5px 5px 0px 0px;
    border:1px #E5E5E5 solid;
    border-bottom:1px #E5E5E5 solid;    
    cursor:pointer;
    color:#999;
}
.tabbed-button:hover{
    background:#F5F5F5;    
    color:#999;        
}
.tabbed-button-open{
    display:inline-block;
    height:16px;
    width:auto;
    padding:4px;
    margin:0px;
    background:#FFF;
    border-radius:5px 5px 0px 0px;
    -webkit-border-radius:5px 5px 0px 0px;
    border:1px #E5E5E5 solid;
    border-bottom:1px #FFF solid;    
    color:#000;    
}
</style>
<script type="text/javascript">
function closeBox(num){
    //بستن تمام باکس ها در اولین بارگذاری
    for(var i = 1; i <= num; i++){
        document.getElementById("tabbed-box-" + i).style.display = "none";    
    }
}
function openSelected(button, box){
    //باز کردن باکس انتخاب شده در اولین بارگذاری
    document.getElementById(button).className = ("tabbed-button-open");
    document.getElementById(box).style.display = "block";        
}
function openBox(button, box, num){
    var tabbed_div = document.getElementById(box).style.display;
    
    //بستن تمام باکس ها و باز کردن باکس انتخاب شده
    if(tabbed_div != "block"){
        for(var i = 1; i <= num; i++){
            document.getElementById("tabbed-box-" + i).style.display = "none";
            document.getElementById("tabbed-button-" + i).className = ("tabbed-button");
        }        
        document.getElementById(button).className = ("tabbed-button-open");
        document.getElementById(box).style.display = "block";        
    }        
}
</script>
</head>
<body>
<noscript>جاوا اسکریپت در مرورگر شما غیر فعال است یا پشتیبانی نمی شود!</noscript>
<div class="tabbed-container">
<div class="tabbed-menu">
<div class="tabbed-button" id="tabbed-button-1" onclick="openBox(this.id, 'tabbed-box-1', 4);">تیتر دکمه 1</div>
<div class="tabbed-button" id="tabbed-button-2" onclick="openBox(this.id, 'tabbed-box-2', 4);">تیتر دکمه 2</div>
<div class="tabbed-button" id="tabbed-button-3" onclick="openBox(this.id, 'tabbed-box-3', 4);">تیتر دکمه 3</div>
<div class="tabbed-button" id="tabbed-button-4" onclick="openBox(this.id, 'tabbed-box-4', 4);">تیتر دکمه 4</div>
</div>
<div class="tabbed-wrapper">
<div id="tabbed-box-1">محتوای باکس 1</div>
<div id="tabbed-box-2">محتوای باکس 2</div>
<div id="tabbed-box-3">محتوای باکس 3</div>
<div id="tabbed-box-4">محتوای باکس 4</div>
</div>
</div>
<script type="text/javascript">
//بستن تمام باکس ها در اولین بارگذاری
closeBox(4);
//باز کردن باکس انتخاب شده در اولین بارگذاری
openSelected("tabbed-button-1", "tabbed-box-1");
</script>
<hr>
با اندکی آشنایی با CSS و JavaScript می توانید پنل را به صورت سفارشی ویرایش کنید.
</body>
</html>
پیش نمایش
sectionدسته بندی: آموزش کاربردی » JavaScript
related مطالب بیشتر:
» اعتبار سنجی فرم های وب با جاوا اسکریپت
» استفاده ترکیبی از جاوا اسکریپت (JavaScript) و PHP
» ایجاد پنل جمع شونده با جاوا اسکریپت و فریم ورک Spry
» کنترل و تغییر اندازه فونت صفحه با جاوا اسکریپت
» چگونه لوگوی حمایتی برای نمایش در سایت یا وبلاگ بسازیم؟
commentنظرات (۳۴ یادداشت برای این مطلب ارسال شده است)
more یادداشت های جدید بر اساس تاریخ ارسال در انتهای یادداشت های موجود نمایش داده می شوند.
نویسنده: وبلاگ
زمان: ۱۳:۱۴:۳۳ - تاریخ: ۱۳۹۴/۱۱/۳۰
سلام
تو اين فرم، كنار نوشته هاي سربرگ ها مي توان آيكون هم قرار داد؟! اگه امكانش باشه خيلي حرفه اي ميشه.
پاسخ: 
در صورت آشنایی با HTML و CSS سفارشی سازی فرم به نحو دلخواه و از جمله درج آیکن و... به راحتی ممکن است!
نویسنده: رضا
زمان: ۱۷:۵۲:۳۵ - تاریخ: ۱۳۹۴/۱۲/۲۸
سلام
من از اين ابزار استفاده كردم. عاليه، دستتون درد نكنه!
نویسنده: علیرضا
زمان: ۰۱:۰۲:۵۴ - تاریخ: ۱۳۹۵/۰۴/۱۵
اگه بخام 3 تا باکس بزارم چی؟
وقتی باکس چهارم رو از کدها پاک میکنم دیگه پنل کار نمیکنه!
پاسخ: 
آرگیومنت تابع را در هنگام فراخوانی 3 قرار دهید:
closeBox(3);
نویسنده: ايراني
زمان: ۲۰:۳۳:۰۷ - تاریخ: ۱۳۹۵/۱۱/۲۵
سلام
خسته نباشيد؛
براي افكت دادن به اين پنل چه كدي را ميشه استفاده كرد؟! با زدن گزينه ي سربرگ محتويات جعبه، با افكت ظاهر شوند. مثلا به تدريج ظاهر شوند. ممنونم. لطفا راهنمايي كنيد.
پاسخ: 
برای این موارد باید از جی کئوری (یا جاوا اسکریپت) کمک بگیرید، آموزش های مربوطه مفصل است و باید در وب جستجو کنید (به طور مثال "افکت در جی کئوری" را جستجو کنید) و ترجیحا آشنایی قبلی با این مباحث نیز داشته باشید.
more لطفا پیش از ارسال یادداشت نکات زیر را مد نظر داشته باشید:
- مواردی که به کلی خارج از موضوع این مطلب هستند را در فرم منوی "تماس با ما" مطرح و پاسخ را از طریق ایمیل دریافت کنید.
- به سوالات کلی، مبهم، غیرضروری و مشکلاتی که تلاشی برای رفع آن نکرده باشید پاسخ کوتاه و مختصر داده خواهد شد!
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین قرار دهید تا امکان تست و بررسی وجود داشته باشد.
- تمام یادداشت ها بررسی و برای هر کاربر زمان مشخصی جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.





7 × 2
 refresh
آخرین دیدگاه ها
more برای دسترسی سریع به یادداشت مربوطه می توانید از لینک مطلب در کادر زیر استفاده کنید.
form نیلوفر
در:
سلام. من تازه کار هستم و توی سایتی که طراحی کردم یه سرچ باکس گذاشتم. ارتباط با پایگاه داده هم داره و نتایج رو نشون...
۱۲:۵۳:۴۳ ۱۳۹۹/۰۴/۲۳

form مهدی
در:
سلام من از کد زیر استفاده کردم ولی وقتی که اعمال میشه کل css های سایتم میپره.. چه باید بکنم
۰۹:۵۵:۵۰ ۱۳۹۹/۰۴/۲۳

form سلماسی
در:
سلام ایا اگر از وبسایت شخصی کسی بازدید کنیم صاحب وبسایت شماره ی ما را می بیند
۲۱:۳۱:۵۳ ۱۳۹۹/۰۴/۲۲

form mahdi
در:
سلام استاد اگه براتون زحمتی نیست یه نگاه دیگه بهش بندازید ، الان ریموو ادیت درست هستن فقط برای نمایش کلیشون که وقتی رفرش میکنیم...
۱۹:۱۳:۱۵ ۱۳۹۹/۰۴/۲۲

form mahdi
در:
سلام استاد عزیز ، میتونید یه نمونه که فقط با جاوا اسکریپت کار شده نه با فریمورکاش بهم معرفی کنید ببینم؟ من هرچی گشتم پیدا...
۱۴:۴۶:۲۴ ۱۳۹۹/۰۴/۲۲

form mahdi
در:
سلام استاد عزیز و گرامی ، یه دفتر چه یادداشت با localstorage میخوام بنویسم ولی مشکل دارم، دو تا سوال دارم ممنون میشم راهنماییم...
۱۲:۰۵:۰۷ ۱۳۹۹/۰۴/۲۲

form اریا
در:
سلام و درود بزرگوار چه دستوری باید بنویسیم تا فقط مقدارهای خاصی از ارایه بتونیم نمایش بدیم. مثلا یک ارایه 6 خونه ای...
۱۶:۴۷:۳۱ ۱۳۹۹/۰۴/۲۰

form کافه کتاب
در:
سپاس خیلی وقت بود دنبالش بودم مرسی از سایت عالیتون
۱۴:۵۱:۴۳ ۱۳۹۹/۰۴/۲۰

form سجاد
در:
دمتون گرم. خیلی زحمت کشیدید
۱۳:۴۳:۱۱ ۱۳۹۹/۰۴/۲۰

form KhashayarPrk
در:
سلام. میخوام الگو تمام کلمات داخل پرانتز رو بدون پرانتز بریزه ارایه با این کد فقط یک پرانتز رو جواب میده.
۱۳:۱۳:۴۷ ۱۳۹۹/۰۴/۲۰

form Oliver
در:
چطوری دستور background رو برای جدلمون عکسش رو تنظیم کنیم و بهش طول و عرض بدیم
۱۶:۰۷:۱۷ ۱۳۹۹/۰۴/۱۸

form محمد
در:
با عرض سلام ببخشید چطوری میتونم واسه اشتراک کاربر انقضا بزارم مثلا یک ماه داخل دیتابیس ردیف تایم رو درست کردم البته تاریخ رو تبدیل...
۱۹:۱۴:۵۹ ۱۳۹۹/۰۴/۱۵

form آیدا
در:
سلام من در حال طراحی با html هستم اما طبق فیلم آموزشی پیش میرم از یه جایی به بعد هم تغییرات اعمال نمیشه...
۲۲:۴۷:۴۴ ۱۳۹۹/۰۴/۱۴

form علی
در:
سلام اگه میشه یه تکه کدی بفرستید که کاربر نتونه عکس مورد نظر رو دانلود کنه و با نگه داشتن روی عکس فقط لینکو ببینه...
۰۹:۳۰:۴۹ ۱۳۹۹/۰۴/۱۴

form sina2000
در:
با سلام و خسته نباشید طبق کد زیر استفاده میگه متغیر Pdc برای PDO است لطفا نمونه کد برای لایبرری...
۱۵:۰۳:۵۱ ۱۳۹۹/۰۴/۱۳
form محمد امین
در:
سلام ممنون از مطلبتون ببخشید من یه سایتی با شی گرایی کامل زدم الان میخوام آدرسشو بهینه کنم آدرس الان من به این صورته:...
۱۸:۲۸:۲۴ ۱۳۹۹/۰۴/۱۱
form ترنم
در:
سلام وقتتون بخیر ببخشید من کدهای مربوط منو و زیر منو رو نوشتم ولی موقع اجرا منوی اصلی رو میاره ولی زیر منوها رو...
۱۱:۰۶:۲۹ ۱۳۹۹/۰۴/۱۱
form ا
در:
سلام چرا وقتی مطالب مربوط که تو وبلاگم هست رو جستجو میکنم نمیاره ؟؟؟
۲۰:۳۱:۰۸ ۱۳۹۹/۰۴/۰۷
form amir
در:
سلام من اگه بخوام با وارد کردن یه id داخل یک text کل اون ردیف پاک بشن باید چه کنم مثلا یک text دریافت میکنم...
۰۱:۴۸:۰۵ ۱۳۹۹/۰۴/۰۷
form محمدباقر حسیبیان
در:
من این مشکل برام پیش اومده که موقع ورود به پروژه م توی لوکال هاست wamp صفحه سفیده و هیچی رو نشون نمیده و کد...
۱۶:۴۲:۳۸ ۱۳۹۹/۰۴/۰۶
form ...
در:
سلام دو سایت نوشته ای مربوط به من رو چند سال قبل لینک دانلود قرار دادن من ازشون خواستم بردارنش ولی اینکارو نکردن سایت...
۱۷:۲۶:۴۲ ۱۳۹۹/۰۴/۰۵
form مجتبی
در:
سلام میشه یک کد جاوا رو به php تبدیل کرد تا لود سایت سریع تر بشه؟
۱۳:۰۴:۲۳ ۱۳۹۹/۰۴/۰۴
form متین
در:
سلام ؛ من تازه شروع به یادگیری کردم ؛ مطلب بسیار کاربردی بود ؛ ممنون از شما دوست عزیز.
۰۱:۵۰:۰۵ ۱۳۹۹/۰۴/۰۴
form mahdi
در:
سلام استاد عزیز و گرامی امیدوارم که حالتون خوب باشه ، اگه براتون ممکنه لطفا یه آموزش خوب در زمینه وردپرس بهم معرفی کنید ،...
۲۱:۴۸:۱۳ ۱۳۹۹/۰۴/۰۳
form امید
در:
در برنامه نویسی کاربر با چه دستوری میتواند به صفحه اصلی برگردد
۱۹:۰۶:۵۶ ۱۳۹۹/۰۴/۰۳
form ali
در:
با سلام من یک پروژه طراحی کردم میخوام که وقتی کاربر روی ادامه مطلب کلیک کرد در خود صفحه بقیه مطالب را ببینه...
۱۸:۴۷:۲۲ ۱۳۹۹/۰۴/۰۳
form علی
در:
سلام و تشکر از زحمات ارزشمند شما احتراما بنده امروز از یک شماره تلفن ثابت از طریق یک رایانه و یک موبایل به طور...
۱۸:۰۱:۱۰ ۱۳۹۹/۰۴/۰۳
form oscar
در:
درود. اگر بخوایم در نمایش تاریخ و زمان که به صورت لحظه ای خودش در صفحه رفرش میشه، فقط عبارت " Mon Jun 22 2020...
۱۵:۵۹:۳۲ ۱۳۹۹/۰۴/۰۲
form علی
در:
با سلام چطور میشه فقط یک صفحه مورد نظرمون رفرش بشه نه همه صفحات سایت
۰۰:۰۳:۴۱ ۱۳۹۹/۰۳/۳۱
form Farzad
در:
الان وقتی فایل رو میخواد دانلود بکنه از خودش فایل میسازه ، به این صورت یعنی بعد از پوشه file هر پوشه ای باشه...
۱۸:۵۶:۲۱ ۱۳۹۹/۰۳/۳۰
form Farzad
در:
سلام ، خسته نباشید من فایل هایی که در هاست میزارم به این شکل هست: یعنی مشخص نیست فایل ها تو چه پوشه...
۱۳:۳۳:۴۰ ۱۳۹۹/۰۳/۳۰
form شیما طیبی
در:
سلام خیلی مطلب مفیدی بود . همیشه به وبلاگ نویسی به چشم یه کار خسته کننده نگاه میکردم ولی خب یه مقدار نظرم تغییر کرد....
۲۳:۵۲:۳۲ ۱۳۹۹/۰۳/۲۹
form احسان
در:
سلام من یک کد اسکریپت دارم که به صورت عددی تبدیل شده است. میخواستم بپرسم چطوری میتونم اسکریپت به حالت اولیه نوشته شده برگردانم و...
۲۱:۰۲:۱۳ ۱۳۹۹/۰۳/۲۷
form علی
در:
ممنون از پاسختون اما روش بالا جهت دانلود فایل کاربرد داره . من میخواستم به صورت استریم ویدئو پخش بشه اما آدرس مستقیم ویدئو...
۰۰:۳۷:۴۶ ۱۳۹۹/۰۳/۲۷
در انتظار بررسی: ۳