Użycie okna dialogowego do otworzenia nowej strony

0

Witam ponownie,
pomijając kwestie sposobu użycia okna dialogowego to czy istnieje możliwość aby za jego pomocą otworzyć nowe okno ? Próbowałem to w jakiś sposób wywołać, ale bez sukcesu. Zastanawiam się czy marnować czas na dalsze próby, bo być może nie można tego wykonać ? Niżej zamieszczę moje " dziwne" próby.

  <button onclick="myFunction()">Try it</button>
    <p id="demo"></p>
<script>
function myFunction() {
  var txt;
  if (confirm("Press a button!")) {
    
        const myWindow = function(url, width, height) {
            const centerH = window.screen.height / 2;
            const centerW = window.screen.width / 2;
            const posX = centerW-width/2;
            const posY = centerH-height/2;

            window.open(url, "tytul-okna", `dialog=yes,width=${width},height=${height},left=${posX},top=${posY}`);
        };

        const btn = document.querySelector("#testWindow");
        btn.addEventListener("click", function() {
            myWindow("http://google.pl", 600, 400);
        });
    
  } else {
    txt = "You pressed Cancel!";
  }
  document.getElementById("demo").innerHTML = txt;
}

</script>
1

Za pomocą okna nie otwiera się kolejnych okien. Do otwierania okna służy funkcja window.open( ... ).
Napisz w punktach co chcesz osiągnąć.

2

Przy czym nawet window.open średnio działa na dzisiejszych przeglądarkach. W najlepszym razie dostaniesz nową kartę, a u większości użytkowników domyślnym działaniem będzie zapewne blokada otwarcia okna i tylko małe info o tym gdzieś na pasku.

0

Dziękuje za zainteresowanie. Efekt finalny chyba nie ma większego sensu, ale generalnie muszę poprzez wywołanie okna dialogowego, dać w nim możliwość użytkownikowi: czy chce odwiedzić jakiś konkretny adres strony czy otworzyć nową pustą stronę. W pierwszym jak i drugim przypadku po wyborze ma się otworzyć to w nowym oknie przeglądarki o konkretnych rozmiarach. Mam też pytanie czy otwierając nowe okno przeglądarki o podanych rozmiarach , można w nim ustawić ustawić inną rozdzielczość która zostanie odczytana jako rozmiar okna macierzystego ? Wybaczcie za tak długą wiadomość, ale chciałbym to zrozumieć, a nie jedynie wkleić gotowy kod ... chciałbym wiedzieć jak mogę scalić okno dialogowe z gotowym kodem, który otwiera stronę w nowym oknie o podanej wielkości. Z góry dziękuję za jakiekolwiek wskazówki

0

Pozwolę sobie też dopytać dla samego siebie, czy np. wyskakujące obecnie na stronach akceptacje ciasteczek są uruchamiane właśnie w oknach dialogowych ?

0
jawojo napisał(a):

Pozwolę sobie też dopytać dla samego siebie, czy np. wyskakujące obecnie na stronach akceptacje ciasteczek są uruchamiane właśnie w oknach dialogowych ?

Nie są. Oczywiście to nadal nazywa się okno dialogowe ale zazwyczaj są to efekty działania programu w JavaScript, który jest dołączony do serwisu.

0
katakrowa napisał(a):
jawojo napisał(a):

Pozwolę sobie też dopytać dla samego siebie, czy np. wyskakujące obecnie na stronach akceptacje ciasteczek są uruchamiane właśnie w oknach dialogowych ?

Nie są. Oczywiście to nadal nazywa się okno dialogowe ale zazwyczaj są to efekty działania programu w JavaScript, który jest dołączony do serwisu.

dziękuję za szybką odpowiedź, w takim razie czy obecnie właściwie używa się okien dialogowych typu alert, confirm i prompt ? ( Przepraszam, że odbiegam od tematu głównego )

1

Alert, confirm i prompt są wspierane przez standard ale w praktyce raczej się ich nie stosuje - głównie dlatego, ze są zwyczajnie brzydkie. Jeśli aspekt estetyczny nie ma znaczenia to można korzystać.
Nie jest jednak wskazane korzystanie z window.open ze względu na różnego rodzaju blokady reklam, które są zaimplementowane w przeglądarkach.

0
katakrowa napisał(a):

Alert, confirm i prompt są wspierane przez standard ale w praktyce raczej się ich nie stosuje - głównie dlatego, ze są zwyczajnie brzydkie. Jeśli aspekt estetyczny nie ma znaczenia to można korzystać.
Nie jest jednak wskazane korzystanie z window.open ze względu na różnego rodzaju blokady reklam, które są zaimplementowane w przeglądarkach.

W sumie racja, sam używam wtyczek do przeglądarek, blokujące tego typu rzeczy. Dzięki za podzielenie się wiedzą ;) Pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1