2016-08-29 7 views
0

Grundsätzlich habe ich eine Tabelle, wo, wenn der Benutzer auf ID klickt es öffnet einen Link auf neue Registerkarte. Also, wenn Benutzer auf einem anderen ID klickt sollte es öffnen auf das früher Tab und nicht eine andere neue Registerkarte machenJavascript öffnen Seite in neue Registerkarte und neue Links auf der gleichen Registerkarte

$scope.navigationUrl = function (event,item) { 
 
\t if (event.ctrlKey) { 
 
\t \t window.open('link' + item,"_blank"); // in new tab 
 
    } else { 
 
\t \t $location.path('link' + item); // in same tab , yeah, this is completely wrong 
 
    } 
 
;
<tbody> 
 

 
<tr ng-repeat="case in LastBuild"> 
 
\t <td colspan="1" ng-click="navigationUrl($event,case.id)">{{case.id}}</td> 
 
\t <td colspan="1">{{case.TimeTaken}}</td> 
 
</tr> 
 

 
</tbody>

die STRG + Klick funktioniert, wie es den Link auf neue Registerkarte jedes Mal öffnet. Aber wie kann ich den gleichen Tab für nur klicken?

Antwort

2

Die window.open Methode hat Parameter:

window.open(URL,name,specs,replace) 

Wenn Sie einen Namen für ein Fenster definieren, und verwenden Sie diese auf Ihrem JavaScript-Code, wird das benannte Fenster durch den Inhalt ersetzt werden.

Referenz ist here.

+0

Das war ziemlich einfach und ich habe dumme Dinge versucht. Danke. – matrixguy

0

Als f_puras hier beantwortet: https://stackoverflow.com/a/12090990/3309799

Wenn Sie zuerst die Registerkarte öffnen, geben Sie dem Fenster einen Namen:

Dann von einem Elternteil Registerkarte das Ziel gesetzt, auf den Fensternamen.

<a href="mypage.html" target="myWindowName">Click me</a>

Lassen Sie mich wissen, ob das funktioniert.

0

Sie können dafür "_Parent" anstelle von "_blank" verwenden.

if (event.ctrlKey) { 
     window.open('link' + item,"_Parent"); // in new tab 
} 

Ich hoffe, es wird helfen.

Verwandte Themen