Hi Ernesto,

No - I didn't solve this problem as yet. However, this is part of the
process of parsing the HTML prior to insertion on the innerHTML. If I can
get that bit working I'm going to get back to our thread on the CIDs very
soon!

Cheers, Graeme.


Graeme Knight wrote:
> 
> Hi Bruno,
> 
> No I didn't try this the Label idea... I'll give it a go!
> 
> Thanks for the link I'll let you know how it works out ... watch this
> space!
> 
> 
> 
> Bruno Cesar Borges wrote:
>> 
>> Did you try to add a Label with CSS hidden attribute that executes your
>> script? Something like this:
>> 
>> <div style="display:none;">
>>   <script>myJavascriptMethod();</script>
>> </div>
>> 
>> I'm really not sure if this actually works, but you could also check this
>> Wiki page (yeah, it exists)
>> 
>> http://cwiki.apache.org/WICKET/howto-do-javscript-call-after-each-wicket-ajax-update.html
>> 
>> cheers,
>> Bruno
>> 
>> -----Original Message-----
>> From: Graeme Knight [mailto:[EMAIL PROTECTED]
>> Sent: Monday, December 08, 2008 12:12 PM
>> To: [email protected]
>> Subject: Re: Populate IFRAME innerHTML on AJAX load of panel.
>> 
>> 
>> 
>> 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: [email protected]
>>> 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]
>>> 
>>> 
>>> 
>> 
>> -- 
>> View this message in context:
>> http://www.nabble.com/Populate-IFRAME-innerHTML-on-AJAX-load-of-panel.-tp20887803p20896023.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."
>> ***************************************************************************************************
>> 
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Populate-IFRAME-innerHTML-on-AJAX-load-of-panel.-tp20887803p20896486.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]

Reply via email to