Well, I got a new hosting, and for some reason, it seems to work in IE now, except for the iframe. Nothing is loaded in the iframe so far. That'll be a IE issue, so I suppose this thread may be closed.
2011/7/5 Kurt Sys <kurt....@gmail.com> > I found this thread: > > http://apache-wicket.1842946.n4.nabble.com/Wicket-1-4m3-AjaxButton-AjaxSubmitLink-in-ModalWindow-in-IE-7-Problem-td1893357.html > So I checked all wicket:ids, and none of them has a value of 'id' or > 'submit' or something similar. IE still fails to load the panels... > > > 2011/7/3 Kurt Sys <kurt....@gmail.com> > >> The lazy loading example seems to work fine (I tried Wicket 1.4.17, the >> one I'm using too). >> >> For some reason 'precondition()' returns false in IE when called from my >> app. The code loading the panels is really straight forward. I can't think >> of any reason (for now) why the precondition returns false, only in IE, and >> even not for all lazyloadpanels. >> I have actually no idea where precondition is changed or something - I >> checked the js file (wicket-ajax.js) and there the function of the prototype >> just returns true (see below). So, precondition it is changed somewhere, for >> some reason, and probably something in a javascript-file of wicket that is >> called from my code IE doesn't like (other browsers don't complain). What >> code can be wrong? Something 'wrong' in the html-files? Style files (which >> would be very odd, if you ask me)? >> >> -- >> >> Wicket.Ajax.Request.prototype = { >> // Creates a new request object. initialize: function(url, >> loadedCallback, parseResponse, randomURL, failureHandler, channel) { >> this.url = url; >> this.loadedCallback = loadedCallback; >> // whether we should give the loadedCallback parsed response >> (DOM tree) or the raw string this.parseResponse = >> parseResponse != null ? parseResponse : true; >> this.randomURL = randomURL != null ? randomURL : true; >> this.failureHandler = failureHandler != null ? failureHandler : >> function() { }; >> this.async = true; >> this.channel = channel; >> this.precondition = function() { return true; } // allow a >> condition to block request >> // when suppressDone is set, the loadedCallback is responsible >> for calling // Ajax.Request.done() to process possibly pendings >> requests in the channel. this.suppressDone = false; >> this.instance = Math.random(); >> this.debugContent = true; >> }, >> -- >> >> >> >> >> 2011/7/3 Martin Grigorov <mgrigo...@apache.org> >> >>> Can you check http://wicketstuff.org/wicket/ajax/lazy-loading ? >>> This is Wicket 1.5-RC5.1 and it works for me with IE8. >>> >>> Wicket 1.4.17 at http://wicketstuff.org/wicket14/ajax/lazy-loading >>> >>> On Sat, Jul 2, 2011 at 5:16 PM, Kurt Sys <kurt....@gmail.com> wrote: >>> > Hey all, >>> > >>> > In IE, I can't get lazyloadpanels to load. I have a webapp with some >>> > lazyloadpanels, and none of them loads in IE - in other browsers, there >>> is >>> > no problem. (Also, the content of an iframe doesn't load, which seems >>> to be >>> > related, since it is also an ajax-request.) I've been trying both IE 8 >>> and >>> > IE 9 on three different pc's. Can someone give me a clue why it won't >>> work >>> > in IE? (IE security settings are set to low, scripts etc are >>> > enabled/allowed, so I suppose ajax-requests can be performed... if not, >>> I >>> > have no clue how to allow ajax in IE.) You may check it out: >>> > http://www.tinyleaps.be >>> > >>> > I've been checking on similar problems with lazyloadpanel in ie, and >>> the >>> > problem was known in 2008 (if it's the same, but it looks really >>> similar): >>> > http://www.mail-archive.com/users@wicket.apache.org/msg18815.html >>> > There seems to be a bug report and a 'fixed' status, although it >>> doesn't >>> > seem to work out fine for me - the last comment states that the fix is >>> not >>> > confirmed. Or I am missing something, which wouldn't really surprise >>> me :), >>> > or there still something wrong with the precondition stuff and loading >>> the >>> > panel in IE: >>> > https://issues.apache.org/jira/browse/WICKET-1653 >>> > >>> > >>> > Ajax debug window (only these three lines): >>> > -- >>> > INFO: Ajax GET stopped because of precondition check, >>> > >>> url:?wicket:interface=:3:mainpanel:bloglist:1:commentaar::IBehaviorListener:0: >>> > INFO: Ajax GET stopped because of precondition check, >>> > >>> url:?wicket:interface=:3:mainpanel:bloglist:2:commentaar::IBehaviorListener:0: >>> > INFO: Ajax GET stopped because of precondition check, >>> > url:?wicket:interface=:3:weer::IBehaviorListener:0: >>> > -- >>> > >>> > HomePage.html: >>> > -- >>> > [...] >>> > <body> >>> > <wicket:extend> >>> > [...] >>> > <div wicket:id="route" /> >>> > [...] >>> > <div wicket:id="mainpanel" /> >>> > [...] >>> > <div wicket:id="weer" class="weer" > >>> > </div> >>> > [...] >>> > </div> >>> > </wicket:extend> >>> > </body> >>> > </html> >>> > -- >>> > >>> > HomePage.java: >>> > -- >>> > [...] >>> > >>> > public class HomePage >>> > extends BasePage { >>> > >>> > Panel mainPanel; >>> > Label linktekst; >>> > >>> > >>> > public HomePage() { >>> > this(null); >>> > } >>> > >>> > >>> > public HomePage(PageParameters pars) { >>> > [...] >>> > add(new RoutePanel("route")); >>> > >>> > >>> > if (pars != null) { >>> > mainPanel = new BlogPanel("mainpanel", >>> pars.getAsInteger("id")); >>> > } >>> > else { >>> > mainPanel = new BlogPanel("mainpanel"); >>> > } >>> > >>> > add(mainPanel); >>> > [...] >>> > add(new AjaxLazyLoadPanel("weer") { >>> > >>> > @Override >>> > public Component getLazyLoadComponent(String markupId) { >>> > return new WeerPanel(markupId, >>> > reis.getBlogitemList().get(0).getLocation().getName()); >>> > } >>> > >>> > }); >>> > } >>> > >>> > } >>> > -- >>> > >>> > BlogPanel.html >>> > -- >>> > [...] >>> > <wicket:panel> >>> > [...] >>> > <ul class="bloglist"> >>> > <li wicket:id="bloglist" class="blogitem"> >>> > [...] >>> > <div wicket:id="commentaar" /> >>> > </div> >>> > [...] >>> > </li> >>> > </ul> >>> > [...] >>> > </wicket:panel> >>> > </body> >>> > </html> >>> > -- >>> > >>> > BlogPanel.java: >>> > -- >>> > [...] >>> > public final class BlogPanel >>> > extends Panel { >>> > >>> > private static final int ITEMSPERPAGE = 3; >>> > >>> > public BlogPanel(String id) { >>> > this(id, 0); >>> > } >>> > >>> > >>> > public BlogPanel(final String id, final int blogid) { >>> > super(id); >>> > >>> > setOutputMarkupId(true); >>> > >>> > [...] >>> > List<Blogitem> blogitemList = >>> > Q.EM.createNamedQuery("Blogitem.findAll", Blogitem.class). >>> > setHint(QueryHints.REFRESH, >>> HintValues.TRUE).getResultList(); >>> > >>> > BlogListView blogListView = new BlogListView( >>> > "bloglist", >>> > new ListDataProvider(blogitemList), >>> > ITEMSPERPAGE) { >>> > >>> > @Override >>> > protected void populateItem(final Item<Blogitem> item) { >>> > >>> > [...] >>> > item.add(new AjaxLazyLoadPanel("commentaar") { >>> > >>> > @Override >>> > public Component getLazyLoadComponent(String markupId) { >>> > return new CommentaarPanel(markupId, >>> > item.getModelObject()); >>> > } >>> > >>> > }); >>> > [...] >>> > } >>> > >>> > }; >>> > >>> > [...] >>> > add(blogListView); >>> > >>> > [...] >>> > } >>> > >>> > abstract class BlogListView >>> > extends DataView<Blogitem> { >>> > >>> > BlogListView(String id, ListDataProvider ldp, int i) { >>> > super(id, ldp, i); >>> > } >>> > >>> > [...] >>> > } >>> > } >>> > -- >>> > >>> > CommentaarPanel.html: >>> > -- >>> > [...] >>> > <body> >>> > <wicket:panel> >>> > <div wicket:id="commentaarToevoegen" /> >>> > <ul> >>> > <li wicket:id="commentaarList" class="commentaar"> >>> > <p class="zegt"><span wicket:id="tijdstip" /> - <span >>> > wicket:id="commentator" class="schrift commentator" /> laat weten:</p> >>> > <p wicket:id="tekst" class="schrift" /> >>> > </li> >>> > <div wicket:id="commentaarNav" class="navigator >>> navigatordown" >>> > /> >>> > </ul> >>> > </wicket:panel> >>> > </body> >>> > </html> >>> > -- >>> > >>> > CommentaarPanel.java: >>> > -- >>> > [...] >>> > public final class CommentaarPanel >>> > extends Panel { >>> > >>> > private Blogitem blog; >>> > private List<Comment> commentList; >>> > private DataView<Comment> commentListView; >>> > >>> > >>> > public CommentaarPanel(String id, Blogitem blog) { >>> > super(id); >>> > >>> > this.blog = blog; >>> > >>> > setOutputMarkupId(true); >>> > >>> > commentList = blog.getCommentList(); >>> > Collections.sort(commentList); >>> > commentListView = >>> > new DataView<Comment>("commentaarList", >>> > new ListDataProvider(commentList), >>> > 5) { >>> > >>> > @Override >>> > protected void populateItem(Item<Comment> item) { >>> > item.add(new Label("tekst", >>> > item.getModelObject().getText())); >>> > item.add(new Label("commentator", >>> > item.getModelObject().getName())); >>> > item.add(new Label("tijdstip", >>> > Q.DF.format(item.getModelObject().getTimestamp()))); >>> > } >>> > >>> > }; >>> > add(commentListView); >>> > add(new AjaxPagingNavigator("commentaarNav", commentListView) { >>> > >>> > @Override >>> > public boolean isVisible() { >>> > return this.getPageable().getPageCount() > 1; >>> > } >>> > >>> > }); >>> > add(new CommentaarToevoegenPanel("commentaarToevoegen", this)); >>> > } >>> > >>> > >>> > public Blogitem getBlog() { >>> > return blog; >>> > } >>> > >>> > >>> > public List<Comment> getCommentList() { >>> > return commentList; >>> > } >>> > >>> > >>> > public DataView<Comment> getCommentListView() { >>> > return commentListView; >>> > } >>> > >>> > } >>> > -- >>> > >>> > >>> > WeerPanel.html: >>> > -- >>> > [...] >>> > <body> >>> > <wicket:panel> >>> > <span wicket:id="locatie" /><br /> >>> > <img wicket:id="icoonhuidig" class="weericoon" /> >>> > <p>temperatuur: <span wicket:id="temperatuur" />°C<br /> >>> > vochtigheid: <span wicket:id="vochtigheid" /><br /> >>> > wind: <span wicket:id="wind" /></p> >>> > </wicket:panel> >>> > </body> >>> > </html> >>> > -- >>> > >>> > WeerPanel.java: >>> > -- >>> > [...] >>> > public final class WeerPanel >>> > extends Panel { >>> > >>> > private String locatie; >>> > >>> > public WeerPanel(String id, String locatie) { >>> > super(id); >>> > this.locatie = locatie; >>> > init(); >>> > } >>> > >>> > >>> > public WeerPanel(String id) { >>> > this(id, "Brugge"); >>> > } >>> > >>> > >>> > private void init() { >>> > Document doc = null; >>> > { >>> > InputStream in = null; >>> > try { >>> > URL xmlUrl = new URL("http://www.google.com/ig/api?weather=" >>> + >>> > locatie); >>> > in = xmlUrl.openStream(); >>> > doc = parse(in); >>> > } >>> > catch (MalformedURLException ex) { >>> > >>> Logger.getLogger(WeerPanel.class.getName()).log(Level.SEVERE, >>> > null, ex); >>> > } >>> > catch (IOException ex) { >>> > >>> Logger.getLogger(WeerPanel.class.getName()).log(Level.SEVERE, >>> > null, ex); >>> > } >>> > finally { >>> > if (in != null) { >>> > try { >>> > in.close(); >>> > } >>> > catch (IOException ex) { >>> > >>> > Logger.getLogger(WeerPanel.class.getName()).log(Level.SEVERE, null, >>> ex); >>> > } >>> > } >>> > } >>> > } >>> > >>> > String locatieString = "<ongekend>"; >>> > String srcicon = "http://www.google.com"; >>> > String temperatuur = "<?>"; >>> > String vochtigheid = "<?>"; >>> > String wind = "<?>"; >>> > >>> > if (doc != null) { >>> > locatieString = >>> > >>> > >>> >>> doc.getElementsByTagName("city").item(0).getAttributes().getNamedItem("data").getNodeValue(); >>> > NodeList nl = >>> > doc.getElementsByTagName("current_conditions").item(0).getChildNodes(); >>> > for (int i = 0; i < nl.getLength(); i++) { >>> > Node n = nl.item(i); >>> > if (n.getNodeName().equals("icon")) { >>> > srcicon += >>> > n.getAttributes().getNamedItem("data").getNodeValue(); >>> > } >>> > else if (n.getNodeName().equals("temp_c")) { >>> > temperatuur = >>> > n.getAttributes().getNamedItem("data").getNodeValue(); >>> > } >>> > else if (n.getNodeName().equals("humidity")) { >>> > vochtigheid = >>> > n.getAttributes().getNamedItem("data").getNodeValue().split(": ")[1]; >>> > } >>> > else if (n.getNodeName().equals("wind_condition")) { >>> > wind = >>> > n.getAttributes().getNamedItem("data").getNodeValue().split(": ")[1]; >>> > } >>> > } >>> > } >>> > >>> > add(new Label("locatie", locatieString)); >>> > add(new StaticImage("icoonhuidig", srcicon)); >>> > Label temperatuurLabel = new Label("temperatuur", temperatuur); >>> > temperatuurLabel.setRenderBodyOnly(true); >>> > add(temperatuurLabel); >>> > Label vochtigheidLabel = new Label("vochtigheid", vochtigheid); >>> > vochtigheidLabel.setRenderBodyOnly(true); >>> > add(vochtigheidLabel); >>> > Label windLabel = new Label("wind", wind); >>> > windLabel.setRenderBodyOnly(true); >>> > add(windLabel); >>> > >>> > } >>> > >>> > >>> > public static Document parse(InputStream is) { >>> > Document ret = null; >>> > DocumentBuilderFactory domFactory; >>> > DocumentBuilder builder; >>> > >>> > try { >>> > domFactory = DocumentBuilderFactory.newInstance(); >>> > domFactory.setValidating(false); >>> > domFactory.setNamespaceAware(false); >>> > builder = domFactory.newDocumentBuilder(); >>> > >>> > ret = builder.parse(is); >>> > } >>> > catch (Exception ex) { >>> > System.err.println("unable to load XML: " + ex); >>> > } >>> > return ret; >>> > } >>> > >>> > } >>> > -- >>> > >>> >>> >>> >>> -- >>> Martin Grigorov >>> jWeekend >>> Training, Consulting, Development >>> http://jWeekend.com >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>> For additional commands, e-mail: users-h...@wicket.apache.org >>> >>> >> >