จาวาสคริปต์ทั่วไปไม่สามารถปิดหน้าต่างได้ นี่คือคุณลักษณะด้านความปลอดภัยซึ่งแนะนำเมื่อไม่นานมานี้เพื่อหยุดการหาช่องโหว่และการก่อกวนที่เป็นอันตรายต่างๆ
จากข้อมูลจำเพาะการทำงานล่าสุดสำหรับwindow.close() :
  ควรclose()ใช้วิธีการกับวัตถุหน้าต่างหากเงื่อนไขต่อไปนี้ทั้งหมดปิดบริบทการสืบค้นA :
  
  
  - บริบทการสืบค้นที่เกี่ยวข้องAสามารถปิดสคริปต์ได้
- บริบทการเรียกดูสคริปต์หน้าที่เป็นที่คุ้นเคยกับการเรียกดูบริบท
- บริบทการเรียกดูสคริปต์หน้าที่ที่ได้รับอนุญาตเพื่อนำทางเรียกดูบริบท
บริบทการสืบค้นคือสคริปต์ที่ปิดได้หากเป็นบริบทการสืบค้นเสริมที่สร้างขึ้นโดยสคริปต์ (ตรงข้ามกับการกระทำของผู้ใช้) หรือเป็นบริบทการสืบค้นที่มีประวัติเซสชันมีเอกสารเดียว
ซึ่งหมายความว่าด้วยข้อยกเว้นเล็ก ๆ น้อย ๆจาวาสคริปต์จะต้องไม่ได้รับอนุญาตให้ปิดหน้าต่างที่ไม่ได้เปิดโดยจาวาสคริปต์เดียวกันนั้น
Chrome อนุญาตให้ยกเว้น - ซึ่งไม่สามารถใช้ได้กับ userscripts - อย่างไรก็ตาม Firefox ไม่สามารถใช้งานได้  สถานะการติดตั้ง Firefox เรียบง่าย :
  วิธีนี้ได้รับอนุญาตเท่านั้นที่จะถูกเรียกสำหรับ windows ที่เปิดโดยสคริปต์โดยใช้window.openวิธีการ
หากคุณพยายามใช้window.closeจาก Greasemonkey / Tampermonkey / userscript คุณจะได้รับ: 
Firefox:ข้อความแสดงข้อผิดพลาด " Scripts may not close windows that were not opened by script." 
Chrome:ล้มเหลวอย่างเงียบ ๆ
ทางออกระยะยาว:
วิธีที่ดีที่สุดในการจัดการกับสิ่งนี้คือการสร้างส่วนขยายของ Chrome และ / หรือส่วนเสริมของ Firefox แทน   สิ่งเหล่านี้สามารถปิดหน้าต่างปัจจุบันได้อย่างน่าเชื่อถือ
อย่างไรก็ตามเนื่องจากความเสี่ยงด้านความปลอดภัยที่วางไว้โดยwindow.closeมีน้อยมากสำหรับสคริปต์ Greasemonkey / Tampermonkey; Greasemonkey และ Tampermonkey สามารถให้ฟังก์ชั่นนี้ใน API ของพวกเขาได้อย่างสมเหตุสมผล 
พิจารณาการร้องขอคุณสมบัติ
วิธีแก้ปัญหาแฮ็ค:
 ปัจจุบันChrome มีความเสี่ยงต่อการ "เปลี่ยนเส้นทางด้วยตนเอง" ดังนั้นรหัสเช่นนี้เคยทำงานโดยทั่วไป:
open(location, '_self').close();
นี่คือพฤติกรรมบั๊กกี้ IMO และขณะนี้ (ณ เดือนเมษายน 2558 โดยประมาณ) ส่วนใหญ่ถูกปิดกั้น มันจะยังคงทำงานจากที่ฉีดรหัสเฉพาะถ้าแท็บเปิดสดใหม่และมีหน้าในประวัติการเข้าชมไม่ ดังนั้นจึงมีประโยชน์ในกรณีที่มีขนาดเล็กมากเท่านั้น
แต่รูปแบบยังคงทำงานบน Chrome (v43 & v44) บวก Tampermonkey (v3.11 หรือหลังจากนั้น) ใช้อย่างชัดเจนและธรรมดา@grant window.close()เช่น:
// ==UserScript==
// @name        window.close demo
// @include     http://YOUR_SERVER.COM/YOUR_PATH/*
// @grant       GM_addStyle
// ==/UserScript==
setTimeout (window.close, 5000);
ขอบคุณzanetuสำหรับการอัพเดท โปรดทราบว่านี่จะไม่ทำงานหากมีเพียงหนึ่งแท็บที่เปิดอยู่ มันจะปิดแท็บเพิ่มเติมเท่านั้น
Firefoxมีความปลอดภัยต่อการโจมตีดังกล่าว ดังนั้นวิธีเดียวที่จาวาสคริปต์คือการทำลายการตั้งค่าความปลอดภัยเบราว์เซอร์ครั้งละหนึ่ง
คุณสามารถเปิดขึ้นabout:configและการตั้งค่าไป  
allow_scripts_to_close_windowstrue
หากสคริปต์ของคุณมีไว้สำหรับการใช้งานส่วนตัวไปข้างหน้าและทำสิ่งนั้น ถ้าคุณขอให้คนอื่นเปิดการตั้งค่าพวกเขาจะฉลาดและเป็นธรรมเพื่อปฏิเสธด้วยอคติ  
ขณะนี้ไม่มีการตั้งค่าที่เทียบเท่ากับ Chrome
               
              
window.close()ใช้ได้กับฉันในโครเมียม