Avviso di Javascript che mostra l’url del sito. Come posso rimuovere l’url del sito da top di alert javascript?

javascript finestra di avviso con url + msg. non ho superato qualsiasi cosa, ma mostra l’url nella parte superiore della finestra di avviso. come posso rimuovere questo url ? L’url è che mostra quando il mio sito viene reindirizzato da un altro sito.

Significa reindirizzamento da abc.com per xyz.com e la finestra di avviso con xyz.com + msg ?

OriginaleL’autore SKU | 2011-10-18

2 risposte

  1. 2

    Come posso rimuovere l’url del sito da top di alert javascript?

    Non si può. Il browser aggiunge che-in modo che l’utente sa che il messaggio non dal browser stesso.

    L’unica cosa che puoi fare è smettere di usare alert del tutto, e di utilizzare invece le moderne tecniche per la sovrapposizione di un elemento nella parte superiore della pagina. Potete scrivere voi stessi, o utilizzare uno dei numerosi “lightbox” biblioteche. Si noti che, così facendo, cambia il modo in cui il codice un po ‘ le cose, perché mentre alert (e confirm e prompt) portare esecuzione di script nella pagina a una brusca frenata, mentre sono sullo schermo, non si può fare nel proprio codice, in modo che si dispone di strutturare il codice per continuare quando riceve il caso in cui l’utente ha respinto il dialogo. Di solito la biblioteca vi darà un callback è possibile utilizzare per questo, quindi, per esempio, questo alert codice:

    function foo() {
        doSomething();
        alert("Foo!");
        if (x != 42) {
            doSomethingElse();
        }
    }

    diventa

    function foo() {
        doSomething();
        someNiftyLightboxThingy("Foo!", function() {
            if (x != 42) {
                doSomethingElse();
            }
        });
    }

    Non è difficile, devi solo farci l’abitudine.

    Non hanno di utilizzare una libreria per questo, ma facendo in modo che permette di non preoccuparsi di casi limite, e possono offrire funzionalità in più. Ecco una abbastanza scarno esempio:

    HTML:

    <input type='button' id='btnPopup' value='Click for Pop-Up'>

    CSS:

    iframe.shim {
      width:            100%;
      height:           100%;
      position:         absolute;
      left:             0px;
      top:              0px;
      z-index:          100;
      background-color: #fff;
      opacity:          0.5;                 /* Standard */
      filter:           alpha(opacity = 50); /* For IE */
    }
    div.overlay {
      z-index:          101;
      border:           1px solid black;
      background-color: #ecc;
      position:         absolute;
      left:             100px;
      top:              100px;
    }

    JavaScript:

    function doVerySimplePopup(text, callback) {
      var shim, div, parent = document.body;
    
      shim = document.createElement('iframe');
      shim.className = 'shim';
      parent.appendChild(shim);
    
      div = document.createElement('div');
      div.className = 'overlay';
      div.innerHTML = text;
      parent.appendChild(div);
      div.onclick = function() {
        parent.removeChild(div);
        parent.removeChild(shim);
        if (typeof callback === "function") {
          try { callback(); } catch (e) { }
        }
      };
    }

    L’esempio vivo

    Ovviamente, si vuole crostata che un po’, e di nuovo, questo è un bare-bones esempio, non una soluzione completa.

    Esempio di collegamento non funziona.
    Grazie. In che modo e in quale browser? Fai clic su “fare Clic per popup” pulsante e si mette in sovrapposizione (noterete le cose si fanno un po ‘ più fioca, e non è possibile fare clic sul pulsante di nuovo) con il messaggio sulla parte superiore di esso. Poi si fa clic sul messaggio e scompare, e scrive un messaggio dicendo che l’ho fatto (per mostrare come richiamata). Funziona bene qui su Chrome, Firefox e Opera. Ho sparato una VM con IE6 e ha funzionato tranne che per lo spessore, probabilmente, qualcosa di necessario nel CSS (come ho detto, solo un esempio, non e ‘ perfetto 🙂 ).

    OriginaleL’autore T.J. Crowder

  2. 1

    @T. J. Crowder la risposta è corretta, in circostanze normali. Anche se non completamente. Ci sono modi per aggirare questo, e ottenere quello che vuoi, alla fine;

    Stato di prova su http://htmledit.squarefree.com, fondamentalmente basta digitare nella casella di testo:

    <script>alert('whatever');</script>

    E l’uscita è una finestra di avviso, senza l’URL.
    Sembra funzionare con la maggior parte online html editor…

    Questo è semplificato;

    <iframe id="myIframe" style="display:none;"></iframe>
    <script>
    var ifrm = document.getElementById('myIframe');
    ifrm = ifrm.contentWindow || ifrm.contentDocument.document || ifrm.contentDocument;
    ifrm.document.open();
    ifrm.document.write('<script>alert("hello world");<\/script>');
    ifrm.document.close();
    </script>

    OriginaleL’autore Ilan Kleiman

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *