ASP.NET Zone

Die ASP.NET Community. Alle Antworten rund um Microsoft® Webtechnologien
Willkommen bei ASP.NET Zone. Anmelden | Registrieren | Hilfe | Impressum | ASP.NET Zone Suchplugin

in
Home Blogs Foren FAQ Communities Fotos Downloads

IE Explorer / Firefox / Edge / Mobile

Letzter Beitrag 04-08-2017, 17:50 von AndreL79. 18 Antworten.
Seite 1 von 2 (19 Objekte)   1 2 > Weiter
Beiträge sortieren: Zurück Weiter
  •  04-04-2017, 22:03 226022

    IE Explorer / Firefox / Edge / Mobile

    Hallo zusammen,

    ich habe mir eine Mediathek gebaut bei der Ordner ausgelesen werden und dessen Bilder werden angezeigt. Kurz und knapp gesagt,
     ich habe 2 feste Pfade
    DATA/Galerie
    &
    DATA/Video

    in beiden Ordnern kommen als nächstes Ordner mit entsprechender Jahreszahl.
    also
    DATA/Galerie/2015
    DATA/Galerie/2016
    usw
    jetz habe ich Radiobuttons, der Benutzer muss auswählen ob Foto oder Video wenn Foto dann geht der Quellcode in den Ordner "DATA/Galerie" liest alle Unterordner aus und gibt diese ebenfalls als Radiobutton (RB) wieder

    heisst, es gibt dann RB 2015, RB 2016 usw

    wählt der Benutzer nun 2015 geht das Spiel von vorne los, Unterordner auslesen Ordnername als RB ausgeben
    so nun habe ich RB's Urlaub Ausfahrt Grillen usw.
    wählt der Benutzer Urlaub aus, werden alle jpg's aus diesem Ordner angezeigt, per click auf ein Bild wird dies dann in lightbox angezeigt

    so, dies zur Erklärung, im IE Explorer funzt das ganze Konstrukt, unter den restlichen Browsern leider nicht, klick auf RB Foto, nix passiert :(

    Ich bin nun leider nicht der aspx Meister, hat jemand eine einfache Möglichkeit, damit dies auch unter anderen Browsern funzt? Besten Dank & Gruss

    ach ja, ich poste mal den Code dazu :)

    ASPX
    <%@ Page Title="Media" Language="vb" AutoEventWireup="false" MasterPageFile="~/Site.Master" CodeBehind="Photo.aspx.vb" Inherits="Quad_Fun_Schweiz.Photo" %>
    <asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
        <div class="jumbotron" style="text-align:center">                   
                <asp:Image ID="Logo" runat="server" ImageUrl="~/Images/logo.gif" ImageAlign="AbsMiddle" Width="800" />
        </div>
        <div class="jumbotron" style="text-align:center; font-size: medium;">                   
            <asp:RadioButtonList ID="RB_AV" runat="server" AutoPostBack="true" RepeatDirection="Horizontal">
                <asp:ListItem>Foto's</asp:ListItem> 
                <asp:ListItem>Video's</asp:ListItem>
            </asp:RadioButtonList>  
            <asp:RadioButtonList ID="RB_Jahr" runat="server" AutoPostBack="true" RepeatDirection="Horizontal" RepeatColumns="10">           
            </asp:RadioButtonList>                  
            <asp:RadioButtonList ID="RB_Directory" runat="server" AutoPostBack="true" RepeatDirection="Vertical" RepeatColumns="3" Font-Size="Small">           
            </asp:RadioButtonList>
        </div>
       
        <div class="jumbotron" style="font-family: 'Matura MT Script Capitals'; font-size: medium; text-align:center;" id="data">
        </asp:Label ID="lbl_image" runat="server" Text="bitte Filtern">
           
        </div>
    </asp:Content>


    ASPX.vb
    Imports System.IO
    Public Class Photo
        Inherits Page
        Private Sub RB_AV_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RB_AV.SelectedIndexChanged
            RB_Directory.ClearSelection()
            RB_Directory.Items.Clear()
            RB_Jahr.ClearSelection()
            RB_Jahr.Items.Clear()
            Me.lbl_image.Text = ""
            If Me.RB_AV.SelectedIndex = 0 Then
                Try
                    Dim di As New DirectoryInfo(Server.MapPath("DATA\Galerie"))
                    For Each subDir As DirectoryInfo In di.GetDirectories()
                        RB_Jahr.ClearSelection()
                        RB_Jahr.Items.Add(DirectCast(subDir.Name, Object))
                    Next
                Catch ex As Exception
                    Me.lbl_image.Visible = True
                    Me.lbl_image.Text = ex.ToString
                End Try
            ElseIf Me.RB_AV.SelectedIndex = 1 Then
                Try
                    Dim di As New DirectoryInfo(Server.MapPath("DATA\Video"))
                    For Each subDir As DirectoryInfo In di.GetDirectories()
                        RB_Jahr.ClearSelection()
                        RB_Jahr.Items.Add(DirectCast(subDir.Name, Object))
                    Next
                Catch ex As Exception
                    Me.lbl_image.Visible = True
                    Me.lbl_image.Text = ex.ToString
                End Try
            End If
        End Sub
        Private Sub RB_Jahr_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RB_Jahr.SelectedIndexChanged
            RB_Directory.ClearSelection()
            RB_Directory.Items.Clear()
            Me.lbl_image.Text = ""
            If Me.RB_AV.SelectedIndex = 0 Then
                Try
                    Dim di As New DirectoryInfo(Server.MapPath("DATA\Galerie\" + Me.RB_Jahr.SelectedValue))
                    For Each subDir As DirectoryInfo In di.GetDirectories()
                        RB_Directory.ClearSelection()
                        RB_Directory.Items.Add(DirectCast(subDir.Name, Object))
                    Next
                Catch ex As Exception
                    Me.lbl_image.Visible = True
                    Me.lbl_image.Text = ex.ToString
                End Try
            ElseIf Me.RB_AV.SelectedIndex = 1 Then
                Try
                    Dim di As New DirectoryInfo(Server.MapPath("DATA\Video\" + Me.RB_Jahr.SelectedValue))
                    For Each subDir As DirectoryInfo In di.GetDirectories()
                        RB_Directory.ClearSelection()
                        RB_Directory.Items.Add(DirectCast(subDir.Name, Object))
                    Next
                Catch ex As Exception
                    Me.lbl_image.Visible = True
                    Me.lbl_image.Text = ex.ToString
                End Try
            End If
        End Sub
        Private Sub RB_Directory_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RB_Directory.SelectedIndexChanged
            Dim ds, Pfad As String
            ds = ""
            Pfad = ""
            If Me.RB_AV.SelectedIndex = 0 Then
                If Me.RB_Directory.SelectedIndex = -1 Then
                    Me.lbl_image.Text = "Wählen Sie bitte ein Album aus."
                Else
                    Pfad = "/DATA/Galerie/" + Me.RB_Jahr.SelectedValue + "/" + RB_Directory.SelectedValue
                    Me.lbl_image.Enabled = True
                    Dim di As New DirectoryInfo(Server.MapPath(Pfad))
                    ds = ""
                    Try
                        ' hier werden alle *.jpg gesucht und abgefüllt
                        For Each jpg As System.IO.FileInfo In di.GetFiles("*.jpg", System.IO.SearchOption.TopDirectoryOnly)
                            ds &= "<div style=""width: 200px; display: inline-block; margin: 15px;"">"
                            ds &= "<a href='" & Pfad & "/" & jpg.Name & "' data-lightbox=""" & Pfad & """ data-title="""">"
                            ds &= "<img src='" & Pfad & "/" & jpg.Name & "' alt='sorry, Image not found :(' height='150' width='200'>"
                            ds &= "</a></font>"
                            ds &= "</div>"
                        Next
                        ds &= "<br style=""clear:both;"" /></div>"
                        Me.lbl_image.Text = ds
                        If Me.lbl_image.Text = "" Then
                            Me.lbl_image.Text = "dieses Album ist leer, Sorry!"
                        End If
                    Catch ex As Exception
                        Me.lbl_image.Text = ex.ToString
                    End Try
                End If
            ElseIf Me.RB_AV.SelectedIndex = 1 Then
                If Me.RB_Directory.SelectedIndex = -1 Then
                    Me.lbl_image.Text = "Wählen Sie bitte ein Album aus."
                Else
                    Pfad = "/DATA/Video/" + Me.RB_Jahr.SelectedValue + "/" + RB_Directory.SelectedValue
                    Me.lbl_image.Enabled = True
                    Dim di As New DirectoryInfo(Server.MapPath(Pfad))
                    ds = ""
                    Try
                        ' hier werden alle *.mp4 gesucht und abgefüllt
                        For Each mp4 As System.IO.FileInfo In di.GetFiles("*.mp4", System.IO.SearchOption.TopDirectoryOnly)
                            ds &= "<div display: inline-block;""><video controls width='900'>"
                            ds &= "<source src='" & Pfad & "/" & mp4.Name & "' type='video/mp4' />"
                            ds &= "<p>Ihr Browser unterstützt kein HTML5 Video-Tag</p></video>"
                            ds &= "</div>"
                        Next
                        ds &= "<br style=""clear:both;"" /></div>"
                        Me.lbl_image.Text = ds
                        If Me.lbl_image.Text = "" Then
                            Me.lbl_image.Text = "dieses Album ist leer, Sorry!"
                        End If
                    Catch ex As Exception
                        Me.lbl_image.Text = ex.ToString
                    End Try
                End If
            End If
    End Class

  •  04-07-2017, 19:00 226023 Antwort zu 226022

    AW: IE Explorer / Firefox / Edge / Mobile

    Hallo Andre,

    nur, damit ich's richtig verstehe. Die Listenauswahl und die Darstellung der Einträge an sich funktioniert in allen Browsern? Lediglich beim Klick auf ein Element geht dann kein Fenster auf?

    Falls ja, solltest Du im Browser (Firefox oder Chrome) mal die Entwicklertools mit F12 aktivieren und dann in der Konsole schauen, welcher Fehler dir da ausgegeben wird.

    P.S.: Ich weiß, dass das Forum ein paar Probleme mit verschiedenen Quellcodedarstellungen hat. Daher die Frage, ob folgende Codezeile wirklich so bei dir im Code steht?

    ds &= "<div display: inline-block;""><video controls width='900'>"
    Falls ja: Die ist so nicht richtig.

    ds &= "<div style=""display: inline-block;""><video controls width='900'>"
    Je nachdem, welche Lightbox Version Du in deinem Projekt verwendest, kann es natürlich auch daran liegen. Aber schau zuerst mal nach dem konkreten Fehler, der in der Konsole ausgegeben wird.


    --
    Gruß, Stefan Falz
    Microsoft MVP - Visual Developer ASP/ASP.NET
    ASP.NET Consulting, Development, Coaching

    ASP.NET Zone - Leitfaden für gute Postings

    Xtopia 2008 - Gewinnspiel / Expression Studio und Xtopia Eintrittskarten zu gewinnen
  •  04-07-2017, 20:14 226024 Antwort zu 226023

    AW: IE Explorer / Firefox / Edge / Mobile

    Hallo Stefan,

    ja das steht so im Code, aber das eigentliche Problem beginnt viel früher.

    Private Sub RB_AV_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RB_AV.SelectedIndexChanged
            RB_Directory.ClearSelection()
            RB_Directory.Items.Clear()
            RB_Jahr.ClearSelection()
            RB_Jahr.Items.Clear()
            Me.lbl_image.Text = ""
            If Me.RB_AV.SelectedIndex = 0 Then
                Try
                    Dim di As New DirectoryInfo(Server.MapPath("DATA\Galerie"))
                    For Each subDir As DirectoryInfo In di.GetDirectories()
                        RB_Jahr.ClearSelection()
                        RB_Jahr.Items.Add(DirectCast(subDir.Name, Object))
                    Next
                Catch ex As Exception
                    Me.lbl_image.Visible = True
                    Me.lbl_image.Text = ex.ToString
                End Try
            ElseIf Me.RB_AV.SelectedIndex = 1 Then
                Try
                    Dim di As New DirectoryInfo(Server.MapPath("DATA\Video"))
                    For Each subDir As DirectoryInfo In di.GetDirectories()
                        RB_Jahr.ClearSelection()
                        RB_Jahr.Items.Add(DirectCast(subDir.Name, Object))
                    Next
                Catch ex As Exception
                    Me.lbl_image.Visible = True
                    Me.lbl_image.Text = ex.ToString
                End Try
            End If
        End Sub


    Wenn ich den Index 0 (Foto's) auswähle, soll er mir alle Unterordner aus "DATA\Galerie" in eine RadioButtonList packen.
    Beim Debuggen mit VS 2013 und sämtlichen Brosern funktioniert das, im www funktioniert das nur mit dem IE, alle anderen machen an dem Punkt einfach nicht's.

    gerne lässt sich das Desaster hier http://www.quad-fun-schweiz.ch/Photo nachvollziehen



  •  04-07-2017, 22:52 226025 Antwort zu 226024

    AW: IE Explorer / Firefox / Edge / Mobile

    Hi,

    das Problem kommt wohl durch deinen Provider (oder den von dir verwendeten Webserver, ggfs. ist es auch eine web.config Einstellung), der einen Content-Security-Policy Header sendet.

    Content-Security-Policy:"default-src 'self'; script-src 'self'; img-src 'self' data:; style-src 'self' 'unsafe-inline'; font-src 'self' data:; frame-src 'self'; connect-src 'self' https://apis.google.com; object-src 'none'"
    Die wiederum führt dazu, dass Firefox und Co keine Inlineskripte, die es aber bei ASP.NET WebForms zuhauf gibt, ausführt.

    Schau mal, ob Du irgendwo in deinem Anwendungsordner "Content-Security-Policy" findest. Falls nicht, bitte deinen Provider, den Header für deine Website zu entfernen oder zumindest so anzupassen, dass Inlineskripte erlaubt sind.


    --
    Gruß, Stefan Falz
    Microsoft MVP - Visual Developer ASP/ASP.NET
    ASP.NET Consulting, Development, Coaching

    ASP.NET Zone - Leitfaden für gute Postings

    Xtopia 2008 - Gewinnspiel / Expression Studio und Xtopia Eintrittskarten zu gewinnen
  •  04-08-2017, 0:16 226026 Antwort zu 226025

    AW: IE Explorer / Firefox / Edge / Mobile

    Hi,

    besten Dank für die Antwort, den übeltäter konnte ich scheinbar finden, im Quellcode auf der Webseite gibt es:

    script type="text/javascript">
    //<![CDATA[
    var theForm = document.forms['ctl01'];
    if (!theForm) {
        theForm = document.ctl01;
    }
    function __doPostBack(eventTarget, eventArgument) {
        if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
            theForm.__EVENTTARGET.value = eventTarget;
            theForm.__EVENTARGUMENT.value = eventArgument;
            theForm.submit();
        }
    }
    //]]>
    </script>


    sowie:

    <script type="text/javascript">
    //<![CDATA[
    if (typeof(Sys) === 'undefined') throw new Error('Fehler beim Laden des clientseitigen ASP.NET Ajax-Frameworks.');
    //]]>
    </script>



    Dummerweise kann ich genau das nirgends in meinen Seiten finden.

    PS: Provider bin ich selber mit IIS 8.5

    Danke & Gruss
  •  04-08-2017, 8:54 226027 Antwort zu 226026

    AW: IE Explorer / Firefox / Edge / Mobile

    Hallo Andre,

    die geposteten Inlineskripte werden automatisch von ASP.NET bei Verwendung von WebForms generiert. Du hast auch keine Möglichkeit, das abzuschalten. Daher wird dir, wenn Du weiterhin bei WebForms bleiben willst, nichts anderes übrigbleiben als den Header zu entfernen bzw. anzupassen. WebForms sind allerdings eine ziemlich veraltete ASP.NET Unterart, daher solltest Du, wenn Du jetzt erst mit ASP.NET anfängst, eher auf was anderes setzen (ASP.NET Core oder evtl. auch WebPages, aber keine WebForms mehr)

    Du schreibst, dass Du dein eigener Provider bist. Hast Du im IIS denn einen solchen Header explizit eingestellt? Standardmäßig kommt der nämlich nicht.

    Zudem sagt die Antwort, dass diese über einen Nginx Proxy zurückgesendet wurde. Ist der auch von dir? Falls nicht, kann es natürlich auch sein, dass der den Header in die Antwort einschleust.

    Schau dir evtl. mal diesen Artikel an, um etwas über die möglichen Werte und deren Auswirkungen für den CSP Header zu erfahren.

      https://www.heise.de/security/artikel/XSS-Bremse-Content-Security-Policy-1888522.html?artikelseite=3


    --
    Gruß, Stefan Falz
    Microsoft MVP - Visual Developer ASP/ASP.NET
    ASP.NET Consulting, Development, Coaching

    ASP.NET Zone - Leitfaden für gute Postings

    Xtopia 2008 - Gewinnspiel / Expression Studio und Xtopia Eintrittskarten zu gewinnen
  •  04-08-2017, 11:43 226028 Antwort zu 226027

    AW: IE Explorer / Firefox / Edge / Mobile

    Hi Stefan,

    Die Heise Seite habe ich auch gesehen, hat mir auch geholfen, führte aber bisher leider nicht zum Erfolg
    die Ursache liegt tatsächlich am nginx, hier ist folgender Eintarg enthalten:

    add_header Content-Security-Policy "default-src 'self'; script-src 'self'; img-src 'self' data:; style-src 'self' 'unsafe-inline'; font-src 'self' data:; frame-src 'self'; connect-src 'self' https://apis.google.com; object-src 'none' ";

    diesen habe ich auf:

    add_header Content-Security-Policy
    "default-src 'self'; script-src *.quad-fun-schweiz; img-src 'self' data:; style-src
    'self' 'unsafe-inline'; font-src 'self' data:; frame-src 'self';
    connect-src 'self' https://apis.google.com; object-src 'none' "
    ;


    geändert.
    Ich habe auch alle anderen Varianten probiert, mit www ohne ich bekomme dennoch immer die gleiche Meldung
    Ebenfalls habe ich mehrere Parameter getestet, es erscheint immer die Meldung

    Content Security Policy: Die Einstellungen der Seite haben das Laden einer Ressource auf self blockiert

    Wenn ich die Zeile auskommentiere dann funktioniert das ganze

    Gehe ich direkt auf den Webserver, ohne den Weg über nginx, dann funktioniert das auch.
    www.quad-fun-schweiz.ch:8000

    Hast du noch eine Idee?
  •  04-08-2017, 11:47 226029 Antwort zu 226028

    AW: IE Explorer / Firefox / Edge / Mobile

  •  04-08-2017, 11:53 226030 Antwort zu 226029

    AW: IE Explorer / Firefox / Edge / Mobile

    Hi Stefan,

    diese Kombination schien mir auch am sinnvollsten, so ist es im Moment auch eingestellt.

    Ich bekomme die Meldung auch nur noch einmal, nicht x-mal.

    Funktionieren tuts dennoch nich :(

    Gruss
  •  04-08-2017, 11:58 226031 Antwort zu 226030

    AW: IE Explorer / Firefox / Edge / Mobile

    Hallo Andre,

    das liegt dann an einer eval Funktion in irgendeinem Skript. Also musst Du noch unsafe-eval bei script-src hinzufügen. Letztendlich kannst Du den Header dann aber auch gleich weglassen. Das, was er eigentlich bewirken soll, wird dabei eh ausgehebelt.



    --
    Gruß, Stefan Falz
    Microsoft MVP - Visual Developer ASP/ASP.NET
    ASP.NET Consulting, Development, Coaching

    ASP.NET Zone - Leitfaden für gute Postings

    Xtopia 2008 - Gewinnspiel / Expression Studio und Xtopia Eintrittskarten zu gewinnen
  •  04-08-2017, 12:03 226032 Antwort zu 226031

    AW: IE Explorer / Firefox / Edge / Mobile

    schöne Sch....


    da baut Microsoft ein Script ein das nicht erlaubt ist bzw. von Browsern gesperrt wird und es gibt keine Möglichkeit das zu ändern, ohne das es auf Kosten der Sicherheit geht.

    Da beisst sich die Katze in Schwanz :(
  •  04-08-2017, 12:09 226033 Antwort zu 226032

    AW: IE Explorer / Firefox / Edge / Mobile

    Hallo Andre,

    ASP.NET WebForms gibt es seit 2001, da dachte noch niemand an irgendwelche CSP Header oder dergleichen. Seit einigen Jahren ist diese Projektart "zudem tot" und es gibt daher auch schon lange nichts neues mehr. Aus diesem Grund wird es diesbezüglich (sehr wahrscheinlich) auch keinerlei Aktualisierungen mehr geben.

    Wie ich schon geschrieben hatte, sollte man ASP.NET WebForms aus vielerlei Gründen nicht mehr verwenden. Es gibt keinen Grund, neue Projekte damit aufzubauen und bei bestehenden Projekten sollte man sich die Frage stellen, ob man diese noch umfangreich erweitern möchte. Falls ja, sollte man einen kompletten Neuaufbau mit einer anderen ASP.NET Technologie als Alternative in Betracht ziehen.




    --
    Gruß, Stefan Falz
    Microsoft MVP - Visual Developer ASP/ASP.NET
    ASP.NET Consulting, Development, Coaching

    ASP.NET Zone - Leitfaden für gute Postings

    Xtopia 2008 - Gewinnspiel / Expression Studio und Xtopia Eintrittskarten zu gewinnen
  •  04-08-2017, 12:18 226034 Antwort zu 226033

    AW: IE Explorer / Firefox / Edge / Mobile

    ich beginne nun ein neues Projekt mit ASP.NET-Website (Razo v3)

    hoffe das es besser wird.
    Ich sollte evtl. auch mal VS2015 installieren

    Dennoch vielen Dank für deine Hinweise und Tip's
  •  04-08-2017, 12:50 226035 Antwort zu 226034

    AW: IE Explorer / Firefox / Edge / Mobile

  •  04-08-2017, 13:02 226036 Antwort zu 226035

    AW: IE Explorer / Firefox / Edge / Mobile

    Hi Stefan

    ich habe aber nur 2013 Ultimate und 2015 Enterprise.

    Das 2017 solle's zwar kostenlos geben, aber da auch nur VS17 Community & Code

    Keine Ahnung ob das was brauchbares für Hobby Programmiere ist, unterm Strich muss es einfach sein :)

    Wollte nun mit ASP.NET-Website (Razor v3) beginnen, aber da gibt's nur vbhtml, davon hab ich nun wieder keine Ahnung :(

    VB bekomm ich aus alten Zeiten noch einigermassen auf die Reihe

    Keine Ahnung was nun eigentlich das beste für's Web, auf Microsoft Basis ist
Seite 1 von 2 (19 Objekte)   1 2 > Weiter
Als RSS Feed in XML ansehen
Powered by Community Server (Commercial Edition)