2017-05-17 2 views
1

URL, was ich von dynamisch von Benutzer bin immer, dass ich in einem neuen Tab zu öffnen versuchen, sein offene immer in neuem Tab aber die localhost-URL wird zusammen mit der dynamischen URL angehängt zu werden.neue URL wird immer mit localhost URL angehängt

 @Injectable() 
    export class WindowRef { 
     constructor() {} 
     getNativeWindow() { 
      return window; 
     } 
    } 

export class UrlTab implements OnInit{ 

      constructor(private winRef: WindowRef) { 
      this.nativeWindow = winRef.getNativeWindow(); 
     } 

    //method getting called on click of <a></a> from html 
      assignActity(type: string): void { 
      var newWindow = this.nativeWindow.open("www.gmail.com"); 
    } 
} 

Antwort

2

Sie müssen entweder das Protokoll ("http://", "https://", etc.), wenn Sie die .open() Methodenaufruf aufrufen.

Beispiel:

var newWindow = this.nativeWindow.open("http://www.gmail.com");

Oder besser noch, man kann es machen "protokoll weniger" durch das Voranstellen nur die "//" an die URL.

Beispiel:

var newWindow = this.nativeWindow.open("//www.gmail.com");

Wenn das Protokoll weggelassen, nimmt der Browser an, dass Sie auf eine relative URL sich beziehen.

+0

es hat funktioniert, danke. –

+0

aber ein Problem ist, dass das aktuelle Fenster beim Öffnen eines neuen Fensters neu geladen wird. –

Verwandte Themen