2016-04-05 14 views
-3

HTML sayfamdaki bir düğmeyi tıklatarak tarayıcının geçerli sekmesini kapatmaya çalışıyorum, Kullanıcı önceki bağlantıya geri dönmemesi gerektiğinden, kullanıcıyı yeniden başlatmaya zorlamaya çalışıyorum ... Bunu yapmanın bir yolu var mı?HTML içinde bir düğmeyi tıklayarak mevcut sekmeyi nasıl kapatabilirim?

<div class="form-group col-lg-12 pad0 mt10"> 
     <div class="a-center"> 
      <input id="cLReq" class="btn btn-danger" ng-click="window.close()" type="button" value="Close the Window"></input> 
     </div> 
    </div> 
+1

Hisse sahip kod) (eğer bir cevap – GillesC

+0

deneyin window.close olsun https://developer.mozilla.org/es/docs/Web/API/Window/close yardımcı olacaktır lütfen – ojovirtual

+0

yapabilirsiniz sadece yakın sekmeleri (veya windows) komut dosyasıyla açtınız. – Archer

cevap

4

Sen komut penceresini kapatmak için izin eğer, pencereyi kapatmak için window.close() kullanabilirsiniz.

  • : Aşağıdaki tüm şartlar yerine getirildiği takdirde

    Pencere nesneler üzerinde close() yöntem, tarama bağlam A kapatmalıdır: Tarayıcılar kodunuzu pencere (sekme) sadece some situations kapanmaya izin verir karşılık gelen göz atma bağlamı A, komut dosyası ile kapanabilir. görevdeki ayarları tarafından belirlenen sorumlu tarama bağlam nesne

  • görevdeki ayarları tarafından belirlenen sorumlu tarama bağlam tarama bağlam A.

A gezinmek için izin nesnesie tarama bağlam A.

  • aşina içeriğe göz atmak, bir betik tarafından oluşturulan (kullanıcının eyleminin aksine) yardımcı bir tarama içeriğiyse veya oturum geçmişi yalnızca bir Belge içeren bir göz atma içeriğiyse, komut dosyası tarafından kapsanabilir. İşte

    bir örnek:

    HTML:

    <input type="button" id="btn-immediate" value="Close Immediately"> 
    <input type="button" id="btn-delay" value="Close After Delay"> 
    <div>Auto close in: <span id="countdown"></span></div> 
    

    JavaScript:

    document.getElementById("btn-immediate").addEventListener("click", function() { 
        // Close in direct response to a user action 
        console.log("Calling window.close"); 
        window.close(); 
        console.log("Done calling window.close"); 
    }, false); 
    
    document.getElementById("btn-delay").addEventListener("click", function() { 
        // Close in an INdirect response to a user action 
        console.log("Scheduling timed callback"); 
        setTimeout(function() { 
         console.log("Calling window.close"); 
         window.close(); 
         console.log("Done calling window.close"); 
        }, 0); 
    }, false); 
    
    // Auto close after 15 seconds 
    var counter = 15; 
    tick(); 
    function tick() { 
        if (--counter == 0) { 
         window.close(); 
         document.getElementById("countdown").innerHTML = "If the page is still here, auto-close failed"; 
        } else { 
         document.getElementById("countdown").innerHTML = counter; 
         setTimeout(tick, 1000); 
        } 
    } 
    

    Eğer right-click and open this page in a new tab ardından sayfayla götürecek o sayfada bağlantıyı takip ederse Yukarıdaki kod, en az bir ve muhtemelen window.close() çağrılarının üçünün de başarısız olduğunu göreceksiniz. (tarayıcıya bağlı olarak), göz atma içeriğinin geçmişi boş olmadığından. Ancak, eğer right-click and open that same page directly ise, göz atma içeriğinin geçmişi olmadığından, çoğu olmasa bile çalışamaz.

    Tarayıcı satıcıları, komut dosyasının kodunun olabildiğince fazla olmasını ve yine de kullanıcının tarayıcısından sorumlu olmasını sağlamaya çalışmaktadır. Bir süre için, bir kullanıcı eylemine doğrudan yanıt olarak yalnızca window.close()'u arayabilirdiniz, ancak bu çok kısıtlayıcıydı. HTML5 spesifikasyonu, bu hakkı elde etmeye çalışan bireysel satıcıların yılların deneyimlerinin büyük ölçüde uzlaşma sonucudur.

  • İlgili konular