【问题标题】:why doesn't refreshing Firefox reflect javascript code changes? [duplicate]为什么刷新 Firefox 不反映 javascript 代码更改? [复制]
【发布时间】:2012-02-29 22:22:30
【问题描述】:

可能重复:
Making sure a web page is not cached, across all browsers

我正在开发一个连接到 dojo.store.Memory 的简单 dojo 组合框 (dijit.form.ComboBox)。我正在使用最新的 Netbeans 和 Glassfish 设置以及 Firefox 10。我的问题是,当我更改或注释掉与组合框相关的代码时,刷新网页时不会显示更改。我尝试过清理/构建、重新运行等,但注释掉代码似乎无济于事。 Firefox 似乎正在运行页面的缓存版本,而不是呈现我所做的最新代码更改。我不想每次刷新页面时都清除浏览器缓存。 (我最终想要做的是决定何时打开和关闭自动完成功能。)有什么想法吗?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">                   
    <script src="http://ajax.googleapis.com/ajax/libs/dojo/1.7.1/dojo/dojo.js" type="text/javascript" ></script> 
    <script type="text/javascript">
        dojo.require("dijit.form.ComboBox");
        dojo.require("dojo.store.Memory");

        var myBox, store;
        dojo.ready(function(){makeComboBox();});

        function makeComboBox(){

            store = new dojo.store.Memory({
                data: [
                    {name:"Alabama", id:"AL"},
                    {name:"Alaska", id:"AK"},
                    {name:"American Samoa", id:"AS"},
                    {name:"Arizona", id:"AZ"},
                    {name:"Arkansas", id:"AR"},
                    {name:"Armed Forces Europe", id:"AE"},
                    {name:"Armed Forces Pacific", id:"AP"},
                    {name:"Armed Forces the Americas", id:"AA"},
                    {name:"California", id:"CA"},
                    {name:"Colorado", id:"CO"},
                    {name:"Connecticut", id:"CT"},
                    {name:"Delaware", id:"DE"}                        
                ]
            });                

            myBox = new dijit.form.ComboBox({                
                id: "stateSelect",
                name: "state",
                //value: "Alabama", 
                //store: store,  <-- the box is still connected to the store, 
                                 <--even if I comment it out
                searchAttr:"name"
            }, "stateSelect");
            //myBox.set("autoComplete", "false"); <-- this doesn't work either
        }
    </script>

<div id="myDiv"  >
    <input id="stateSelect" >
    <p><button onClick="alert(dijit.byId('stateSelect').get('value'))">get value</button></p>
</div>

【问题讨论】:

  • 如果您有缓存问题,请发送一些标头,以便 Firefox 知道是否缓存您的页面以及缓存多长时间
  • @giorgio 我添加了标题...
  • 对不起,我的意思是,将一些标头发送给 firefox,而不是给我 :) 但您可能的解决方案可能是添加这个:&lt;META HTTP-EQUIV="CACHE-CONTROL" content="NO-CACHE"&gt;
  • @giorgio 你对你在说什么有一个很好的参考吗?我在这里查看developer.mozilla.org/en/HTML/Element/meta,但没有看到“缓存控制”的设置。

标签: javascript firefox netbeans dojo


【解决方案1】:

为了提高速度,FireFox 会缓存页面和外部文件。要刷新并防止从缓存中拉取页面,请按 Ctrl+F5

更多信息请见this question

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-25
    • 1970-01-01
    • 1970-01-01
    • 2017-09-15
    • 2021-07-14
    • 1970-01-01
    • 2018-01-26
    • 2019-06-03
    相关资源
    最近更新 更多