我尝试在Firefox 6的地址栏中运行此JavaScript代码:
javascript:alert("Hello")
Run Code Online (Sandbox Code Playgroud)
我得到了
ReferenceError:未定义警报.
它曾经在Firefox 5中运行良好,但仍适用于Opera,Safari和Chrome.我该如何解决?
我目前正在开发一个灵活的应用程序,调试设置为Firefox 6.我设置了一个断点并检查了一些变量......接下来我知道浏览器说"flash player崩溃了".如何设置它以便断点长时间工作?
我想要做的是在javascript路径的末尾添加一个查询字符串,以便每当我的应用程序更新到新版本时,都会下载javascript.但是,只要查询字符串相同,我希望它继续使用缓存版本而不执行http请求来检查脚本是否已更改.
我在PHP中完成此操作的方法是从CVS标记中读取.当我构建HTML输出时,我读取CVS标记并使用它附加到javascript路径的末尾,以便它创建一个如下所示的脚本标记:
<script src="javascript/messages/shipments.js?TPRSAPPS-DEV2_090828145712237-BRANCH" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
只要应用程序没有更改,标记将保持不变,因此查询字符串也将保持不变.浏览器应该缓存JS并且根本不做网络请求,因为过期日期是远期的.每次更新应用程序时,该查询字符串都将更改,浏览器应下载该查询字符串.
这在IE8中很有用.我的问题是Firefox.Firefox缓存文件,但下次加载页面时,Firebug会显示304响应,表明它仍然对该文件发出网络请求,然后发现它没有更改.
所以我的问题是,当有查询字符串时,firefox是否会忽略javascript的expires头和缓存?
相关:firefox决定不缓存什么? 显然Rails做了类似的事情.但这不能回答我的问题.
以下是我回复此文件的回复:
https://appdev.prsx.net/~jhargett/PRSApps-Motorlog/javascript/menuReader.js?TPRSAPPS-DEV2_090828145712237-BRANCH-DIFFERENT
HTTP/1.1 304 Not Modified
Date: Mon, 03 Oct 2011 18:35:26 GMT
Server: Apache/2.2.3 (Red Hat)
Connection: close
Etag: "179010-3f8-49a9a74334200"
Vary: Accept-Encoding
Run Code Online (Sandbox Code Playgroud)
Firebug中的Cache选项卡说:
Last Modified Mon Oct 03 2011 13:35:26 GMT-0500 (Central Daylight Time)
Last Fetched Mon Oct 03 2011 13:35:26 GMT-0500 (Central Daylight Time)
Expires Fri Oct 28 2011 18:33:31 GMT-0500 (Central Daylight Time)
Data Size 345
Fetch Count 12
Device disk
Run Code Online (Sandbox Code Playgroud) firefox6 ×3
javascript ×2
alert ×1
apache-flex ×1
browser ×1
caching ×1
debugging ×1
firefox ×1
timeout ×1