Hi allerseits,
ich will per Button eine Seite öffnen, vorher aber prüfen, ob diese Seite nicht schon offen ist
Dazu verwende ich Codebehind folgenden Code, um beim erstmaligen öffnen der Seite, diese einer Variable mitzugeben:
("<script>var win;win=window.open(""" & s_absende_link & """);</script>")
In der aspx Seite löst dieser Button zusätzlich folgende Javascript-Function aus:
function check_SSI_window()
{
if ((isDefined("win")) && (win.closed == false)){
//Objekt Win existiert und das Fenster ist noch offen:
document.getElementById('hdnWin').value= "offen";
}
else{
//Fenster nicht offen:
document.getElementById('hdnWin').value= "geschlossen";
}
}
Wenn ich das erste Mal den Button drücke, checkt er schön brav dass es noch nicht definiert ist und öffnet mir die Seite.
Beim zweiten Mal klappt auch alles wunderbar, er checkt das "win" definiert ist und checkt auch, dass win.closed FALSE ist =)
Jz versteh ich aber absolut nicht, wenn ich dann das dritte Mal aufn Button drücke, er mir plötzlich sagt, dass "win" UNDEFINED ist ?!?
Obwohl das Fenster im Hintergrund noch offen ist !
Bin echt dankbar für eine Lösung
MFG
Announcement
Collapse
No announcement yet.
JavaScript Variablen in Asp.Net
Collapse
X
-
-
Schau Dir doch auch mal JQuery an das behandelt eigentlich sämtliche Browserinkonsistenzen. Ohne würde ich heutzutage nicht mehr entwickeln.
-
1. Es gibt keine browserunabhängige JavaScript-Lösung deiner Aufgabe.
2. Poste deine Code komplett, nur dann kann man die Ursache feststellen
3. Hier ist die Korrektur (IE/FF, VS 2010):
Code:<%@ Page Title="Home Page" Language="vb" MasterPageFile="~/Site.Master" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="WebApplication1._Default" %> <asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent"> <script language="javascript" type="text/javascript"> // <![CDATA[ var win = null; function Button1_onclick() { if (win == null) { document.getElementById('hdnWin').value = "war geschlossen. Geöffnet"; win = window.open("http://www.google.de"); } else { if (win.closed == false) { //Objekt Win existiert und das Fenster ist noch offen: document.getElementById('hdnWin').value = "noch geöffnet offen"; } else { document.getElementById('hdnWin').value = "war geschlossen. Geöffnet"; win = window.open("http://www.google.de"); } } } // ]]> </script> </asp:Content> <asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> <p> <input id="Button1" type="button" value="button" onclick="return Button1_onclick()" /><input id="hdnWin" type="text" /></p> </asp:Content>
Zuletzt editiert von vadym voytas; 28.08.2011, 00:55.
Leave a comment:
Leave a comment: