ব্রাউজার উইন্ডোতে বর্তমান ট্যাবটি কীভাবে বন্ধ করবেন?


434

আমি একটি ওয়েবপৃষ্ঠায় একটি লিঙ্ক তৈরি করতে চাই যা ব্রাউজারের অন্যান্য ট্যাবগুলি বন্ধ না করে কোনও ব্রাউজারে সক্রিয় ট্যাবটি বন্ধ করে দেবে।
ব্যবহারকারী যখন ঘনিষ্ঠ লিঙ্কটি ক্লিক করেন, তখন একটি সতর্কতা বার্তা উপস্থিত হওয়া উচিত যাতে ব্যবহারকারীকে দুটি "বোতাম" এবং "না" বোতামের মাধ্যমে নিশ্চিত করতে বলা হয়। যদি ব্যবহারকারী "হ্যাঁ" ক্লিক করেন, পৃষ্ঠাটি বন্ধ করুন এবং যদি "না" হয় তবে কিছুই করবেন না।

এটা কিভাবে করা যাবে? কোন পরামর্শ?


আমি এখানে আসতে দেরি করতে পারি তবে এটি একটি কারণের কারণে ব্রাউজারগুলি দ্বারা প্রতিরোধ করা হয়েছে <br> <br> <br> নিজেকে বারবার একটি উইন্ডো বন্ধ করার চেষ্টা করার কথা ভাবুন এবং এটি আপনার প্রশ্ন থেকে " যদি না " অংশটি করছেন তেমন বন্ধ হচ্ছে না যা 'কিছুই করবেন না'। <br> <br> এটি নিশ্চিতর জন্য বিরক্তিকর হবে!
মুহাম্মদ ওসামা

উত্তর:


502

এটি করার জন্য আপনার জাভাস্ক্রিপ্টের প্রয়োজন হবে। ব্যবহার window.close():

close();

দ্রষ্টব্য: বর্তমান ট্যাব নিহিত এটি সমতুল্য:

window.close();

অথবা আপনি একটি আলাদা উইন্ডো নির্দিষ্ট করতে পারেন।

তাই:

function close_window() {
  if (confirm("Close Window?")) {
    close();
  }
}

এইচটিএমএল সহ:

<a href="javascript:close_window();">close</a>

বা:

<a href="#" onclick="close_window();return false;">close</a>

return falseইভেন্টের জন্য ডিফল্ট আচরণ রোধ করতে আপনি এখানে। অন্যথায় ব্রাউজারটি সেই ইউআরএল-এ যাওয়ার চেষ্টা করবে (যা এটি স্পষ্টতই নয়)।

এখন window.confirm()ডায়লগ বাক্সে বিকল্পগুলি ঠিক আছে এবং বাতিল হবে (হ্যাঁ এবং না নয়)। আপনি যদি সত্যিই হ্যাঁ এবং না চান তবে আপনাকে কোনও ধরণের মডেল জাভাস্ক্রিপ্ট ডায়ালগ বক্স তৈরি করতে হবে।

দ্রষ্টব্য: উপরের সাথে ব্রাউজার-নির্দিষ্ট পার্থক্য রয়েছে। আপনি যদি জাভাস্ক্রিপ্ট (মাধ্যমে window.open()) দিয়ে উইন্ডোটি খোলেন তবে আপনাকে জাভাস্ক্রিপ্ট দিয়ে উইন্ডোটি বন্ধ করার অনুমতি দেওয়া হবে। ফায়ারফক্স আপনাকে অন্য উইন্ডোজ বন্ধ করতে দেয় না। আমি বিশ্বাস করি আইই ব্যবহারকারীকে নিশ্চিতকরণের জন্য জিজ্ঞাসা করবে। অন্যান্য ব্রাউজারগুলি পৃথক হতে পারে।


386
আপনি জাভাস্ক্রিপ্টের মাধ্যমে কোনও ট্যাব বন্ধ করতে পারবেন না। "উইন্ডো.ওপেন পদ্ধতিটি ব্যবহার করে স্ক্রিপ্ট দ্বারা খোলা উইন্ডোগুলির জন্য এই পদ্ধতিটি কেবলমাত্র কল করার অনুমতি দেওয়া হয়।" অন্য কথায়, আপনি কেবল জাভাস্ক্রিপ্টের মাধ্যমে তৈরি উইন্ডো / ট্যাবটি বন্ধ করতে জাভাস্ক্রিপ্ট ব্যবহার করতে পারেন।
রায়ান জয়


2
ইন about:config dom.allow_scripts_to_close_windows = trueহতে পারে ফায়ারফক্সে সমাধান (ক বড় নিরাপত্তা ঝুঁকি হতে পারে!)
অজানা Frädrich

6
ব্রাউজারটি এই আচরণের অনুমতি দেয় না। জাভাস্ক্রিপ্ট কেবল খোলা ট্যাবটি বন্ধ করতে পারে।
এডওয়ার্ড কেনেডি

1
এটি ক্রোম 62 এ (কমপক্ষে) কাজ করে: <button type="button" onclick="window.open('', '_self', ''); window.close();">Discard</button> এই নিবন্ধটিও দেখুন
17:30

247

এটা চেষ্টা কর

<a href="javascript:window.open('','_self').close();">close</a>

2
ফায়ারফক্স 31.0 এ কাজ করা
অ্যাড্রিয়ান কার

1
এই সমাধানটির খারাপ দিকটি হ'ল একটি অনুরোধ সার্ভারে প্রেরণ করা হয়। তবে অন্যদিকে, আমি অন্য কোনও সমাধান খুঁজে পাইনি।
100r

18
ক্রোম কনসোল আউটপুটগুলি থেকে এটি করা "স্ক্রিপ্টগুলি কেবল এটি দ্বারা খোলা উইন্ডোগুলি বন্ধ করতে পারে"
সংসদ

কাজ করে না। স্ক্রিপ্টগুলি কেবল এটি দ্বারা খোলা উইন্ডোগুলি বন্ধ করতে পারে।
রোমান লসেভ

1
60.0.3079.0 ক্রোমে কাজ করছেন না: "স্ক্রিপ্টগুলি কেবল এটি দ্বারা খোলা উইন্ডোগুলি বন্ধ করতে পারে।"
আমাদের_বেনিফ্যাক্টররা

65

এই পদ্ধতিটি ক্রোম এবং আইইতে কাজ করে:

<a href="blablabla" onclick="setTimeout(function(){var ww = window.open(window.location, '_self'); ww.close(); }, 1000);">
    If you click on this the window will be closed after 1000ms
</a>

56
সহজ:open(location, '_self').close();
uınbɐɥs

এটি আইই ১১ তে বেশ ভাল কাজ করেছে, তবে ক্রোমে 38
ইয়ান ডুরান

31

আমি যতদূর বলতে পারি, এটি ক্রোম বা ফায়ারফক্সে আর সম্ভব নয়। এটি এখনও সম্ভব হতে পারে (কমপক্ষে প্রাক-এজ)।


2
এটি ক্রোম 62 এ (কমপক্ষে) কাজ করে: <button type="button" onclick="window.open('', '_self', ''); window.close();">Discard</button> এই নিবন্ধটিও দেখুন
17:30

ওয়েলিং ওয়েল, নিবন্ধটি ২০০ 2006 সালের, তবে যদি আপনি এমন কোনও কিছু খুঁজে পেয়ে থাকেন যা কার্যকর হয় তবে এটি দুর্দান্ত খবর এবং সম্ভবত যারা এ পর্যন্ত পড়েছেন তাদের সহায়তা করবে। ভাগ করে নেওয়ার জন্য ধন্যবাদ.
গাই শালনাট

প্রশ্নটি ছিল active ট্যাবটির মধ্য থেকে বর্তমান সক্রিয় ট্যাবটি বন্ধ করার বিষয়ে। আপনি যেমনটি বলেছেন, এটি ক্রোম বা ফায়ারফক্সে সম্ভব নয়। এটি গ্রহণযোগ্য উত্তর হওয়া উচিত।

14

এটা সম্ভব. আমি এটির জন্য পুরো নেটটি অনুসন্ধান করেছিলাম, তবে একবার যখন আমি মাইক্রোসফ্টের জরিপের একটি গ্রহণ করি, অবশেষে আমি উত্তর পেয়ে যাই।

এটা চেষ্টা কর:

window.top.close();

এটি আপনার জন্য বর্তমান ট্যাবটি বন্ধ করে দেবে।


12
"স্ক্রিপ্টগুলি কেবল এটি দ্বারা খোলা উইন্ডোগুলি বন্ধ করতে পারে।" ক্রোম 50 এ
হুস্কি

7

এফএফ 18 এবং ক্রোম 24-এ সফলভাবে পরীক্ষা করা হয়েছে:

মাথায় sertোকান:

<script>
    function closeWindow() {
        window.open('','_parent','');
        window.close();
    }
</script> 

এইচটিএমএল:

<a href="javascript:closeWindow();">Close Window</a>

ক্রেডিটগুলি মার্কোস জে ড্রেকের কাছে যায়


ক্রোমের উপর owুকছে না "স্ক্রিপ্টগুলি কেবল এটি দ্বারা খোলা উইন্ডোগুলি বন্ধ করতে পারে।"
Carsar Leon

7

এটিও চেষ্টা করে দেখুন। তিনটি বড় ব্রাউজারে আমার জন্য কাজ করা।

<!-- saved from url=(0014)about:internet -->
<a href="#" onclick="javascript:window.close();opener.window.focus();" >Close Window</a>

ফায়ারফক্স কোয়ান্টাম 68.0.1
জেক

7

নিম্নলিখিতটি ক্রম 41 এ আমার জন্য কাজ করে:

function leave() {
  var myWindow = window.open("", "_self");
  myWindow.document.write("");
  setTimeout (function() {myWindow.close();},1000);
}

আমি এফএফ-এর জন্য একটি আসল ওয়েব পৃষ্ঠা খোলার সহ বেশ কয়েকটি ধারণার চেষ্টা করেছি, তবে কিছুই কার্যকর মনে হচ্ছে না। আমি যতদূর বুঝতে পেরেছি যে কোনও ব্রাউজার xxx.close () দিয়ে একটি ট্যাব বা উইন্ডোটি বন্ধ করে দিবে যদি এটি সত্যিকার অর্থে জেএস দ্বারা খোলা হয়েছিল, তবে এফএফ, অন্ততপক্ষে, এই ট্যাবের ভিতরে নতুন সামগ্রী খোলার মাধ্যমে কোনও ট্যাব বন্ধ করে ফেলা যায় না।

আপনি যখন এটি সম্পর্কে ভাবেন তখন এটি অর্থবোধ করে - কোনও ব্যবহারকারী জেএসের পছন্দসই কোনও ট্যাব বা উইন্ডোটি বন্ধ করতে চান না যার মধ্যে দরকারী ইতিহাস রয়েছে।


ক্রোম: 'আনকাচড টাইপ এরিয়ার: সম্পত্তি নালার' অভ্যন্তরীণ এইচটিএমএল 'সেট করতে পারে না
ফ্রান্সিসকো

5

এটি নেক্রোপোস্টিংয়ের জন্য দুঃখিত, তবে আমি সম্প্রতি একটি স্থানীয়ভাবে হোস্ট করা সাইটটি প্রয়োগ করেছি যার বর্তমান ব্রাউজারের ট্যাবটি বন্ধ করার দক্ষতার প্রয়োজন ছিল এবং আমি এমন কিছু আকর্ষণীয় কাজের সন্ধান পেয়েছি যা আমি যে কোনও জায়গায় খুঁজে পেতে পারি না, তাই এটি করার জন্য নিজেকে নিয়েছিলাম।

দ্রষ্টব্য: এই কাজের ক্ষেত্রগুলি স্থানীয়ভাবে হোস্ট করা সাইটটিকে মাথায় রেখেই করা হয়েছিল এবং (এজ ব্যতীত) ব্রাউজারটি নির্দিষ্টভাবে কনফিগার করা দরকার, তাই সর্বজনীনভাবে হোস্ট করা সাইটগুলির জন্য এটি আদর্শ হবে না।

প্রসঙ্গ: অতীতে, jQuery স্ক্রিপ্ট window.close()বেশিরভাগ ব্রাউজারগুলিতে কোনও সমস্যা ছাড়াই বর্তমান ট্যাবটি বন্ধ করতে সক্ষম হয়েছিল। তবে, সুরক্ষার কারণে আধুনিক ব্রাউজারগুলি এই স্ক্রিপ্টটি আর সমর্থন করে না।

গুগল ক্রম:

ক্রোম উইন্ডো.ক্লোজ () স্ক্রিপ্টটি চালানোর অনুমতি দেয় না এবং আপনি এটি ব্যবহার করার চেষ্টা করলে কিছুই ঘটে না। ক্রোম প্লাগইন TamperMonkey ব্যবহার তবে আমরা কসম করতে window.close () পদ্ধতি ব্যবহার করে আপনি অন্তর্ভুক্ত // @grant window.closeTamperMonkey এর userscript হেডারের মধ্যে।

উদাহরণস্বরূপ, আমার স্ক্রিপ্ট (যা id = 'close_page' সহ একটি বোতাম ক্লিক করা হয় এবং ব্রাউজারের পপআপে 'হ্যাঁ' চাপলে তা ট্রিগার হয়) দেখে মনে হয়:

// ==UserScript==
// @name         Close Tab Script
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Closes current tab when triggered
// @author       Mackey Johnstone
// @match        http://localhost/index.php
// @grant        window.close
// @require      http://code.jquery.com/jquery-3.4.1.min.js
// ==/UserScript==

(function() {
    'use strict';
    $("#close_page").click(function() {
        var confirm_result = confirm("Are you sure you want to quit?");
        if (confirm_result == true) {
            window.close();
        }
    });
})();

দ্রষ্টব্য: এই সমাধানটি কেবলমাত্র ট্যাবটি বন্ধ করতে পারে যদি এটি শেষ ট্যাবটি না খালি। সুতরাং কার্যকরভাবে, এটি ট্যাবটি বন্ধ করতে পারে না যদি এটি শেষ ট্যাবটি খোলা থাকার কারণে উইন্ডোটি বন্ধ হয়ে যায়।

ফায়ারফক্স:

ফায়ারফক্সের একটি উন্নত সেটিংস রয়েছে যা আপনি স্ক্রিপ্টগুলিকে উইন্ডোজ বন্ধ করার অনুমতি দিতে সক্ষম করতে পারবেন, কার্যকরভাবে window.close()পদ্ধতিটি সক্ষম করে । এই সেটিংটি সক্ষম করতে এখানে যান : কনফিগার করুন তারপরে dom.allow_scriptts_to_close_windows পছন্দটি অনুসন্ধান করুন এবং এটি মিথ্যা থেকে সত্যে স্যুইচ করুন।

এটি আপনাকে window.close()অন্য কোনও স্ক্রিপ্টের মতো আপনার jQuery ফাইলে সরাসরি পদ্ধতিটি ব্যবহার করতে দেয় ।

উদাহরণস্বরূপ, এই স্ক্রিপ্টটি পছন্দটিকে সত্য হিসাবে সেট করার সাথে পুরোপুরি কাজ করে:

<script>
  $("#close_page").click(function() {
    var confirm_result = confirm("Are you sure you want to quit?");
    if (confirm_result == true) {
      window.close();
    }
  });
</script>

এটি ক্রোম ওয়ার্কআরউন্ডের চেয়ে অনেক বেশি ভাল কাজ করে কারণ এটি কেবলমাত্র ট্যাবটি খোলার পরেও বর্তমান ট্যাবটি বন্ধ করতে দেয় এবং তৃতীয় পক্ষের প্লাগইন প্রয়োজন হয় না। তবে এর খারাপ দিকটি হ'ল এটি এই স্ক্রিপ্টটি বিভিন্ন ওয়েবসাইট দ্বারা চালিত করতে সক্ষম করে (কেবল আপনি এটি ব্যবহার করতে চাইছেন এমনটি নয়) এটি সম্ভবত একটি সুরক্ষা ঝুঁকি হতে পারে, যদিও আমি বর্তমান ট্যাবটি বিশেষত বিপজ্জনক বলে বন্ধ করার কল্পনা করতে পারি না।

এজ:

হতাশাজনকভাবে এজ আসলে আমার চেষ্টা করা 3 টি ব্রাউজারের মধ্যে সেরাটি সম্পাদন করেছিল এবং window.close()কোনও কনফিগারেশন প্রয়োজন না করে পদ্ধতিতে কাজ করেছে worked যখন window.close()স্ক্রিপ্ট চালানো হয় অতিরিক্ত পপআপ আপনি সতর্কতা পৃষ্ঠা এবং বর্তমান ট্যাব বন্ধ করার চেষ্টা করছে যে জিজ্ঞেস করে আপনি কি এগিয়ে যেতে চান।

এখানে চিত্র বর্ণনা লিখুন

চূড়ান্ত দ্রষ্টব্য: ক্রোম এবং ফায়ারফক্স উভয়ের জন্য সমাধানগুলি সুরক্ষার কারণে সম্ভাব্যভাবে ব্রাউজারগুলি ইচ্ছাকৃতভাবে অক্ষম করা এমন কোনও কাজের জন্য কার্যকর কাজ। তারা উভয়ই তাদের ব্রাউজারগুলি হাতের সামনে সামঞ্জস্যপূর্ণ হওয়ার জন্য কনফিগার করার প্রয়োজন বোধ করে, তাই সম্ভবত জনসাধারণের ব্যবহারের উদ্দেশ্যে তৈরি সাইটগুলি কার্যকর হবে না, তবে স্থানীয়ভাবে আমার মতো হোস্ট করা সমাধানগুলির জন্য আদর্শ।

আশা করি এটি সাহায্য করেছে! :)


5

এখনও এই পৃষ্ঠায় যাচ্ছেন এমন লোকদের জন্য, আপনাকে কেবলমাত্র কোনও স্ক্রিপ্ট দ্বারা খোলা একটি ট্যাব বন্ধ করার অনুমতি দেওয়া হয়েছে বা টার্গেট _ব্ল্যাঙ্ক সহ HTML এর অ্যাঙ্কর ট্যাগ ব্যবহার করে। এই দুটি ব্যবহার করে বন্ধ করা যেতে পারে

<script>
    window.close();
</script>

এটি প্রতিটি আধুনিক ব্রাউজারে কাজ করে। আইই 11 এবং এজ 17 একটি নিশ্চিত সতর্কতা দেখায় তবে এটি এখনও কার্যকর হয়।
ফ্যাবিয়ান ভন এলার্টস

1
<button class="closeButton" style="cursor: pointer" onclick="window.close();">Close Window</button>

এটি আমার জন্য কাজ করেছে


1

কিছুটা দেরি করলেও আমি এটি খুঁজে পেলাম ...

window.close()close()উইন্ডো.ওপেন () পদ্ধতি ব্যবহার করে কোনও উইন্ডোটি কোনও স্ক্রিপ্ট দ্বারা খোলা থাকলে কেবলমাত্র (IE ব্যতিক্রম) কাজ করবে ।

(দয়া করে টার্গেট _ব্ল্যাঙ্ক সহ অ্যাঙ্কর ট্যাগ সম্পর্কে নীচে @ কিলস্ট্রিটের মন্তব্য দেখুন)

টিএলডিআর : ক্রোম এবং ফায়ারফক্স তাদের বন্ধ করতে দেয়।

আপনি কনসোল ত্রুটি পাবেন: স্ক্রিপ্টগুলি স্ক্রিপ্ট দ্বারা খোলা হয়নি এমন উইন্ডোগুলি বন্ধ নাও করতে পারে। ত্রুটি হিসাবে এবং কিছুই না।

পৃষ্ঠাটি কোনও স্ক্রিপ্ট থেকে (সময়ের মতো) খোলা হয়েছে কিনা তা জানতে আপনি ইউআরএলটিতে একটি অনন্য প্যারামিটার যুক্ত করতে পারেন - তবে এটি কেবল একটি হ্যাক এবং একটি স্থানীয় কার্যকারিতা নয় এবং কিছু ক্ষেত্রে ব্যর্থ হবে ।

পৃষ্ঠাটি খোলা () থেকে খোলা হয়েছে কিনা তা জানার কোনও উপায় আমি খুঁজে পাইনি এবং কাছাকাছি নিক্ষেপ করবে না এবং ত্রুটি করবে না। এটি "পরীক্ষা" মুদ্রণ করবে না :

try{
  window.close();
}
catch (e){
  console.log("text");
}

আপনি এমডিএন-এ আরও ঘনিষ্ঠ () ফাংশন সম্পর্কে পড়তে পারেন


2
এটি কেবল স্ক্রিপ্টগুলি দ্বারা খোলা ট্যাবগুলি নয়, লক্ষ্য _ব্ল্যাঙ্ক সহ একটি অ্যাঙ্কর ট্যাগও বন্ধ করার অনুমতি দেওয়া হবে। এখনও পর্যন্ত ক্রোম এবং ফায়ারফক্সে পরীক্ষা করা হয়েছে এবং উভয়ই অ্যাঙ্কর ট্যাগ দ্বারা খোলা ট্যাবগুলি বন্ধ করার অনুমতি দেয় বলে মনে হচ্ছে।
হত্যাকাণ্ডের


-1

এটি একই সমাধানের একটি উপায়, এটির মতো একটি জাভাস্ক্রিপ্ট ফাংশন ঘোষণা করুন

<script>
  function Exit() {
     var x=confirm('Are You sure want to exit:');
     if(x) window.close();
   }
</script>

এটি ব্যবহার করে ফাংশনটি কল করতে নিম্নলিখিত লাইনটি এইচটিএমএলে যুক্ত করুন <button>

<button name='closeIt' onClick="Exit()" >Click to exit </Button>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.