1. Nachrichten
  2. Forum
    1. Unerledigte Themen
    2. Forenregeln
  3. Spenden
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. camp-firefox.de
  2. fi

Beiträge von fi

  • Konfoguration von Java WebStart

    • fi
    • 14. Juli 2007 um 00:23

    Nach einigem Suchen habe ich die Uebeltaeter gefunden:

    Code
    /home/myuser/.mime.types
    /home/myuser/.mailcap

    Sie stellen eine Beziehung zwischen mime Type und Ort der Anwendung her, hier javaws. Firefox liesst diese Dateien, schreibt sie aber nicht.

    In der Tat wurden die beiden Dateien genau von der Anwendung angereichert, wegen der ich diese temporaere Java Version 1.4.2 installiert hatte.

    Zu allem Ueberfluss findet man im Netz schnell weitere Infos dazu -- wenn man erst mal weiss, dass man nach Firefox und .mailcap suchen muss.....

    Hier ein Beispiel dazu:

    http://forums.gentoo.org/viewtopic-p-41…b06c7a6ad23e7ec


    -Andreas

  • Konfoguration von Java WebStart

    • fi
    • 8. Juli 2007 um 18:54

    Hallo Ulli,

    ich habe meine installierten Pakete ueberprueft. Das Paket java-1_5_0-sun-plugin - Browser plugin files for java-1_5_0-sun
    ist installiert. -- Ich habe auch openSUSE 10.2. Ich hatte zunaechst nur Java 1.5 mit Plugin installiert, welches zu openSUSE gehoert.

    Spaeter habe ich java 1.4.2_14 unter /tmp/ (zum Test) nachinstalliert -- in der Version von java.sun.com. OpenSUSE 10.2 hat nur 1.4.2_13, welches ich aus bestimmten Gruenden ebensowenig installiert habe, wie das zugehoerige plugin Paket von opnen SUSE 10.2.

    Noch spaeter habe ich dann Java 1.6 (oder 6.0, wie es ja jetzt heisst) ebenfalls direkt in der Version von java.sun.com installiert.

    About:plugins zeigt bei mir

    Java(TM) Plug-in 1.5.0_10-b03

    Dateiname: libjavaplugin_oji.so
    Java(TM) Plug-in 1.5.0_10

    In pluginreg.dat finde ich

    Code
    Generated File. Do not edit.
    
    
    [HEADER]
    Version:0.08:$
    
    
    [PLUGINS]
    /usr/lib/jvm/java-1.5.0-sun-1.5.0_update10/jre/plugin/i386/ns7/libjavaplugin_oji.so:$
    :$
    1163117232000:1:5:$
    Java(TM) Plug-in 1.5.0_10:$
    Java(TM) Plug-in 1.5.0_10-b03:$
    31
    0:application/x-java-vm:Java::$
    1:application/x-java-applet:Java::$
    2:application/x-java-applet;version=1.1:Java::$
    [...]
    30:application/x-java-bean;jpi-version=1.5.0_10:Java::$
    [...]
    Alles anzeigen

    Es enthaelt keinen Hinweis auf 1.4.2 -- die Datei ist recht ueberschaubar.

    Zusammenfassung:

    (1) Bei mir scheint in Firefox das Plugin zu java 1.5.0_10 registiert -- und zwar ohne ein entsprechendes *.so file in /usr/lib/firefox/plugins/, bzw. entsprechendem link.
    (2) Alles in ~/.java/ wurde beim ersten Anklicken eines Java WebStart Links installiert und gehoert wohl zu Java 1.6
    (3) Bei jetzigen Anklicken eines *.jnlp bekomme ich javaws aus 1.4.2_14 unter /tmp/ angeboten -- woher auch immer.
    (4) Das Ausfuehren von Applets funktioniert. Aber: Welche Version der JVM wird wann verwendet?

    Und noch eine Frage: kann man mit Firefox verschiedene Versionen der JVM nebeneinander verwenden, oder geht das nicht?

    Die Abwaertskompatibilitaet ist so eine Sache, schliesslich hatte es einen Grund, die Version 1.4.2_14 zu installieren. Eine bestimmte Anwendung funktioniert nicht unter 1.5 und nicht unter 1.4.2_13....

    -Andreas.

  • Konfoguration von Java WebStart

    • fi
    • 8. Juli 2007 um 15:30

    Hi,

    Zitat


    Im Verzeichnis /usr/lib/firefox/plugins/ ist ein Link auf die Datei libjavaplugin_oji.so der Version 1.4. Bitte prüfen.

    Jetzt bin ich etwas irritiert. Ich meine, das Plugin installiert zu haben, finde es aber nicht (mehr):

    Code
    as@dilbert:~> ls -al /usr/lib/firefox/plugins/
    insgesamt 32
    drwxr-xr-x  2 root root  4096  3. Apr 22:33 .
    drwxr-xr-x 12 root root  4096  3. Apr 22:33 ..
    -rwxr-xr-x  1 root root 22664 26. Feb 19:09 libnullplugin.so
    as@dilbert:~> find /usr/lib/firefox/ -name "*plugin*"
    /usr/lib/firefox/searchplugins
    /usr/lib/firefox/plugins
    /usr/lib/firefox/plugins/libnullplugin.so
    as@dilbert:~>

    Da ich mein ~/.java/ in Verdacht hatte, habe ich dies schon in ~/.asjavaas/ umbenannt. Es hilft aber nichts, ich bekomme immer noch die Version 1.4 angeboten, auch ohne neues ~/.java/.

    In ~/.asjavaas/, vormals ~/.java/ finde ich sogar (so sieht es jedenfalls aus), die 1.6-er Version:

    Code
    as@dilbert:~> find ~/.asjavaas/ -name "*plugin*"
    /home/as/.asjavaas/.deployment/javaws/cache/.ext/E1183799629537/jre1.6.0/plugin
    /home/as/.asjavaas/.deployment/javaws/cache/.ext/E1183799629537/jre1.6.0/plugin/i386/ns7/libjavaplugin_oji.so
    /home/as/.asjavaas/.deployment/javaws/cache/.ext/E1183799629537/jre1.6.0/plugin/i386/ns7-gcc29/libjavaplugin_oji.so
    /home/as/.asjavaas/.deployment/javaws/cache/.ext/E1183799629537/jre1.6.0/lib/locale/zh_TW.BIG5/LC_MESSAGES/sunw_java_plugin.mo
    /home/as/.asjavaas/.deployment/javaws/cache/.ext/E1183799629537/jre1.6.0/lib/locale/ja/LC_MESSAGES/sunw_java_plugin.mo
    /home/as/.asjavaas/.deployment/javaws/cache/.ext/E1183799629537/jre1.6.0/lib/locale/zh.GBK/LC_MESSAGES/sunw_java_plugin.mo
    /home/as/.asjavaas/.deployment/javaws/cache/.ext/E1183799629537/jre1.6.0/lib/locale/zh_HK.BIG5HK/LC_MESSAGES/sunw_java_plugin.mo
    /home/as/.asjavaas/.deployment/javaws/cache/.ext/E1183799629537/jre1.6.0/lib/locale/de/LC_MESSAGES/sunw_java_plugin.mo
    /home/as/.asjavaas/.deployment/javaws/cache/.ext/E1183799629537/jre1.6.0/lib/locale/fr/LC_MESSAGES/sunw_java_plugin.mo
    /home/as/.asjavaas/.deployment/javaws/cache/.ext/E1183799629537/jre1.6.0/lib/locale/ko/LC_MESSAGES/sunw_java_plugin.mo
    /home/as/.asjavaas/.deployment/javaws/cache/.ext/E1183799629537/jre1.6.0/lib/locale/it/LC_MESSAGES/sunw_java_plugin.mo
    /home/as/.asjavaas/.deployment/javaws/cache/.ext/E1183799629537/jre1.6.0/lib/locale/es/LC_MESSAGES/sunw_java_plugin.mo
    /home/as/.asjavaas/.deployment/javaws/cache/.ext/E1183799629537/jre1.6.0/lib/locale/sv/LC_MESSAGES/sunw_java_plugin.mo
    /home/as/.asjavaas/.deployment/javaws/cache/.ext/E1183799629537/jre1.6.0/lib/locale/zh/LC_MESSAGES/sunw_java_plugin.mo
    /home/as/.asjavaas/.deployment/javaws/cache/.ext/E1183799629537/jre1.6.0/lib/locale/zh_TW/LC_MESSAGES/sunw_java_plugin.mo
    /home/as/.asjavaas/.deployment/javaws/cache/.ext/E1183799629537/jre1.6.0/lib/locale/ko.UTF-8/LC_MESSAGES/sunw_java_plugin.mo
    /home/as/.asjavaas/.deployment/javaws/cache/.ext/E1183799629537/jre1.6.0/lib/i386/libjavaplugin_nscp_gcc29.so
    /home/as/.asjavaas/.deployment/javaws/cache/.ext/E1183799629537/jre1.6.0/lib/i386/libjavaplugin_jni.so
    /home/as/.asjavaas/.deployment/javaws/cache/.ext/E1183799629537/jre1.6.0/lib/i386/libjavaplugin_nscp.so
    /home/as/.asjavaas/.deployment/javaws/cache/.ext/E1183799629537/jre1.6.0/lib/plugin.jar
    /home/as/.asjavaas/deployment/log/plugin150_10.trace
    as@dilbert:~>
    Alles anzeigen

    Das macht fuer mich alles noch raetselhafter.

    -Andreas

  • Konfoguration von Java WebStart

    • fi
    • 8. Juli 2007 um 11:58

    Hi,

    wie konfiguriere ich Java WebStart mit Firefox 2.0.0.2 unter openSUSE?

    Konkret: Ich habe die Java Versionen 1.5 und 1.6 im System installiert. Zudem habe ich die alte Version 1.4 in einem Verzeichnis unter /tmp/ abgelegt, da eine bestimmte Anwendung diese alte Version benoetigt.

    Wenn ich in Firefox nun einen Link zum Download einer Java Anwendung anklicke, so bietet Firefox mit an, diese Datei (*.jnlp) mit javaws zu oeffnen. Soweit, so gut.

    Das Problem ist, dass mir dabei nur die JRE-Version 1.4 unter /tmp/ angeboten wird. Wieso? Woher kennt Firefox diese tmp-Version ueberhaupt, und warum nur diese, die anderen (1.5 und 1.6) aber nicht? Wo ist das konfiguriert?

    Vielen Dank und freundliche Gruesse

    -Andreas

  • DOM Funktionalitaet fehlerhaft?

    • fi
    • 15. Juni 2006 um 20:05

    Nun, mein Verstaendnis der Theorie reicht nicht aus, um das Problem zu verstehen und zu loesen. Aber ich glaube nicht, dass ich noch etwas serialisieren oder deserialisieren muss. XMLHttpRequest liefert mir das neue Dokument serialisiert in responseText und als Node von Type Document (DOM Baum) in responseXML. Beides sieht auch gut aus. Deshalb funktioniert auch die Anzeige.

    Das Problem muss in der Funktion importNode liegen -- oder allgemeiner beim Importieren. Es reicht nicht, das alte Dokument im iframe (iframe.contentDocument.documentElement) durch das neue DOM (responseXML.documentElement) zu ersetzen. Die neuen Elemente werden dann zwar korrekt angezeigt und die alten verschwinden. Es fehlen aber die Style Sheets und JavaScript.

    Damit die Style Sheets wirken, muss ich die Kindknoten von responseXML, welche von Typ proccessing instruction sind, mit importNode in iframe.contentDocument importieren und anschliessend mit appendChild hinzufuegen. Das gleiche muss fuer die Dokumentwurzel (responseXML.documentElement) gemacht werden. So verstehe ich jedenfalls die DOM level 2 core Spezifikation zur Methode Document.importNode. Ich stelle auch fest, dass das JavaScript der neu geladenen Seite nur wirkt, wenn ich importNode verwende.

    Soweit die Theorie. Die Praxis funktioniert aber offensichtlich bei mir nicht -- entgegen meinem Verstaendniss der Spezifikation und aller sonst bisher gelesenen Dokumentation. Also

    (1) Mache ich noch etwas fasch? Wenn ja, was? Oder:

    (2) Gibt es einen Fehler in der Implementierung von xulrunner/firefox? Es scheint so zu sein, dass das JavaScript der neuen Seite durch importNode korrekt in iframe.contentDocument importiert wird. Darueber hinaus scheint ein Teil des JavaScript in top.window.document eingefuegt zu werden (Dies erzeugt die "falschen" Alertfenster mit dem Titel [Application JavaScript]). Wenn nun ein "command" ausgefuehrt wird, so laeuft der event durch das ganze Gebilde, also durch top.window und durch iframe.contentWindow. Dann wird einmal das korrekte JavaScript im iframe ausgefuehrt, und dann das in top.window.document zu viel (und falsch) eingefuegte JavaScript.

    Was mir dabei aufgefallen ist: Ich kann eine beliebige Anzahl von buttons in der neuen Seite einfuegen, ich bekomme bei einem Klick auf einen Button immer genau zwei Alertfenster: das korrekte, zu dem Button gehoerende, und das falsche, immer zum letzten Button in der Seite gehoerende.

    Bei Textelementen scheint es aehnlich zu sein, ich bekomme nur fuer das zuletzt eingefuegte ein falsches Alertfenster. (Dies habe ich aber nicht durch Experiment verifiziert.)

    Ferner: Wenn ich importNode nicht verwende, bleiben die korrekten Alertfenster aus. Die falschen bekomme ich aber trotzdem. D.h. das JavaScript scheint -- wenn mein Verdacht korrekt ist -- auch ohne importNode in top.window.document eingefuegt zu werden.


    Viel Text, vielleicht kann jemand was aus diesen Beobachtungen machen...

    Andreas

  • DOM Funktionalitaet fehlerhaft?

    • fi
    • 15. Juni 2006 um 15:57

    Nicht wirklich. Aber zunaechst einmal vielen Dank fuer den Tipp!

    Das Problem ist, dass die geplante Anwendung "AJAX Funktionalitaet" bekommen soll. Fuer den Fall, dass sie eine neue Seite bekommt, kann sie diese wie von Dir beschrieben darstellen. Wenn sie aber nur ein Delta bekommt, muss sie den DOM Baum manipulieren. Ich fuerchte, dass mich das Problem dabei wieder einholen wird. (Vielleicht aber auch nicht, so weit blicke ich im Moment noch nicht.)

    Dein Tipp ist aber noch aus einem ganz anderen Grund wertvoll, was wahrscheinlich schon bekannt ist (ich habe es jedenfalls gerade gemessen):

    Das unmittelbare Laden mit loadURI (also loadURI("http://...)) ist schneller, als die Seite mit XMLHttpRequest zu laden und mit importNode einzuhaengen. Letzteres dauert ca. 35% laenger. Dein Tipp (laden mit XMLHttpRequest und darstellen mit loadURI("data:...) benoetigt etwa soviel Zeit wie das unmittelbare laden mit loadURI, ist also in jedem Falle vorzuziehen. Man wuerde also definitiv nur bei Delta Antworten am DOM Baum herumschrauben.

  • DOM Funktionalitaet fehlerhaft?

    • fi
    • 15. Juni 2006 um 15:22

    Der Fehler tritt nicht auf, m.a.W. jede der beschriebenen Interaktionen oeffnet nur ein Alertfenster.

  • DOM Funktionalitaet fehlerhaft?

    • fi
    • 15. Juni 2006 um 14:25

    Hallo,

    mein Problem scheint am ehesten in dieses Forum zu passen:

    Ich entwickle eine chrome Anwendung fuer XULRunner 1.8.0.1. In dieser Anwendung lade ich mittels XMLHttpRequest eine "entfernte" xul Datei von einem Webserver. Sodann versuche ich, die in einem iframe enthaltene aktuelle Seite durch die soeben geladene Seite mittels DOM Funktionen zu ersetzen. Dabei stosse ich auf gravierende Probleme. Die mittlerweise tagelange Recherche auf dem Internet hat kein Ergebnis gebracht. Daher hier mein Problem (in aller Ausfuehrlichkeit), denn ausser ueber ein Forum sehe ich kein Weiterkommen mehr. (Das Problem tritt in derselben Weise auf, wenn ich die Anwendung mit firefox 1.5.0.1 starte)

    Und noch eine Anmerkung vorneweg; Ich >muss< XMLHttpRequest zum Laden von Seiten verwenden. Die Gruende dafuer kann ich gerne nachliefern.

    Problem:

    Meine Applikation oeffnet das triviale Fenster

    XML
    <?xml version="1.0"?>
    <?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
    <window debug="true" title="JSF Connect" orient="vertical"
          width="800px" height="500px"
          xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
          onload="init();"
          onunload="return shutdown('onunload');" onclose="return shutdown('onclose');" >
    <script src="jsfclient.js"/>
    <script src="tools/Dom.js"/>
    <script src="tools/Logger.js"/>
    <script src="tools/Connection.js"/>
    <command id="parent-button" oncommand="execute('parent-button');"/>
    <button id="asasbutton" label="asas" command="parent-button"/>
    <iframe minwidth="600px" id="topFrame" flex="1" src="about:blank"/>
    <statusbar id="bbb" minheight="20px">
       <statusbarpanel id="statusBar" label="" flex="1"/>
    </statusbar>
    </window>
    Alles anzeigen

    Sodann lade ich die Seite

    Code
    http://localhost:8080/GASWEB/login.jsf

    via XMLHttpRequest. Diese Seite sieht folgendermassen aus (in jsp, wobei das jsp-Gedoehns natuerlich nicht so vom Webserver geliefert wird... Wichtig ist alles innerhalb von <page>):

    XML
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <jsp:root version="2.0"
       xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
       xmlns:f="http://java.sun.com/jsf/core"
       xmlns:x="http://de.jsf.xul"
       xmlns:jsp="http://java.sun.com/JSP/Page"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://java.sun.com/JSP/Page http://java.sun.com/xml/ns/j2ee/jsp_2_0.xsd ">
        <jsp:directive.page language="java"
            contentType="application/vnd.mozilla.xul+xml; charset=ISO-8859-1" pageEncoding="ISO-8859-1" />
        <jsp:text><![CDATA[<?xml version="1.0" encoding="ISO-8859-1" ?> ]]></jsp:text>
        <jsp:text><![CDATA[<?xml-stylesheet href="chrome://global/skin/" type="text/css"?> ]]></jsp:text>   
        <f:view>
          <page debug="true" title="JSF Connect" orient="vertical" id="mypage"
             xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
             <grid flex="1">
                <columns>
                   <column />
                   <column flex="1" />
                </columns>
                <rows>
                   <row>
                       <label control="app-link"
                         value="Enter link to Web Application:" />
                      <textbox id="app-link" size="50"
                         type="autocpmplete" autocompletesearch="history" tabIndex="1"
                         onkeypress="if (event.keyCode == event.DOM_VK_RETURN) {alert('textbox'); return false;} else {return true;};" />
                   </row>
                   <row>
                      <hbox />
                      <hbox>
                         <button id="b1" label="XXConnect" oncommand="alert('button XXconnect b1');"
                            tabIndex="2" />
                          <button id="b2" label="XXExit" oncommand="alert('button XXEdit b2');"
                            tabIndex="3" />
                         <spacer flex="1" />
                      </hbox>
                   </row>
                </rows>
             </grid>
          </page>
       </f:view>
    </jsp:root>
    Alles anzeigen

    Die Anwort von XMLHttpRequest steckt in retParams.responseXML und retParams.responseText. response ist der Handler von XMLHttpRequest, welcher asynchron aufgerufen wird (onload event). Sodann ersetze ich die alte Seite im iframe auf folgende Weise durch die neue Seite:

    Code
    function response(retParams) {
    	gLogger.trace("> Global.response >");
    	var newDoc = retParams.responseXML;
    	var iframe = window.document.getElementById('topFrame');
    	var oldDoc = iframe.contentDocument;
    	var newNode = newDoc.documentElement;
    	var oldNode = oldDoc.documentElement;
    	var retDoc;
    	try{ 
    		var nodeList = oldDoc.childNodes;
    		for( var i = 0; i < nodeList.length;  ){
    			try {
    				oldDoc.removeChild(nodeList.item(i));
    			} catch (e) {
    			}
    		}
    		var importNode;
                    // import processing instruction
    		importNode = oldDoc.importNode(newDoc.firstChild, true);
    		retDoc = oldDoc.appendChild(importNode);
                    // importe root document
    		importNode = oldDoc.importNode(newNode, true);
    		retDoc = oldDoc.appendChild(importNode); 
    	} catch(e) {
    	}
    	iframe.focus();
    	stopEvents = false;
    	setCursor("auto");
    	gLogger.trace("< Global.response <");
    }
    Alles anzeigen

    Soweit sollte alles schulbuchmaessig sein. Die geladene Seite wird auch korrekt, inklusive Style, angezeigt. Ich habe auch den DOM Baum ueberprueft, alles wie zu erwarten korrekt.

    Das Problem haengt am JavaScript des importierten Dokuments, vgl.

    Code
    oncommand

    in der geladenen Seite. Wenn ich die im folgenden beschriebenen Interaktionen mit dem GUI ausfuehre, werden in den Faellen A-C je >zwei< Alertfenster nacheinander angezeigt , im Fall D sogar >drei<. Erwartet wird jedoch nur je ein Alertfenster!!! Das zweite bzw. dritte Fenster wird dabei immer erst angezeigt, wenn ich im vorhergehenden den OK Button gedrueckt habe.

    Hier die Fenster mit Titel und Text:

    [A] Klicke den Button "XXConnect" mit dem Ergebnis:

    Title: "http://localhost:8080"
    Text: "button XXConnect b1"

    Title: "[JavaScript Application]"
    Text: "button XXEdit b2"

    [B] Klicke den Button "XXEdit" mit dem Ergebnis:

    Title: "http://localhost:8080"
    Text: "button XXEdit b2"

    Title: "[JavaScript Application]"
    Text: "button XXEdit b2"

    [C] Fuege 'a' im Textfeld ein und druecke <enter> mit dem Ergebnis:

    Title: "http://localhost:8080"
    Text: "textbox"

    Title: "[JavaScript Application]"
    Text: "textbox"

    [D] Druecke <tab> so dass der Button "XXConnect" den Fokus hat und druecke <enter> mit dem Ergebnis:

    Title: "[JavaScript Application]"
    Text: "textbox"

    Title: "http://localhost:8080"
    Text: "button XXConnect b1"

    Title: "[JavaScript Application]"
    Text: "button XXEdit b2"

    Seltsam, oder? Erwartet wird in jedem Fall immer nur das Alertfenster mit dem Titel "http://localhost:8080".

    Zum Beweis habe ich die entfernte Seite einmal anders geladen, also nicht mit XMLHttpRequest, sondern mit

    Code
    var iframe = window.document.getElementById('topFrame');
    iframe.webNavigation.loadURI("http://localhost:8080/GASWEB/login.jsf", iframe.webNavigation.LOAD_FLAGS_NONE, null, null, null);

    Das Ergebnis ist:

    [A] Klicke den Button "XXConnect" mit dem Ergebnis:

    Title: "http://localhost:8080"
    Text: "button XXConnect b1"

    [B] Klicke den Button "XXEdit" mit dem Ergebnis:

    Title: "http://localhost:8080"
    Text: "button XXEdit b2"

    [C] Fuege 'a' im Textfeld ein und druecke <enter> mit dem Ergebnis:

    Title: "http://localhost:8080"
    Text: "textbox"

    [D] Druecke <tab> so dass der Button "XXConnect" den Fokus hat und druecke <enter> mit dem Ergebnis:

    Title: "http://localhost:8080"
    Text: "button XXConnect b1"

    Wie schon gesagt, ich habe absolut keine Idee, was hier falsch lauft, insbesondere, ob es mein Fehler ist, oder ein Bug.

    Ich hoffe, ueber das Forum Hilfe zu erhalten und bedanke mich im voraus dafuer,

    viele Gruesse

    Andreas.

Unterstütze uns!

Jährlich (2025)

105,8 %

105,8% (687,41 von 650 EUR)

Jetzt spenden
  1. Kontakt
  2. Datenschutz
  3. Impressum
Community-Software: WoltLab Suite™
Mastodon