webForumDet fria alternativet

Kolla varifrån popup rutan öppnas

JavaScript

1 svar · 176 visningar · startad av Lojo

Medlem sedan apr. 20023 inlägg
Frågan#1

Håller på med ett problem som ger mig gråa hår.

..En beskrivning så gott det går, själva problemet beskrivs längst ner. Hoppas någon fattar.. :OO

Ok, jag försöker göra ett script som kontrollerar om en popup ruta verkligen har blivit öppnad via en "opener" sida, och inte bara reffererad till via en direkt URL. Tanken är att OM man länkar direkt till popup rutan, så skall den ändå öppnas i ett popup fönster med en "opener" ruta undertill.

function checkValidURL(){
if (!window.opener) {
var splash = document.URL;
window.open(splash,"newWin","width=100,height=100")
window.location="http://www.minsite.se";
	}
}

funktionen har jag anropat via onLoad.

Själva problemet är att resten av sidan innehåller ganska rejält med kod, vilket verkar innebära att det poppar upp både två och tre rutor efter vartandra! Antagligen för att html documentet inte hinner köras färdigt..?
Är det någon som har en lösning till detta?! Infoga en timout i scriptet eller vad?

Tillägg:
En viktig detalj i röran är att detta problem ENDAST uppstår om öppnar fönstret via en länk (Den traditionella vägen). Alltså INTE använder en direkt länk till popup rutan.

Medlem sedan dec. 20025 483 inlägg
#2

Har jag förstått dig rätt? I "popup"-fönstret:

window.onload = function(){
	if( ! window.opener ){
		location.href = "[b]openersidan.html[/b]";

		window.open( "[b]popupsidan.html[/b]", "", "height=300,width=300" );
	}
};

:)

256 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)