Hi, Did you solve the problem of servicing image contents of a previous post?
Cheers, Ernesto Graeme Knight wrote: > Hi Bruno, > > Right, that far I DID get. I have a Javascript file that contains the > required Javascript for my editor. > > (Sorry, I don't have the code now): > > When the user hits the tab and the panel goes into another context I create > the panel, add a HeaderContributor that adds the Javascript file. > > This panel is not created via a page refresh - it is replaced as per the > code above (i.e. currentPanel = new .... ). Will the HeaderContributor > actually be utilized at this point or is a full page refresh required? > > My BIG problem (this is the crux) is HOW to call that Javascript function - > the call to 'popupateContent' effectively has to be AFTER the iframe is > initialized (so an innerHTML exists). This can't be part of a > HeaderContributor - it has to be further down the chain of execution. My > confusion is how to make this happen. > > Almost there! What are the guidelines for the Wiki when I get this working? > Perhaps I can submit to the Wicket people for verification? > > REALLY appreciate your discussion on this. > > Cheers, Graeme. > > > Bruno Cesar Borges wrote: > >> Put that code into some .js file and add it to your panel as a >> HeaderContributor. Then you are ready to go. >> >> -----Original Message----- >> From: Graeme Knight [mailto:[EMAIL PROTECTED] >> Sent: Monday, December 08, 2008 11:48 AM >> To: users@wicket.apache.org >> Subject: Re: Populate IFRAME innerHTML on AJAX load of panel. >> >> >> >> Hey Bruno, >> >> Perhaps my ramblings with myself didn't make myself clear. >> >> I am simply wanting to populate the innerHTML with content. I have it >> working wonderfully with Tapestry but not with Wicket as I'm not sure of >> the >> correct way of doing it. >> >> Essentially my component will be a wysiwyg editor. I don't want to use >> standard ones because I have written my own AND I will be doing some fancy >> stuff with the content at a later date. >> >> So perhaps here's the correct question: >> >> What's the best way to set innerHTML on an iframe? >> >> I have a javascript function that I would like to call, which is something >> like the following: >> >> IFrameArea.populateContent = function( isEditable, allowDocumentTags, >> content ) >> { >> var iFrame = document.getElementById( IFrameArea.FRAME_NAME ); >> >> if( iFrame.contentWindow != null ) >> { >> if( iFrame.contentWindow.document != null ) >> { >> var iFrameDocument = >> iFrame.contentWindow.document; >> >> iFrameDocument.open(); >> >> if( allowDocumentTags == true ) >> { >> iFrameDocument.write('<html><head>'); >> >> iFrameDocument.write( '<link >> rel="stylesheet" type="text/css" >> href="styles/IFrameStyle.css">' ); >> >> >> iFrameDocument.write('</head><body>'); >> } >> >> iFrameDocument.write( content ); >> >> >> if( allowDocumentTags == true ) >> { >> iFrameDocument.write('</body></html>'); >> } >> >> iFrameDocument.close(); >> >> if( isEditable == true ) >> { >> IFrameArea.designModeOn(); >> } >> } >> } >> }; >> >> isEditable indicates whether the iframe is editable or not, >> allowDocumentTags indicates whether the iframe should contain basic html >> tags and CSS, and the content is ... the content (created by the server) - >> this is my Tapestry-esq implementation, so of course it is open to change. >> >> The magic question: How do I get this in the HTML for the 'context' panel? >> >> >> Bruno Borges wrote: >> >>> I've just read your thread and looks like what you want to do is quite... >>> invalid. Iframes are just like normal frames, or even, a separate >>> window/tab. If you think that way, you will notice that what you want to >>> do >>> is not possible. From a Javascript developer's perspective, of course. >>> This >>> has nothing to do with Wicket. >>> >>> If you want to set the innerHTML property of some DOM object, that object >>> *has* to have that property. Check these URLs: >>> >>> http://www.htmlite.com/lite021.php >>> http://msdn.microsoft.com/en-us/library/ms535258(VS.85).aspx# >>> >>> So, stop talking with yourself about something impossible to accomplish >>> and >>> go get some sleep buddy... ;-) >>> >>> Cheers, >>> Bruno Borges >>> blog.brunoborges.com.br >>> +55 21 76727099 >>> >>> "The glory of great men should always be >>> measured by the means they have used to >>> acquire it." >>> - Francois de La Rochefoucauld >>> >>> >>> On Mon, Dec 8, 2008 at 1:07 AM, Graeme Knight <[EMAIL PROTECTED]> >>> wrote: >>> >>> >>>> Bruno! >>>> >>>> I absolutely would love to write a wiki page on this if I can make it >>>> work >>>> - >>>> and you are right - conversation with myself *might* help others who >>>> perhaps >>>> have a similar problem. >>>> >>>> I'm not quite there yet :-( - perhaps tomorrow! >>>> >>>> Cheers, Graeme. >>>> >>>> >>>> Bruno Borges wrote: >>>> >>>>> With all that conversation with yourself, how about writing a Wiki >>>>> >>>> page >>>> >>>>> after you succeed ?! :-D >>>>> >>>>> Cheers, >>>>> Bruno Borges >>>>> blog.brunoborges.com.br >>>>> +55 21 76727099 >>>>> >>>>> "The glory of great men should always be >>>>> measured by the means they have used to >>>>> acquire it." >>>>> - Francois de La Rochefoucauld >>>>> >>>>> >>>>> On Sun, Dec 7, 2008 at 11:51 PM, Graeme Knight <[EMAIL PROTECTED]> >>>>> wrote: >>>>> >>>>> >>>>>> Hi. >>>>>> >>>>>> I'm making some progress by using an IPageLink to a page that might >>>>>> contain >>>>>> (if I can) the rendered content... HHmm... >>>>>> >>>>>> Cheers, Graeme. >>>>>> >>>>>> >>>>>> Graeme Knight wrote: >>>>>> >>>>>>> Hi. >>>>>>> >>>>>>> I have an application with links that switch panels using AJAX: >>>>>>> >>>>>>> : >>>>>>> private Panel currentPanel; >>>>>>> : >>>>>>> ContactsListPanel manageContactsPanel = new >>>>>>> >>>> ContactsListPanel(); >>>> >>>>>>> currentPanel.replaceWith( manageContactsPanel ); >>>>>>> >>>>>>> currentPanel = manageContactsPanel; >>>>>>> : >>>>>>> >>>>>>> One of my panels has an IFRAME on it which I wish to populate with >>>>>>> >>>>>> content >>>>>> >>>>>>> on rendering. I would like to set the innerHTML through Javascript, >>>>>>> >>>>>> rather >>>>>> >>>>>>> than set the SRC (the innerHTML will be injected with content that >>>>>>> >>>> is >>>> >>>>>>> modified on the server and not a static source page). >>>>>>> >>>>>>> I have a Javascript function that can be called once the IFRAME has >>>>>>> (effectively) been rendered (using a Variables Model for replacing >>>>>>> 'originalContent' with text): >>>>>>> >>>>>>> function initializeIFrameArea() >>>>>>> { >>>>>>> IFrameArea.populateContent( "${originalContent}" ); >>>>>>> } >>>>>>> >>>>>>> The populateContent function simply sets the innerHTML on the >>>>>>> >>>> IFRAME. >>>> >>>>>> The >>>>>> >>>>>>> 'originalContent' is my modified content to be injected into the >>>>>>> innerHTML. >>>>>>> >>>>>>> My question is this: >>>>>>> >>>>>>> 1) On entering the panel, I was wondering if it is possible to use >>>>>>> >>>> a >>>> >>>>>>> HeaderContributor (i.e. this is NOT a full page rerender) to add >>>>>>> >>>> the >>>> >>>>>>> script containing the IFrameArea Javascript on which the >>>>>>> >>>>>> populateContent >>>>>> >>>>>>> is called. I can't have the initializeIFrameArea function on the >>>>>>> >>>> page >>>> >>>>>> from >>>>>> >>>>>>> the start because I am using a Variables Model to change the value >>>>>>> >>>> of >>>> >>>>>>> originalContent on the fly (i.e. when the user enters this panel >>>>>>> >>>> the >>>> >>>>>>> content could be one of many possibilities). >>>>>>> >>>>>>> 2) On rendering I want to be able to call initializeIFrameArea, but >>>>>>> >>>> I >>>> >>>>>> do >>>>>> >>>>>>> not understand how I can get this into the HTML of the panel so >>>>>>> >>>> that >>>> it >>>> >>>>>>> calls the function after the IFRAME is effectively rendered and >>>>>>> >>>>>> innerHTML >>>>>> >>>>>>> exists. >>>>>>> >>>>>>> Perhaps there is a better approach - as this seems complicated (I >>>>>>> >>>> had >>>> >>>>>> to >>>>>> >>>>>>> do this with Tapestry, so I'm not sure if Wicket has a more elegant >>>>>>> approach). >>>>>>> >>>>>>> Any thoughts most welcome. >>>>>>> >>>>>>> Thanks, Graeme. >>>>>>> >>>>>>> >>>>>> -- >>>>>> View this message in context: >>>>>> >>>>>> >>>> http://www.nabble.com/Populate-IFRAME-innerHTML-on-AJAX-load-of-panel.-tp20887803p20888407.html >>>> >>>>>> Sent from the Wicket - User mailing list archive at Nabble.com. >>>>>> >>>>>> >>>>>> --------------------------------------------------------------------- >>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>>>>> For additional commands, e-mail: [EMAIL PROTECTED] >>>>>> >>>>>> >>>>>> >>>>> ----- >>>>> Bruno Borges >>>>> blog.brunoborges.com.br >>>>> +55 21 76727099 >>>>> >>>>> "The glory of great men should always be >>>>> measured by the means they have used to >>>>> acquire it." >>>>> - Francois de La Rochefoucauld >>>>> >>>>> >>>> -- >>>> View this message in context: >>>> http://www.nabble.com/Populate-IFRAME-innerHTML-on-AJAX-load-of-panel.-tp20887803p20888901.html >>>> Sent from the Wicket - User mailing list archive at Nabble.com. >>>> >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>>> For additional commands, e-mail: [EMAIL PROTECTED] >>>> >>>> >>>> >>> ----- >>> Bruno Borges >>> blog.brunoborges.com.br >>> +55 21 76727099 >>> >>> "The glory of great men should always be >>> measured by the means they have used to >>> acquire it." >>> - Francois de La Rochefoucauld >>> >>> >> -- >> View this message in context: >> http://www.nabble.com/Populate-IFRAME-innerHTML-on-AJAX-load-of-panel.-tp20887803p20895692.html >> Sent from the Wicket - User mailing list archive at Nabble.com. >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> *************************************************************************************************** >> "Atenção: Esta mensagem foi enviada para uso exclusivo do(s) >> destinatários(s) acima identificado(s), >> podendo conter informações e/ou documentos confidencias/privilegiados e >> seu sigilo é protegido por >> lei. Caso você tenha recebido por engano, por favor, informe o remetente e >> apague-a de seu sistema. >> Notificamos que é proibido por lei a sua retenção, disseminação, >> distribuição, cópia ou uso sem >> expressa autorização do remetente. Opiniões pessoais do remetente não >> refletem, necessariamente, >> o ponto de vista da CETIP, o qual é divulgado somente por pessoas >> autorizadas." >> >> >> "Warning: This message was sent for exclusive use of the addressees above >> identified, possibly >> containing information and or privileged/confidential documents whose >> content is protected by law. >> In case you have mistakenly received it, please notify the sender and >> delete it from your system. >> Be noticed that the law forbids the retention, dissemination, >> distribution, copy or use without >> express authorization from the sender. Personal opinions of the sender do >> not necessarily reflect >> CETIP's point of view, which is only divulged by authorized personnel." >> *************************************************************************************************** >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> >> > >