تعداد بازدید: 311

Window Object Methods

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

متد های شئ window را به دسته های زیر تقسیم می کنیم:

  • Dialog
  • Console
  • Encryption
  • Window Actions
  • Timing Interval
  • Type Casting

Dialog

متد های مربوط به نمایش باکس popup با استفاده از گرافیک پیش فرض مرورگر متد های dialog می گوییم.

alert صرف نمایش یک متن

alert('hello world')
confirm توقف برنامه و گرفتن تاییدیه برای ادامه برنامه

let confirmation = confirm('Are you sure in delete entity')
prompt دریافت یک متن ورودی در پوشش همان باکس popup و استفاده از آن برای اجرای شرط ادامه برنامه .

let displayName = prompt("please enter display name", "guest " + Date.now())
alert('Welcome ' + displayName)

به طور مثال قرار است یک متد یک درخواست حذف یک موجودیت را بدهد. حذف موجودیت یک عملیات حساس است که امکان خطا در آن وجود دارد . برای همین یک پیش درخواست برای این پردازش اجرا خواهیم کرد.

var validateAction = function(e){
   let validateKey = e.target.getAttribute('data-name')
   let requestKey = prompt('enter the entity that you want to delete it')
   if(validateKey != requestKey){
      alert('your name is incorrect , the name was ' + validateKey)
      return e.preventDefault()
   }
}

در کد بالا در ادامه اگر نام اشتباه وارد کرده باشد preventDefault اتفاق می افتد و اگر درست باشد ادامه عملیات که همان دکمه ای است که روی آن کلیک شده است.

console

نمایش خروجی در console محیط اجرای جاوا اسکریپت از متد window.console یا خلاصه تر console استفاده می کنیم. ابزار console بیشتر برای دیباگ و نمایش لاگ ها در مرورگر یا خروجی interactive shell جاوا اسکریپت مورد استفاده قرار می گیرد.

console.log : برای نمایش ساده خروجی . معادل var_dump در php

console.assert : در صورتی که شرط (assertion) برابر با false شود این مورد نمایش داده می شود . به طور مثال اگر پاسخ آمده از سرور برابر با false باشد خروجی متن خطا را نمایش بده :

function handleResponse(response){
   console.assert(response.status,response.message)
}

console.clear : برای پاک کردن console استفاده می شود . به طور مثال می خواهید قبل از نمایش داده متن شما کنسول حتما تمیز باشد

console.clear()
console.log(error)

console.count : تعداد بارهایی که این console.count اجرا شده است را نمایش می دهد. برای شمارش یک عملیات خاص استفاده می شود.

for (let i = 0; i < 5; i++) {
  console.count("Count number");
  console.log(i);
}

console.dir : صورت قابل فهم تری از console.log است.

console types console.dir

console.error : برای نمایش خطا کاربرد دارد

console.table : داده های موجود را در قالب جدول نمایش می دهد 🙂

console.time : برای تعیین زمان میان دو خط اجرای کد است . به طور مثال :

console.time("trackLoop");
for (let i = 0; i < 10000; i++) { }
console.timeEnd("trackLoop");

در انتهای اجرای این کد trackLoop: 1ms – timer ended چاپ می گردد یعنی ۱میلی ثانیه از شروع تا پایان زمان برده است برای حلقه در ۱۰ هزار عدد. برای تعیین زمان این عبارت بسیار کاربردی است.

Encryption

رمز نگاری قابل برگشت می باشد . این توابع برای تولید رشته های خاص برای token یا salt بسیار کاربردی است و همچنین راهکار غیر امنی برای احراز هویت می باشد.

atob رمز کردن یا همان Encode
btoa رمزنگاری و یا همان Decode
let text = "gnutec";
let encoded = window.btoa(text); //Z251dGVj
let decoded = window.atob(encoded); //gnutec

window

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

open باز کردن یک پنجره جدید . این متد ورودی هایی که می گیرد ویژگی های همان پنجره خواهد بود.

var newHome = window.open(window.location.origin,'home url','_blank');

پارامتر اول لینک است . پارامتر دوم نام انتخابی برای پنجره است و پارامتر سوم target است و پارامتر چهارم رشته ای از ویژگی های نظیر اندازه های مربوطه

close بستن پنجره جاری

var home = window.open(window.location.origin,'home url','_blank');
home.close()
stop stop کردن load صفحه جاری

window.stop()
moveTo جا به جا کردن پنجره مورد نظر با توجه به موقعیت تصویر screen

var home = window.open(window.location.origin,'_blank','width=200,height=200')
home.moveTo(100,100)
moveBy جا به جا کردن پنجره با توجه به موقعیت فعلی پنجره

var home = window.open(window.location.origin,'_blank','width=200,height=200')
home.moveBy(100,100)
resizeTo تغییر اندازه پنجره جاری به سایز داده شده به صورت static

var home = window.open(window.location.origin,'_blank','width=200,height=200')
home.resizeTo(100,100)
resizeBy تغییر اندازه پنجره جاری با توجه به اندازه فعلی به صورت relative

var home = window.open(window.location.origin,'_blank','width=200,height=200')
home.resizeBy(100,100)

مثلا در مثال بالا پنجره هر اندازه که باشد به مقدار ۱۰۰ پیکسل طول و عرض آن افزایش می یابد.

scrollTo اسکرول کردن یک پنجره به مقدار ثابت داده شده . پارامتر اول مقدار horizontally یا افقی , پارامتر دوم مقدار vertically یا عمودی

window.scroll(0,0)

برای رفتن به ابتدای صفحه.

window.scroll(0,100)

۱۰۰ واحد از ابتدای صفحه پایین تر (عمودی)

scrollBy اسکرول کردن با توجه به موقعیت کنونی اسکرول است .

window.scroll‌By(0,100)

100 واحد از موقعیت کنونی به پایین اسکرول می گردد.

Schedule Timing

برای اجرای برنامه ها یه صورت زمان بندی از زمان شروع Timeout تا زمان پایان Interval می باشد.

setTimeout اجرای برنامه بعد از گذشت یک زمان

function win(){
    alert('you win')
}
setTimeout(win,3000)

دقت داشته باشید اگر در زمان پاس دادن یک callback به یک متد مقابل تابع () را قرار بدهیم این تابع در زمان اجرای متد فرخواننده اجرا خواهد شد. به طور مثال رویه زیر اشتباه است:

settimeout(win(),3000)
clearTimeout پاک کردن timeout تعبیه شده روی یک متد پیش از رسیدن زمان اجرای callback

var tout = setTimeout(win,9000) 
clearTimeout(tout)
setTimeInterval اجرای یک بلوک کد یا یک متد به صورت سیکل زمانی

const intervalOne = window.counter = 0;
window.interval = setInterval(()=>{
  counter++;
  console.log(counter)
},1000);
clearInterval حذف سیکل تکرار از روی یک متد

const intervalOne = window.counter = 0;
window.interval = setInterval(()=>{
  counter++;
  console.log(counter)
},1000);
clearInterval(intervalOne)

Type Casting

این دسته متد ها برای تبدیل واحد اعداد می باشد . برای به عدد از نوع integer , floating point است.

parseInte تبدیل به عدد صحیح

parseInt('10') //10
parseFload تبدیل به عدد اعشاری

parseFloat('10.1') //10.1

سایر متد های window

print : برای پرینت گرفتن صفحه جاری استفاده می شود.

window.print()

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

var mywindow = window.open('', 'PRINT', 'height=400,width=600');

mywindow.document.write('<html><head><title>' + document.title  + '</title>');
mywindow.document.write('</head><body >');
mywindow.document.write('<h1>Title of this content</h1>');
mywindow.document.write(document.getElementById(content_bar).innerHTML);
mywindow.document.write('</body></html>');
mywindow.document.close(); 
mywindow.focus(); 
mywindow.print();
mywindow.close();

در قطعه کد بالا ما درخواست دادیم برای ساخت یک window و در ادامه محتوای بدنه اصلی را #content_bar را در این window قرار داده و پرینت گرفتیم .

مطالب مشابه

JavaScript Object Basic

اشیا یک ساختمان داده مهم در جاوا اسکریپت است که به صورت کلید مقدار یک سری داده (Data or Property) و یک سری عملکرد...

Class in Javascript

class ها یک قابلیت برای تعریف یک سری نوع داده های خاص بر اساس موجودیت های جاری در سیستم است . به طور مثال برای تعریف یک...

Object Prototype

ویژگی ارث بری یا inheritance یکی از مفاهیم شئ گرایی در زبان های برنامه نویسی مبتنی بر اشیا می باشد. این قابلیت در...

Javascript FormData

FormData شئ است که یک سری مقادیر را به صورت key,value برای RequestBody فراهم می آورد. استفاده اصلی آن برای کار با form...

اشتراک گذاری :

مدیر وب سایت گنوتک . برنامه نویسی رو با زبان C در هفده سالگی شروع کردم . در حال حاضر به برنامه نویسی php برپایه معماری MVC , HMVC و همچنین سیستم مدیریت محتوای WordPress و فریم ورک محبوب لاراول علاقه مند هستم و دوست دارم اطلاعاتم رو با شما به اشتراک بگذارم.

۰ دیدگاه برای Window Object Methods

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *