Instance is cached by firefox on reload (F5). How to disable the cache?

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Instance is cached by firefox on reload (F5). How to disable the cache?

James Gu
Hi, I found firefox will cache the instance when I press F5. Please see the example.

The submission URL will return an xml. When I press the button on page, it get the instance from server. Then I press F5, the page is reload, but the instance still exists.

I don't want this cache and now I have to use Ctrl+F5. Is there any setting in Orboen to disable the brower cache?


<xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:widget="http://orbeon.org/oxf/xml/widget"
            xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:ev="http://www.w3.org/2001/xml-events"
            xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:exf="http://www.exforms.org/exf/1-0"
            xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xxforms="http://orbeon.org/oxf/xml/xforms"
            xmlns:saxon="http://saxon.sf.net/" xmlns:n="urn:ACORD:xml:specification:schema:AML_1.0.0_Draft_Release_04"
            xmlns:uuid="java:org.orbeon.oxf.util.UUIDUtils" xmlns:xxi="http://orbeon.org/oxf/xml/xinclude">
    <xhtml:head>
        <xhtml:title>Test</xhtml:title>
        <xforms:model>

            <xforms:instance id="test">
                <root></root>
            </xforms:instance>
            <xforms:submission id="get-instance"
                               ref="instance('test')"
                               replace="instance"
                               instance="test"
                               method="post"
                               action="/test/get-instance">
            </xforms:submission>
        </xforms:model>
    </xhtml:head>
    <xhtml:body>

        <xforms:trigger>
            <xforms:label>Get</xforms:label>
            <xforms:action ev:event="DOMActivate">
                <xforms:send submission="get-instance"/>
            </xforms:action>
        </xforms:trigger>
        <widget:xforms-instance-inspector/>
    </xhtml:body>
</xhtml:html>
Reply | Threaded
Open this post in threaded view
|

Re: Instance is cached by firefox on reload (F5). How to disable the cache?

Erik Bruchez
Administrator
What happens in this case is that the page is reloaded, but the page's  
state is reloaded just afterwards. This is especially useful upon  
doing a browser back, but it is triggered also with a simple reload.

Currently there is no setting to change this.

Another way to reload without this effect is to go to the URL bar and  
press "enter".

-Erik

On Nov 21, 2008, at 3:53 AM, JamesGu wrote:

>
> Hi, I found firefox will cache the instance when I press F5. Please  
> see the
> example.
>
> The submission URL will return an xml. When I press the button on  
> page, it
> get the instance from server. Then I press F5, the page is reload,  
> but the
> instance still exists.
>
> I don't want this cache and now I have to use Ctrl+F5. Is there any  
> setting
> in Orboen to disable the brower cache?
>
>
> <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml"
> xmlns:widget="http://orbeon.org/oxf/xml/widget"
>            xmlns:xforms="http://www.w3.org/2002/xforms"
> xmlns:ev="http://www.w3.org/2001/xml-events"
>            xmlns:xi="http://www.w3.org/2001/XInclude"
> xmlns:exf="http://www.exforms.org/exf/1-0"
>            xmlns:xs="http://www.w3.org/2001/XMLSchema"
> xmlns:xxforms="http://orbeon.org/oxf/xml/xforms"
>            xmlns:saxon="http://saxon.sf.net/"
> xmlns:n
> ="urn:ACORD:xml:specification:schema:AML_1.0.0_Draft_Release_04"
>            xmlns:uuid="java:org.orbeon.oxf.util.UUIDUtils"
> xmlns:xxi="http://orbeon.org/oxf/xml/xinclude">
>    <xhtml:head>
>        <xhtml:title>Test</xhtml:title>
>        <xforms:model>
>
>            <xforms:instance id="test">
>                <root></root>
>            </xforms:instance>
>            <xforms:submission id="get-instance"
>                               ref="instance('test')"
>                               replace="instance"
>                               instance="test"
>                               method="post"
>                               action="/test/get-instance">
>            </xforms:submission>
>        </xforms:model>
>    </xhtml:head>
>    <xhtml:body>
>
>        <xforms:trigger>
>            <xforms:label>Get</xforms:label>
>            <xforms:action ev:event="DOMActivate">
>                <xforms:send submission="get-instance"/>
>            </xforms:action>
>        </xforms:trigger>
>        <widget:xforms-instance-inspector/>
>    </xhtml:body>
> </xhtml:html>
> --
> View this message in context: http://www.nabble.com/Instance-is-cached-by-firefox-on-reload-%28F5%29.-How-to-disable-the-cache--tp20619758p20619758.html
> Sent from the ObjectWeb OPS - Users mailing list archive at  
> Nabble.com.
>
>
> --
> You receive this message as a subscriber of the [hidden email]  
> mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> OW2 mailing lists service home page: http://www.ow2.org/wws
--
Orbeon Forms - Web Forms for the Enterprise Done the Right Way
http://www.orbeon.com/



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Instance is cached by firefox on reload (F5). How to disable the cache?

James Gu
test.zip

This is my example. Just put it under WEB-INF\resources\apps folder and use /test/ to access the page.

There is a button on page to get the result, the result will be saved into session. On page, I add the logic to get the cache data on xforms-ready event. So user don't need to search again.

Please follow the to reproduce the problem in firefox

1) Click "get" button.
2) Press "F5"

In inspector, I saw two records in result instance, but there are four xforms:input on page. It seems the result instance firefox cached is mixed up with the instance I get from session.

<root>
   <people>Smith</people>
   <people>Tom</people>
</root>

If I remove the xforms-ready event and use a button to get the cached data in session, it works well, so I think there is something wrong in xforms-ready.

Could you please check it? Any feedback will be appreciated. Thanks!