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]
>>
>>
>>
>>     
>
>   

Reply via email to