This thread got me thinking about using framesets with Fusebox4.1. Now, I’m not a big advocate of framesets but they do have their uses (on occassion). I’ve used them with Fusebox3 but haven’t needed to use them with Fusebox4.x.
It’s important to remember that the fact that you’re using Fusebox to structure your application is irrelevant, frames will work just the same - you just need to think ‘Fusebox’ when you’re calling your frameset and remember the problems that you may encounter. A typical Fusebox HTML frameset call will look something like;
<frame src=“index.cfm?fuseaction=frametest.left”>
<frame src=“index.cfm?fuseaction=frametest.right”>
</frameset>
Coupled with this, you need a fuseaction that will initialize this frameset - if you’re running your entire site in frames then the default fuseaction is a good place to do this, so you might end up with a fuseaction called ‘frameset’ that calls a template named fra_setup.cfm that included the above code. Rather than specifying individual files for each frame source you send the request back through the Fusebox to the associated fuseaction to load in a specific frame.
It’s all well and good but you HAVE to remember the caveat. When your frameset runs it will initiate as many HTTP calls as the number of frames you’re calling - that means in development mode you overwrite the application scope every request so you can end up with one request over writting another. As Sean ends the quoted thread you can fix it by switching to production mode - but in a development environment it’s something to be mindful of.
I wrote a simple 4 frame test to see if i can make it trip up but i couldn’t - even in development mode…
January 25th, 2005 at 12:33 pm
I copied your example and it tripped up on the top frame, error below:
Element FUSEBOX.MODE is undefined in APPLICATION.
The error occurred in C:\VDW\Dev\Website\cf_testing\frametest\fusebox4.runtime.cfmx.cfm: line 408
Called from C:\VDW\Dev\Website\cf_testing\frametest\fusebox4.runtime.cfmx.cfm: line 328
Called from C:\VDW\Dev\Website\cf_testing\frametest\fusebox4.runtime.cfmx.cfm: line 1
Called from C:\VDW\Dev\Website\cf_testing\frametest\fusebox4.runtime.cfmx.cfm: line 1
Called from C:\VDW\Dev\Website\cf_testing\frametest\index.cfm: line 2
406 :
407 : <cfparam name="fb_.hasAssertions" default="false" type="boolean"/>
408 : <cfif application.fusebox.mode NEQ "production">
409 : <!— write out the devparsed file —>
410 : <cfif fb_.hasAssertions>
——————————————————————————–
Please try the following:
Check the ColdFusion documentation to verify that you are using the correct syntax.
Search the Knowledge Base to find a solution to your problem.
Browser Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 1.0.3705)
Remote Address 192.168.101.2
Referrer http://192.168.101.201/website/cf%5Ftesting/frametest/
Date/Time 25-Jan-05 11:35 AM
Stack Trace (click to expand)
January 25th, 2005 at 3:39 pm
that’s sort of the point of the demonstration. Because with a 4 way frameset you are making 4 simultaneous calls and in development it may trip up - if you change it to production you’ll probably find it’s fine.
<p>
I test downloaded the demo app again to check (CFMX on JRun) and it works fine on my machine even in development mode…but as i say, if it doesn’t work try the mode.