Podczas dzisiejszej sesji Virtual Study dostałem pytanie o możliwość zmiany standardowego zachowania modułu TFS Web Access. Chodziło o zablokowanie wyskakiwania nowych okien w formie popupów i otwieranie ich w postaci nowych tabów w przeglądarce.
Nigdy nie spotkałem się z narzekaniem na te popupy, ale zadane pytanie było na tyle interesujące, że postanowiłem temat zbadać samodzielnie. Przekopałem się trochę przez mechanizmy i mam pierwsze rozwiązanie, działające z racji zabezpieczeń niestety tylko w Internet Explorerze(chociaż Web Access generalnie i tak warto przeglądać z poziomu IE). Kroki jakie należy wykonać:
1.) Znajdź na serwerze miejsce, gdzie leży TFS Web Access. Pomóc nam tu może konsola IIS i wskazanie ścieżki:

2.) W podanej ścieżce znajdź plik /UI/Masters/Content.master
3.) Prawie na samym końcu pliku, tuż przed tagiem </body> dostaw fragment:
<a id='fakeClick' target="_blank" href='#' style="display:none">fakeLink</a>
<script type="text/javascript">
WindowManager.openWindow = function(url, name, features)
{
var fake = document.getElementById('fakeClick');
fake.href=JsUtility.fixUrl(url);
fake.click();
return null;
}
</script>