在进行Web开发时,您经常进行更改,然后刷新浏览器.是否有一种简单的方法让守护进程监听文件系统中的更改,如果有,则向Firefox或Safari发送刷新消息?
这将真正改善您的工作流程和重点.您可以让浏览器在单独的屏幕上运行,当您处理与UI相关的更改时,它会在您工作时自动刷新.
这就像在进行TDD时使用自动测试一样.(见http://github.com/svoop/autotest-fsevent)
有人这样做过吗?
我理解StackOverflow上有关于这个问题的类似问题,但没有一个能解决我的问题,所以我正在创建一个新问题.
正如标题所说,我想检测用户何时刷新页面.我有一个页面,我保存一些用户在其上完成的日志信息(添加,删除或编辑项目).此日志只能在用户离开页面时保存,而不能通过刷新保存.
我尝试了下面的示例来检测它是刷新还是新请求:
public ActionResult Index()
{
var Model = new Database().GetLogInfo();
var state = TempData["refresh"];
if(state == null)
{
//This is a mock structure
Model.SaveLog(params);
}
TempData["refresh"] = true; //it can be anything here
return View();
}
Run Code Online (Sandbox Code Playgroud)
考虑到它是一个TempData它应该在我的下一个行动到期.但是,由于某种原因,它在整个应用程序中存活了下来.根据这个博客,它应该在我随后的请求到期(除非我不理解的东西).即使我从我的应用程序注销并再次登录,我的TempData仍然存在.
我一直在考虑使用javascript函数onbeforeunload对一些动作进行AJAX调用,但我再一次不得不依赖TempData或以某种方式持久保存这个刷新信息.有小费吗?
<script language="JavaScript">
window.onbeforeunload = confirmExit;
function confirmExit()
{
alert("");window.location="index.html";
}
</script>
Run Code Online (Sandbox Code Playgroud)
在这里我试过但不工作请指导我
我正在使用付费角色系统,一旦用户刷新浏览器,我需要刷新该页面中可用的统计数据(统计数据应该来自数据库并显示).但是现在它无法正常工作,在页面刷新中,不会调用java代码,而是使用以前的数据加载缓存页面.我尝试修复它添加下面的代码,但它没有工作.
@Override
protected void setHeaders(WebResponse response) {
response.setHeader("Cache-Control",
"no-cache, max-age=0,must-revalidate, no-store");
}
Run Code Online (Sandbox Code Playgroud)
有谁知道修复此问题?谢谢!
这是最初的代码
ManageCredits.html
<wicket:head>
<wicket:link>
<link rel="stylesheet" type="text/css" href="../css/style.css"/>
</wicket:link>
</wicket:head>
<wicket:panel xmlns:wicket="http://wicket.apache.org/">
<div class="offercount-container round-border">
<div class="manage-credits-lbl"><span>Manage Credits</span></div>
<div>
<ul>
<li>Balance amout:<span wicket:id="balanceAmtLbl" >0</span></li>
<li>Number if transactions<span wicket:id="transactionLbl" >0</span></li>
</ul>
</div>
</div>
</wicket:panel>
Run Code Online (Sandbox Code Playgroud)
ManageCredits.java
import com.payrole.service.Offer;
import com.payrole.service.OfferService;
import com.payrole.service.ServiceLocator;
import com.payrole.wicket.PayroleLabel;
import java.text.Format;`enter code here`
import org.apache.wicket.markup.html.panel.Panel;
public class OfferFanSummaryPanel extends Panel{
private long balance;
private long transactionCount;
public OfferFanSummaryPanel(String id){
super(id);
}
public OfferFanSummaryPanel(String id, …Run Code Online (Sandbox Code Playgroud) 我正在进行网络测验,有用户登录这个游戏,他们必须回复3个测试的测验,当用户有点聪明时会出现问题,因为如果他做了刷新所有问题的改变那么用户可以这样做,直到找到他知道的那个,我怎么能把我的网站(提醒后)错误的问题?例:
如果用户刷新,如何alert("if you refresh is a game over")在数据库中显示消息,并将答案保存为错误?
我遇到了AngularJS和$ timeout的一些问题.
在页面加载后我需要运行一些代码.Http.get()加载项目,ng-repeat在表格中显示它们.然后我需要运行代码以在我单击它时突出显示行.
我找到了使用$ timeout的解决方案.
$timeout(function () {
console.log('in timeout');
$scope.highlightRows();
});
Run Code Online (Sandbox Code Playgroud)
这确实有效,但不是每次都有效.在函数中我记录表中的行数,有时我得到0,因此点击处理程序没有注册,突出显示不起作用.
$scope.highlightRows = function () {
console.log($("#tripsTable").children("tbody").children("tr").length);
$("#tripsTable").children("tbody").children("tr").children().click(function () {
console.log('row click');
$("#tripsTable").children("tbody").children("tr").removeClass("focusedRow");
$(this.parentNode).addClass("focusedRow");
});
};
Run Code Online (Sandbox Code Playgroud)
尝试模拟时我必须按Ctrl + F5刷新.
控制台日志:
in timeout tripsController.js:14
0
Run Code Online (Sandbox Code Playgroud)
我找不到这个问题的任何溶液,有什么建议可以理解的:)
谢谢你
马克
编辑: 这是我的HTML
<table class="table table-bordered" id="tripsTable">@*table-hover*@
<thead>
....
</thead>
<tbody>
<tr ng-repeat="trip in tripsVM.tripsList | orderBy: 'startDate'" ng-class="(trip.tripID == 0) ? 'newRow' : ''" class="row">
....
Run Code Online (Sandbox Code Playgroud) browser-refresh angularjs angularjs-ng-repeat angularjs-timeout
morgan 1.9.0使用和构建快速应用程序browser-refresh 1.7.2。
摩根似乎忽略了这个skip选择。我的应用程序初始化为
const skipFcn = (req, res) => req.path.startsWith('/static/views')
app.use((req, res, next) => {
console.log('test:', skipFcn(req, res))
next()
})
app.use(morgan('combined', {
skip: skipFcn
}))
Run Code Online (Sandbox Code Playgroud)
但在我的日志中,我仍然收到数百次点击browser-refresh:
test: true
::1 - - [14/Oct/2017:10:09:07 +0000] "GET /static/views/project$0.0.0/views/components/service-form.marko.jsHTTP/1.1" 200 3748 "http://localhost:4002/admin/services" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"
Run Code Online (Sandbox Code Playgroud) javascript ×2
angularjs ×1
asp.net-mvc ×1
browser ×1
express ×1
html ×1
java ×1
jquery ×1
morgan ×1
page-refresh ×1
php ×1
tempdata ×1
testing ×1
wicket ×1