Ho la seguente funzione definita nel mio sito. Funziona per alcune persone, non per gli altri. L'eccezione si verifica sull'ultima riga del metodo, dove si trova la concatenazione. Credo che poiché il carattere del punto interrogativo di url che designa la stringa di query viene considerato come un operatore ternario.Motivo sconosciuto per "Previsto": "" errore in javascript
C'è qualcosa qui che non vedo, o c'è un modo migliore per costruire questa stringa?
La variabile url ha un valore di: "? Mywebpage.aspx AccountNumber = 123456"
function popUp(url) {
var myleft = (screen.width) ? (screen.width - 750)/2 : 100;
var mytop = (screen.height) ? (screen.height - 300)/2 : 100;
var id = new Date().getTime();
eval("page" + id + " = window.open(" + url + ", '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=900,height=325, top='" + mytop + "',left='" + myleft +");");
}
È necessario avvolgere il 'url' in' ' 'modo javascript sa che è una stringa. – Liam
Non hai bisogno di farlo con 'eval()', e come in ogni caso che coinvolge 'eval()' questo significa che * non dovresti * farlo con 'eval()'. – Pointy
Off topic: http://stackoverflow.com/questions/197769/when-is-javascripts-eval-not-evil – isherwood