Just nu i M3-nätverket
Gå till innehåll

Läsa av att window.open laddat sidan klart?


JakobS

Rekommendera Poster

Jag vill skapa en länk till en extern infosida men för att komma åt sidan måste man vara inloggad.

 

I url'en till själva inloggningssidan kan man skicka med argument för (default)användare och lösenord. Har man väl loggat in en gång med webbläsaren (använder IE10) så kommer man åt infosidan.

 

Jag har skapat en lokal sida som först öppnar inloggningen i nytt fönster och efter 1500 ms stänger det fönstret och dirigerar om till infosidan.

<html>
<head>
<script type="text/javascript">
function CloseLogIn(){
	LogInWindow.close();
	window.location.replace('ExternServer/InfoSida.aspx');
	}
LogInWindow=window.open('ExternServer/LoggaIn.aspx?UserID=DefaultUser&UserPwd=DefaultPwd','LogInWindow');
</script>
</head> 
Väntar på inloggning
<script type="text/javascript">
	setTimeout('CloseLoggIn()',1500);
</script>
 
</html>

Att det skulle räcka med 1500 ms för att inloggningen ska vara klar är ett godtyckligt antagande, kan man istället läsa av att sidan/fönstret laddat klart?

(Jag har inte access att ändra de externa sidornas kod!)

 

Länk till kommentar
Dela på andra webbplatser

Jag vet inte om jag fattar rätt men detta kommer väl att stänga inloggningsfönstret när den lokala filen laddat klart, vilket när jag provade skedde innan inloggningen var klart.

 

Koden måste väl isf ligga i den externa sidan, men där har jag som sagt ingen access (och det skulle bli konstigt om man alltid efter inloggning stänger fönstret)!?

Länk till kommentar
Dela på andra webbplatser

Jag testade och det fungerade om jag satte upp en sida på min server med element som jag läste av, fungerade även med document.readystate.

 

För den externa sidan som jag måste öppna för att inloggningen ska ske så stannar skriptet med 'Åtkomst nekad' (rad 12/13). Jag har dålig koll på behörigheten i detta fall men det gör mig lite konfunderad då jag kan 'Visa källa' och uppenbarligen se elementens id!?

 

Innebär detta att det är dags att ge upp och gå på en antagen tid för sidan att öppna? :(

<html>
<head>
<script type="text/javascript">
function CloseLogIn(){
	LogInWindow.close();
	window.location.replace('ExternServer/InfoSida.aspx');
	}
var LogInWindow=window.open('ExternServer/LoggaIn.aspx?UserID=DefaultUser&UserPwd=DefaultPwd','LogInWindow');
//var LogInWindow=window.open('LoggaIn.asp','LogInWindow');  //Test med intern sida

function CheckLogIn(){
	alert(LogInWindow.document.readyState);  //Åtkomst nekad för extern sida
	var someElement = LogInWindow.document.getElementById("meta_Foretag");  //Åtkomst nekad för extern sida
    //var someElement = LogInWindow.document.getElementById("myElement");   //Test med intern sida
	if (someElement!=null){		
		CloseLogIn();
    }
}
</script>
</head> 
Väntar på inloggning
<script type="text/javascript">
LogInWindow.onload = setInterval("CheckLogIn()", 500);
</script>
</html>
Länk till kommentar
Dela på andra webbplatser

Testade med Firefox (men är dock hänvisad till IE hos användarna) fick ändå Error: Permission denied to access property 'document' men skriptet fortsatte här att köra loopen.

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...