Sto costruendo un albero di navigazione in Angular JS. La maggior parte dei collegamenti nella struttura punterà alle pagine del mio sito Web, ma alcuni potrebbero puntare a siti esterni.Aggiungi condizionalmente target = "_ blank" ai collegamenti con Angular JS
Se l'href di un collegamento inizia con http: // o https: //, allora presumo che il collegamento sia per un sito esterno (una regex come /^https?:\/\//
esegue il trucco).
Vorrei applicare l'attributo target = "_ blank" a questi collegamenti. Speravo di farlo con angolare quando sto creando i miei collegamenti:
<ul>
<li ng-repeat="link in navigation">
<a ng-href="{{link.href}}" [add target="_blank" if link.href matches /^https?:\/\//]>{{link.title}}</a>
</li>
</ul>
Qualcuno può darmi una mano?
Grazie
In realtà non farlo. È male dal punto di vista dell'interfaccia utente. Consente ** agli utenti ** di decidere quando aprire nuove finestre o schede. –
So cosa intendi, ma se l'utente si trova sul sito Web e desidera fare clic su un collegamento a una risorsa esterna, ha senso aprire il collegamento in una nuova scheda/finestra anziché reindirizzare la scheda corrente. Lo uso con parsimonia e solo quando penso che essere diretto lontano dal sito senza la sua scheda rimanga aperto sarebbe irritante/confuso per alcuni utenti. –
no. Se un utente si trova su un sito Web e desidera fare clic su un collegamento, è opportuno aprirlo nella stessa scheda. Se vogliono aprirlo in una nuova scheda, faranno Ctrl-clic o fare clic con il tasto destro e dire "Apri in una nuova scheda". NON rompere le convenzioni web. –