Hallo Richard,
wir verwenden DocuWare auch aber bisher haben wir immer auf die Schrittintergration zurückgegriffen, um Dokumente anzuzeigen. Ich kannte diese iFrames gar nicht.
Ich habe gerade mal ein wenig gebaut und ein ShowDocumentIFrame in einen Dialog gebaut, welches sich die DocID aus einer Textbox nimmt. Ändere ich die ID in der Textbox und führe dann ein Reload per Skript aus ("document.getElementById('testdw').contentDocument.location.reload(true);", passiert jedoch nichts. Das iFrame hat als Source fix die URL zu DocuWare und dem Element hinterlegt.
Wahrscheinlich muss man hier erst die URL neu generieren und für das iFrame-Element setzen, bevor man den Reload startet. Das konnte ich jedoch bisher nicht ausprobieren. Gerade ist leider wenig Zeit.
Hi Timo,
danke das du dir das ebenfalls anschaust. Ich habe ebenfalls mit dem reload versucht auch ohne erfolgt.
Schade, vielleicht hat jemand anderes eine idee?
Moin,
mein Verständnis ist, dass man mit
jQuery( '#meiniFrame' ).attr( 'src', function ( i, val ) { return val; });
das Element dazu überreden kann zu glauben, dass der source-Wert neu gesetzt wurde und damit den Inhalt neu lädt.
Ggfs muss man die Funktion etwas anpassen, damit der neue Link generiert wird oder so?
Ich musste mich heute selber mit dem Thema beschäftigen. Ich setzte das src-Attribute des IFrame über JavaScript einfach neu. Hierbei muss man wissen, dass alles hinter dem URL Parameter "q=" der gesetzte Filter als Base64 encodiert ist. Hier setze ich also einfach den Filter neu, encodiere dies als Base64 und ersetze den Parameter in der URL. Der Browser sorgt automatisch dafür, dass bei der Änderung des src-Attributes des Iframes der Inhalt neu geladen wird. Funktioniert bei mir wunderbar. Zusätzlich habe ich noch einen Listener im onload des Dialogs eingebaut, damit beim Ändern der Fenstergröße (Browser) das Iframe von Docuware immer auf Fenstergröße skaliert.