jesteś w: Główna > javascript > funkcje > javascript: nw()
Ostatnia aktualizacja tej strony: 2008-02-29, 22:02:41

funkcje javascript: NW() - otwórz link w nowym oknie

HXTML strict nie obsługuje atrybutu target dla elementu a. Jeśli już zajdzie konieczność otworzenia strony w nowym oknie (chociaż należy tego unikać) można zastosować tą funkcję javascript:

<script type="text/javascript">
//<![CDATA[
function NW(o){
window.open(o.href);
return false; }
//]]>
</script>
wywołanie:
<a href="link.html" onclick="return NW(this);">link</a>

A może js odwali za nas robotę?

Poniższy skrypt sam doda odpowiedni event do wszystkich elementów <a /> z odpowiednią klasą (w przykładzie "outer").

outerLinker = function(cName){
this._opener = function(t){
window.open(t.href);return false;
}
this._constr = function(){
if(document.getElementsByTagName){
var a = document.getElementsByTagName('a');
re = new RegExp('^'+cName+'$|.* '+cName+'$|^'+cName+' .*|.* '+cName+' .*');
for(var i=0; i<a.length; i++){
if(re.test(a[i].className)){a[i].onclick = function(){return _opener(this);}}
}
}
}
this._constr();
}
//wywołanie
window.onload = function(){outerLinker('outer');}

Użycie klasy pozwala dodatkowo na oddzielne ostylowanie linków zewnętrznych, dzięki czemu użytkownicy będą wiedzieli, że link otwiera się w nowym oknie

auto Popup

testy

<script type="text/javascript">

AutoPopuper = function(cName, params){
params = (typeof(params) == undefined ? '' : params);
this._opener = function(t){
var autoPopup = window.open(t.href, 'autoPopup', params);return false;
}
this._constr = function(){
if(document.getElementsByTagName){
var a = document.getElementsByTagName('a');
re = new RegExp('^'+cName+'$|.* '+cName+'$|^'+cName+' .*|.* '+cName+' .*');
for(var i=0; i<a.length; i++){
if(re.test(a[i].className)){a[i].onclick = function(){return _opener(this);}}
}
}
}
this._constr();
}

window.onload = function(){AutoPopuper('myClass', 'width=320,height=310');}

</script>

Menu

Działy:

Quick start:

Inne:

animacje Flash

Diablo 2: