Beiträge von Katse

    Es ist folgendermaßen beim Klick auf den Suchbutton geht er hier rein:

    Suchfenster = new Object();

    Suchfenster = window.open("Suche.htm", "", "width="+W+", height="+H+", resizable=yes, scrollbars=yes, toolbar=no, status=no, menubar=no, locationbar=yes, dependent=yes");

    Suchfenster.focus();

    -> interessanterweise funktioniert es ohne Probleme, wenn ich das Suchfenster im frames[4] anzeigen lasse, also den Textframe


    Das ist nämlich der Aufbau des Fensters:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">

    <html>

    <head>

    <title>Test</title>

    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

    <style></style>

    </head>

    <frameset rows="35,54,*" frameborder="NO" border="0" framespacing="0" bordercolor="#FFFFFF">

    <frame name="Symbol" scrolling="NO" src="Symbol.htm" marginwidth="4" marginheight="4">

    <frameset cols="80,*" frameborder="NO" border="0" framespacing="0">

    <frame name="Logo" scrolling="NO" src="logo.htm" frameborder="no" framespacing="0" marginheight="0" marginwidth="0" >

    <frame name="Head" scrolling="NO" src="kopf.htm" frameborder="no" framespacing="0">

    </frameset>

    <frameset cols="360,*" frameborder="NO" border="2" framespacing="2" bordercolor="#FFFFFF">

    <frame name="Inhalt" scrolling="YES" src="/servlet/showTOC?pfad=cobra_sfmc&id=00000000&pis=j&symbol=plus.gif">

    <frameset cols="*,0" frameborder="NO" border="2" framespacing="2" bordercolor="#FFFFFF">

    <frame name="Text" src="/servlet/showDM?pfad=test&dmc=Test.xml&id=BUTTON_OK_CANCEL&style=ts.xsl">

    <frame name="Grafik" src="grafik.htm">

    </frameset>

    </frameset>

    </frameset>

    <noframes><body bgcolor="#FFFFFF" style="font-family:Arial;">

    </body>

    </noframes>

    </html>


    Das ist der Link, den ich zusammenbastle, im Suchfenster/Ergebnis, also wird beim Klicken auf den Link showDM_afterSearch aufgerufen

    <li style=\"white-space: nowrap;\"><a target=\"Text\" href=\"JavaScript:parent.frames[0].showDM_afterSearch(""+strFileName+"",""+strSuchbegriff+"",""+strDir+"");\">"+strBezeichnung+"</a> ("+iAnzahlTreffer+")</li>



    die Funktion showDM_afterSearch:

    function showDM_afterSearch(udn, strSuch, strPfad){

    Such = strSuch;

    sizeFrame("text");

    if(strPfad.toLowerCase() == strDir.toLowerCase()){

    parent.frames[4].location.href = "/servlet/showDM?pfad="+strPfad+"&dmc="+udn+"&id=&style=cs.xsl&such="+strSuch;

    }else{

    //hier würde er nicht reingehen

    }

    }

    Und die Anzeige vom Servlet ist das hier:

    import javax.servlet.*;

    import javax.servlet.http.*;

    import java.io.*;

    import javax.xml.transform.TransformerFactory;

    import javax.xml.transform.Transformer;

    import javax.xml.transform.TransformerException;

    import javax.xml.transform.TransformerConfigurationException;

    import javax.xml.transform.Source;

    import org.xml.sax.InputSource;

    import javax.xml.transform.dom.DOMSource;

    import javax.xml.transform.stream.StreamResult;

    import javax.xml.transform.stream.StreamSource;

    import javax.xml.parsers.DocumentBuilder;

    import javax.xml.parsers.DocumentBuilderFactory;

    import javax.xml.parsers.ParserConfigurationException;

    import org.xml.sax.SAXException;

    import org.apache.xpath.XPathAPI;

    import org.w3c.dom.*;

    import javax.swing.JOptionPane;


    public class showDM extends HttpServlet {


    public void init(ServletConfig config) throws ServletException

    {

    super.init(config);

    }


    public void doGet (HttpServletRequest request,

    HttpServletResponse response)

    throws ServletException, IOException

    {


    File fDM = null;

    String strPfad = "", strDMC = "", strID = "";

    String strClassDir = "", strStyle = "";

    String strXMLPath = "", strXSLPath = "", strSuch = "";

    DocumentBuilder db = null;

    Document xmlDoc = null;

    Source xslSource = null;


    response.setContentType("text/html; charset=iso-8859-1");

    PrintWriter out = response.getWriter();


    // Uebergebenen Parameter aktLCN und pis ermitteln

    strDMC = request.getParameter("dmc");

    strPfad = request.getParameter("pfad");

    strID = request.getParameter("id");

    strStyle = request.getParameter("style");

    if (strStyle == null ) {

    strStyle = "ts.xsl";

    }

    strSuch = request.getParameter("such");

    strClassDir=getClass().getResource("showDM.class").toString();


    try {

    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();

    strXMLPath = strClassDir.substring(strClassDir.indexOf(":")+1,strClassDir.indexOf("JServ\\servlets"))+"apache\\htdocs\\"+strPfad+"\\dm\\";


    fDM = new File(strXMLPath+strDMC);

    if(fDM.exists() && fDM.canRead()) {

    xmlDoc = dbf.newDocumentBuilder().parse(fDM);

    }else {

    }

    } catch(ParserConfigurationException pce) {

    JOptionPane.showMessageDialog(null, "Error of creating DocumentBuilder", "Fehler", JOptionPane.OK_CANCEL_OPTION);

    } catch(SAXException se) {

    JOptionPane.showMessageDialog(null, "Error of parsing", "Fehler", JOptionPane.OK_CANCEL_OPTION);

    } catch(IOException ioe) {

    JOptionPane.showMessageDialog(null, "IO-error of parsing", "Fehler", JOptionPane.OK_CANCEL_OPTION);

    } catch(TransformerException te){

    JOptionPane.showMessageDialog(null, "TransformerException"+te.getMessage(), "Fehler", JOptionPane.OK_CANCEL_OPTION);

    }



    strXSLPath = strClassDir.substring(strClassDir.indexOf(":")+1,strClassDir.indexOf("JServ\\servlets"))+"apache\\htdocs\\"+strPfad+"\\stylesheet\\";

    xslSource = new StreamSource(new File(strXSLPath+strStyle));

    DOMSource ds = new DOMSource(xmlDoc);

    try{

    out.println( "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");

    TransformerFactory tFactory = TransformerFactory.newInstance();

    Transformer transformer = tFactory.newTransformer(xslSource);

    transformer.setParameter("intSprung",strID);

    transformer.setParameter("strSuch", strSuch);

    transformer.transform(ds, new StreamResult(out));

    } catch (TransformerConfigurationException tce) {

    JOptionPane.showMessageDialog(null, "TransformerConfiException-xslSource:"+tce.getMessage(), "Fehler", JOptionPane.OK_CANCEL_OPTION);

    } catch (TransformerException te) {

    JOptionPane.showMessageDialog(null, "TransformerException-xslSource:"+te.getMessage(), "Fehler", JOptionPane.OK_CANCEL_OPTION);

    }


    out.close();

    }

    }


    Was interessant ist, dass es geht, wenn ich das Suchergebnis im Frame Text anzeigen lasse, aber das geht halt nicht, weil der User ja evtl auch noch einen anderen Link vom Suchergebnis anklicken will.

    Viele Grüße

    Grad mal geschaut, er geht noch in das Servlet, das dann noch aufgerufen wird, zur Anzeige der XML-Datei mit einem Stylesheet. Hab auch schon überlegt, ob das was mit dem Verzeichnis zu tun hat. Also wir sagen das liegt ja unter C:\... aber natürlich auch C vom Server.


    Ist aber auch sehr komisch, wenn er erst beim Anklicken der Hauptseite checken würde, dass C: auf dem Server gemeint ist und nicht auf der eigenen Festplatte. Aber das ist es wohl auch nicht, hab die Daten mal vorsichtshalber auf den PC, wo ichs ausführe, kopiert. Hat aber auch nicht geholfen

    Viele Grüße

    Kathrin

    Ich glaube nicht, dass es ein setTimeout löst bzw. hab es ausprobiert, hat nicht geholfen. Es ist ja so, dass wenn ich die Hauptseite anklicke, dann zeigt er es ja plötzlich an, dann liegt es ja nicht an einem Laufzeitfehler, dass irgendwas nicht zugewiesen/bekannt wäre. In dem Moment, wo ich in die Seite klicke, lädt er die SEite und hebt mir die Suchbegriffe hervor. Ohne Klick macht er nichts.


    Irgendwie komme ich halt auch gar nicht weiter. Hab mal den Focus auf den Frame gelegt, aber hatte auch nicht geholfen :(

    Die Fehlerkonsole sagt keine Fehler.


    WEnn es mit einem alert in der Funktion showDM_afterSearch geht, kann es ja kein falscher Pfad sein und auf dem Server selbst funktioniert es auch.


    Das Problem ist, dass das im Firmennetz ist und das denke ich von außerhalb nicht zugängig ist


    Es ist halt so, ich gehe auf Suche ein neues Fenste rgeht auf, da gebe ich den Suchbegriff ein und klicke auf Suchen. Dann kommt das Suchergebnis - lauter Links auf XML-Module. Wenn ich einen Link anklicke, dann hat man das GEfühl es geht nichts. Wenn man dann aber auch die Hauptseite, von der aus der Suchbutton angeklickt wurde, klickt, dann zeigt er den zuletzte angeklickten LInk im Suchergebnis an. Nur sollte er das natürlich tun, ohne dass ich in das Fenster klicke.


    WEnn ich ein alert aufnehme, funktionert es einwandfrei, aber der Nutzer hat sich keine Lust bei jedem Link immer ein alert zu bekommen.


    Ich hoffe, es ist ein wenig verständlicher. Ich hatte die Hoffnung, dass jemand schon mal ein ähnliches Problem mit einem Server hatte.

    Viele Grüße

    Hallo,

    ich habe einen Server und möchte über die IP Adresse diesen verwenden. Bei meiner Suche ist es so, dass ein neues Fenster mit dem Ergebnis aufgeht, wenn ich dann auf einen Link des Suchergebnisses klicke, soll im opener das ganze angezeigt werden.


    der Link ist so eingebunden:

    <a href='JavaScript:opener.parent.frames[0].showDM_afterSearch("Link.xml","system","test");'>Data</a>


    Der Link geht nur auf, wenn ich auf die Hauptseite klicke, also von wo das Suchfenster geöffnet wurde und wo der LInk angezeigt werden soll. Habe ich ein alert in der showDM_afterSearch dann funktioniert es auch, weil die Hauptseite dann wohl aktiv ist. ein focus() funktioniert aber auch nicht.


    Hat jemand irgendeine Idee, was daran falsch ist? Was ich tun könnte, dass es geht?

    Viele Grüße