Chrome web mağazasındayken neden html düğmeli bir sekme açamıyorum?


11

Kullanıcı arabirimde farklı düğmelerle bir sayfam var, tüm düğmeler kendi başlarına mükemmel çalışıyor, ancak krom web mağazasında bir uzantı açan düğmeyi tıklar ve daha sonra başka bir düğmeyi tıklarsam sayfa açılmaz .

İşte bahsettiğim şeyin bir örneği. Açılan sekmeleri kapatmadan düğmeleri tıklatırsanız, krom web mağazası açıldıktan sonra tıkladığınız düğmenin bir etkisi olmaz. Bunun neden olduğunu ve bunun nasıl çözüleceğini bilen var mı?

https://html-ichr7r.stackblitz.io

İşte bunun kodu.

<button id="button1" onclick="window.open('https://www.facebook.com/','popup','width=700,height=300');"><strong>CONTINUAR</strong></button><br>
<button id="button2" onclick="window.open('https://www.google.com/','popup','width=700,height=300');"><strong>CONTINUAR</strong></button>

<button id="button3" onclick="window.open('https://chrome.google.com/webstore/detail/dark-mode/dmghijelimhndkbmpgbldicpogfkceaj?hl=de','popup','width=700,height=300');"><strong>CONTINUAR</strong></button><br>
<button id="button4" onclick="window.open('https://www.9gag.com/','popup','width=700,height=300');"><strong>CONTINUAR</strong></button>

Herhangi bir yardım takdir!

EDIT : Firefox'ta çalıştığını anladım, yine de neden Chrome'da çalışmadığını bilmiyorum.


Bu çok garip. Tek düşünebildiğim şey, kromun herhangi bir nedenle pencere nesnesini kaçırması gerektiğidir. Belki çözemezseniz krom üzerinde bir bilet oluşturmalısınız
0_0

Yanıtlar:


2

Bir çözüm buldum: Google web mağazası bağlantınız popupgibi başka bir şeye değişiklik yapın popupWindow, böylece sahip olacaksınız:

<button id="button1" onclick="window.open('https://www.facebook.com/','popup','width=700,height=300');"><strong>CONTINUAR</strong></button><br>
<button id="button2" onclick="window.open('https://www.google.com/','popup','width=700,height=300');"><strong>CONTINUAR</strong></button>

<button id="button3" onclick="window.open('https://chrome.google.com/webstore/detail/dark-mode/dmghijelimhndkbmpgbldicpogfkceaj?hl=de','popupWindow','width=700,height=300');"><strong>CONTINUAR</strong></button><br>
<button id="button4" onclick="window.open('https://www.9gag.com/','popup','width=700,height=300');"><strong>CONTINUAR</strong></button>

Aslında bu kodla iki farklı açılır pencereniz olacak.

Açıklama hakkında, bununla biraz karanlıktayım. Chrome'un https://chrome.google.com/webstore/*güvenlik önlemi olarak JS'nin yürütülmesini engellediğini düşünüyorum . Burada ve burada benzer konular hakkında daha fazla bilgi edinebilirsiniz.

Ekleme (hakkında bazı düşünceler yaptıktan sonra):

Bu muhtemelen Chrome'un geliştiricileri tarafından akıllıca bir hamle. Herhangi bir JS'nin sayfaların hiçbirini değiştirmesine izin vermeyerek https://chrome.google.com/webstore/, hiçbir uzantının bu sayfayı değiştiremeyeceğinden de eminiz. Bir şey yüklüyor oldukça iyi bir şey yapar bir uzantı yüklerseniz olumlu bir puan alırken, aynı zamanda uzantı webstore sayfasını değiştirir. Kullanıcıları, kullanıcıların tarayıcısını veya bilgisayarını etkileyecek ek (hacky / adware-ish) uzantılar veya yazılımlar yüklemeye yönlendirebilir.


Evet, yeni bir sekmede açmak iyi çalışıyor. Belki Chrome web mağazası Google Chrome için bir tür inbuild-Appstore olarak görülüyor ve bu yüzden farklı davranıyor? Gerçekten tuhaf şeyler.
Ckuessner

Bunun güvenlik nedeniyle yapıldığına inanıyorum. Cevabıma olası akıl yürütmeler ekledim.
Dirk

0

Bunun neden olduğunu da anlamıyorum ama bunu denemenin bir yolu var.

  function openWindow(url, type){
    var demo = window.open(url,'popup','width=700,height=300')
      demo.window.close();
        window.open(url,'popup','width=700,height=300')
  }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id="button1" onclick="openWindow('https://www.facebook.com/login')"><strong>CONTINUAR</strong></button><br>
<button id="button2" onclick="openWindow('https://www.google.com/')"><strong>CONTINUAR</strong></button>

<button id="button3" onclick="openWindow('https://chrome.google.com/webstore/')"><strong>CONTINUAR</strong></button><br>
<button id="button4" onclick="openWindow('https://www.9gag.com/')"><strong>CONTINUAR</strong></button>

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.