早上好,我正在寻找某种Javascript事件,我可以使用它来检测移动浏览器窗口何时重新获得焦点,用户关闭/最小化浏览器(返回主屏幕/不同的应用程序),或者设备从睡眠状态恢复(用户将其关闭,或者在屏幕超时后进入休眠状态).
我希望能够找到适用于所有事情的单一事件,但我知道这不太可能!该pageshow活动适用于iOS设备,但与其他所有设备一起使用时相当粗略.我试过了focus,DOMActivate但它们似乎都没有达到预期的效果.
页面上可能并不总是有表单元素,我真的不希望用户再次触摸页面来触发事件.
对此类事件的要求是由我们的代码通过发出XHR请求定期检查新内容引起的.当浏览器处于睡眠状态时,它们永远不会被发送,因此我们永远不会获得重新启动超时的新内容.
感谢您提供的任何帮助!
当我尝试通过它的url访问节点时,我遇到了Umbraco的问题.
我一直在尝试形成一个xpath查询来选择网址,但我不知道如何做到这一点,他们的API中的所有内容都是"动态的"所以我发现无法深入挖掘其他内容方法.
Umbraco编辑器中的"链接到文档"属性显示路径为" / links/link-regions/link-region-1 / ".它在编辑器中的位置是" / Data/Links/Link Regions/Link Region 1 ".
我怀疑它看起来像这样,但我不能让它工作:
//*[@url='/links/link-regions/link-region-1/']
Run Code Online (Sandbox Code Playgroud)
我基本上想知道我必须做什么才能通过提供这些值中的任何一个而不是其他值来获取节点.我一直试图这样做几天无济于事,请帮忙!
我在这里遇到了一个精神上有问题的问题,我在Backbone中使用一个集合检索了一个JSON对象.这是对象的样子:
{
"MatchID": "00000001",
"Date": "1970-01-01T00:00:00.000Z",
"OriginalID": "",
"Stage": {
"StageNumber": "0",
"StageType": "Stage Type"
},
"Round": {
"RoundNumber": "0",
"Name": "Round Name"
},
"Leg": "1",
"HomeTeam": {
"TeamID": "0",
"Name": "Home Team Name"
},
"AwayTeam": {
"TeamID": "0",
"Name": "Away Team Name"
},
"Venue": {
"VenueID": "0",
"Name": "Venu Name"
},
"Referee": null,
}
Run Code Online (Sandbox Code Playgroud)
我想对这些数据做什么,是根据特定属性过滤它,例如Venue.Name或Date属性(对象的深度不同,对于其他一些数据可能比两个级别更深) .我在Backbone集合中有以下代码来过滤并返回一个新集合,其中包含适当过滤的内容:
findWhere: function (Attribute, Value)
{
return new Project.Collections.Fixtures(this.filter(function (fixture)
{
return eval('fixture.attributes.' + Attribute) == Value;
}));
}
Run Code Online (Sandbox Code Playgroud)
这允许我在属性中指定对于任何深度的对象,我想要过滤哪个属性,以及我希望它等于什么.问题是,我真的不想使用"eval"来做这件事,但显然我不能将"[Attribute]"用于像"AwayTeam.TeamID"这样的东西,因为它不起作用.
有没有人知道我可以用来实现这个功能而不使用eval的方法?