RootPanel.get().add(this);
HTML html = new HTML();
this.add(html);
String sHTML="<input type=button onclick=" + "go2()" + "
value='Click Me'><BR>";
String sScript="<SCRIPT DEFER>";
sScript = sScript + "function go2(){ alert('Hello from inserted
script.') }";
sScript = sScript + "</SCRIPT" + ">";
html.setHTML(sHTML+sScript);
This code works is IE also.
As per msdn http://msdn.microsoft.com/en-us/library/ms533897(VS.85).aspx
*"When using innerHTML** **to insert script, you must include the DEFER
attribute in the script element."*
- Litty
On Wed, Feb 4, 2009 at 10:33 PM, Adam T <[email protected]> wrote:
>
> For loading from a Url try the following (being aware of the security
> issues):
>
> /**
> * Adds the necessary DOM script element.
> *
> * @param uniqueId A unique id for the DOM element.
> * @param url Location of "script".
> */
> public native void addScript(String uniqueId, String url) /*-{
> var elem = document.createElement("script");
> elem.setAttribute("language", "JavaScript");
> elem.setAttribute("src", url);
> elem.setAttribute("id", uniqueId);
> document.getElementsByTagName("body")[0].appendChild(elem);
> }-*/;
>
> if you have direct code, perhaps just add the code as a child to the
> "elem" created, i.e. elem.text = "alert('Hello')"; and ignore the
> setAttribute("src", url) line??
>
> //Adam
>
> On 4 Feb, 11:11, sgaide <[email protected]> wrote:
> > Hi,
> >
> > I'm looking for a clear answer about the possibility to inject
> > javascript into the DOM using HTML widget.
> > I have found two threads about this, with no definitive answers:
> >
> > <http://groups.google.com/group/Google-Web-Toolkit/browse_thread/
> > thread/49cbe6bda567c1a9/a60c36f305f21337?lnk=gst&q=javascript
> > +HTML#a60c36f305f21337>
> >
> > and
> >
> > <http://groups.google.com/group/Google-Web-Toolkit/browse_thread/
> > thread/6fb61e587d7eab8d/44c22a52f86feb36?lnk=gst&q=javascript
> > +HTML#44c22a52f86feb36>
> >
> > My application needs to inject some javascript code at runtime (the
> > code is provided at runtime and can not be inserted in the html page
> > or loaded using a 'dynamic' script file). The only way I found to do
> > that is to create an HTML widget. The results are highly dependant on
> > the browser :
> >
> > - with Firefox all works pretty well
> > - with Safari and IE7 it doesn't work at all (javascript code is not
> > executed). Using Safari development inspector I can see the javascript
> > code in the DOM, but it's not interpreted by the browser.
> >
> > So is it really possible to inject javascript using an HTML widget ?
> > if yes, how ? if no, is there any other way to do it ?
> >
> > Thanks a lot,
> >
> > regards,
> >
> > Sebastien.
> >
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Google Web Toolkit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---