From: Cameron H. <ca...@bi...> - 2000-12-06 18:00:40
|
Ummm, I haven't tried tweaking the loadpanel source just yet. I might be using an older version of the loadpanel which doesn't support what you are saying, the version date is 2000.11.09. I've done what you suggested for Netscape and it works kind of :-) This is my new code: LoadPanel.prototype.loadHandler = function(url) { this.url = url if (is.ns4) { if (this.isILayer) { var w = this.loadElement.document.width var h = this.loadElement.document.height } else { var w = this.getContentWidth() var h = this.getContentHeight() } for (var i in this.loadElement.document.links) { this.loadElement.document.links[i].loadpanel = this; } if (this.autoW) this.setWidth(w,false) if (this.autoH) this.setHeight(h,false) } this.isReloading = false this.invokeEvent('load') } Now I have a new problem - when I call set URL, the URL is getting garbled somewhere. Any ideas what is happening there? It seems to get to the setURL method intact, but I haven't looked into it any further than that. I think it would be good to keep the behaviour consistent between browsers, so I thought I would try and do the same thing for links with IE. However, I'm using IE5, which doesn't use IFRAMES, it uses a DIV with a style to load the new document. I don't seem to be able to get to the links object in the same way with IE5. Don't know about IE4, I don't have it. Do you have any ideas on how I can do the same for IE4 and IE5, and should I upgrade to a newer LoadPanel? Thanks!!! Cam. > You will need a reference to the loadpanel. In Netscape you > might be able to use this: > > <a href="javascript://" onclick="this.lyrobj.setURL('file.html')"> > > "this" in the content of a layer refers to the layer element. We > have a .lyrobj property that points to the DynLayer (or DynLayer > based widget). I can't remember if "this" inside a link returns > the link or the document/layer. If it returns the link we'd need > to update LoadPanel to search through all the links in the page > and drop a property like ".loadpanel" onto each link object so > the could be made like "this.loadpanel.setURL()". > > For IE if you are using an IFrame you will need to have a > different reference. We can add some code into LoadPanel to make > one. "this" in an Iframe should refer to the frame element (or > possibly the frame's document), so you'd add "frame.lyrobj = > this" or "frame.document.lyrobj = this" somewhere in the > LoadPanel code after the frame has been created. Or again it > might be necessary to manually attach a property to each link. > > It would just require some tweaking but it's definately possible. > > Dan > > > On Wed, Dec 06, 2000 at 02:15:32PM -0000, Cameron Hart wrote: > > > I'm not sure if this is what you're looking for, but why not try > > > something like ... > > > > > > <a href="#" onClick="whateverLayer.setHTML('page.html')">My Link</a> > > > > > > If you don't know what whateverLayer is in adavnce, you could use > > > document.write to change the name of the layer. > > > > that works if you know what whatevenLayer is, but unfortunately > I don't. I > > thought that the document loaded into the loadpanel would know what > > whateverLayer is (ie the layer it got loaded into) but it > doesn't seem to. > > > > I'm not what you mean by using document.write to change the name of the > > layer? > > > > Thanks, > > > > Cameron. > > > > > > > > Let me know if you come across a better solution, or indeed if > > > anyone has come across a > > > solution to submitting a form and giving it a target inside a > loadpanel. > > > > > > Mark > > > > > > Cameron Hart wrote: > > > > > > > I've got a question about links inside html files loaded into a > > > loadpanel. > > > > > > > > I am building a site that uses multiple loadpanels at the > same time. All > > > > these loadpanels contain external html documents. Some of these > > > documents > > > > have links in them. If you click on a link in a document loaded in a > > > > loadpanel, it loads the new page over the top of the main > > > window, not into > > > > the loadpanel. That's not good ;-) > > > > > > > > I've tried making the links javascript calls to call a setURL > > > to load a new > > > > document in the same loadpanel. The problem is that the > > > document inside the > > > > loadpanel doesn't seem to be "aware" of what loadpanel it is > > > in. It's parent > > > > appears to be the top level DynDocument, not the LoadPanel object. > > > > > > > > Does anyone have any ideas on how I can tell a document > loaded into a > > > > loadpanel, this is your loadpanel, use setURL on this? > > > > > > > > Thanks, > > > > > > > > Cameron. > > > > > > > > _______________________________________________ > > > > Dynapi-Help mailing list > > > > Dyn...@li... > > > > http://lists.sourceforge.net/mailman/listinfo/dynapi-help > > > > > > _______________________________________________ > > > Dynapi-Help mailing list > > > Dyn...@li... > > > http://lists.sourceforge.net/mailman/listinfo/dynapi-help > > > > _______________________________________________ > > Dynapi-Help mailing list > > Dyn...@li... > > http://lists.sourceforge.net/mailman/listinfo/dynapi-help > _______________________________________________ > Dynapi-Help mailing list > Dyn...@li... > http://lists.sourceforge.net/mailman/listinfo/dynapi-help |