什么是已实现自动保存功能的最佳javascript库,或库的插件或扩展?
具体需要是能够"保存"数据网格.想想gmail和Google Documents的自动保存.
如果它已经被发明,我不想重新发明轮子.我正在寻找神奇的autoSave()函数的现有实现.
自动保存:推送到保存到持久存储的服务器代码,通常是数据库.服务器代码框架超出了本问题的范围.
请注意,我不是在寻找一个Ajax库,而是一个更高级别的库/框架:与表单本身进行交互.
daemach在jQuery @ http://daemach.blogspot.de/2007/03/autosave-jquery-plugin.html [script host down] 上引入了一个实现.我不相信它符合轻量级和精心设计的标准.
标准
对于反应时间研究(如果您感兴趣,请参阅此问题)我们希望控制和测量图像的显示时间.我们想说明在不同用户的机器上重绘所需的时间.
编辑:最初,我只使用内联执行进行计时,并认为我不能相信它可以准确地测量图片在用户屏幕上可见的时间,因为绘画需要一些时间.
后来,我发现了事件" MozAfterPaint ".它需要在用户的计算机上运行配置更改,并且相应的WebkitAfterPaint没有成功.这意味着我无法在用户的计算机上使用它,但我将它用于我自己的测试.我粘贴了相关的代码片段和我下面的测试结果.
我还在Chrome中使用SpeedTracer手动检查了结果.
// from the loop pre-rendering images for faster display
var imgdiv = $('<div class="trial_images" id="trial_images_'+i+'" style="display:none"><img class="top" src="' + toppath + '"><br><img class="bottom" src="'+ botpath + '"></div>');
Session.imgs[i] = imgdiv.append(botimg);
$('#trial').append(Session.imgs);
// in Trial.showImages
$(window).one('MozAfterPaint', function () {
Trial.FixationHidden = performance.now();
});
$('#trial_images_'+Trial.current).show(); // this would cause reflows, but I've since changed it to use the visibility property and absolutely positioned images, to minimise reflows
Trial.ImagesShown = …Run Code Online (Sandbox Code Playgroud) 我基本上是在寻找一种在R中对这个Ruby脚本进行变换的方法.
我有一个任意的数字列表(在这种情况下,回归图的主持人的步骤)彼此之间的距离不相等,而且我d想要将这些数字范围内的值舍入到列表中最接近的数字.范围不重叠.
arbitrary.numbers <- c(4,10,15) / 10
numbers <- c(16:1 / 10, 0.39, 1.45)
range <- 0.1
Run Code Online (Sandbox Code Playgroud)
预期产量:
numbers
## 1.6 1.5 1.4 1.3 1.2 1.1 1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.39 1.45
round_to_nearest_neighbour_in_range(numbers,arbitrary.numbers,range)
## 1.5 1.5 1.5 1.3 1.2 1.0 1.0 1.0 0.8 0.7 0.6 0.4 0.4 0.4 0.2 0.1 0.4 1.5
Run Code Online (Sandbox Code Playgroud)
我有一个小助手功能,可能会对我的特定问题做,但它不是很灵活,它包含一个循环.我可以在这里发布,但我认为真正的解决方案看起来完全不同.
> numbers = rep(numbers,length.out = 1000000)
> system.time({ mvg.round(numbers,arbitrary.numbers,range) })[3]
elapsed
0.067
> system.time({ rinker.loop.round(numbers,arbitrary.numbers,range) })[3] …Run Code Online (Sandbox Code Playgroud) 我的书签可以从任何网站调用,基本上允许用户从远处向他的收藏中插入一行 - 如果他已登录.
现在我想为我的网站启用CSRF保护,因为书签基本上是非伪造的跨网站请求,我想到了我如何区别于伪造的.
这不是一个高安全性的环境,但我也对原则感兴趣.
我以为我有办法做到这一点,但后来意识到它有很多问题.
我根本没想到的一件事是Sripathi Krishnan建议使用iframe.
我没有指定我的用例,所以是的,iframe是上述问题的有效解决方案.
然而,实际上我的书签目前在运行时确实与网站进行了一些基本的交互(意味着表格已经存在,用户可以在网站DOM中更改他的选择,这应该改变表格).我已经准备好为我的用例解雇这个功能,如果事实证明,没有合理安全的方式来区分伪造的非伪造跨站请求 - 但我仍然对理论水平感兴趣.
我用德语中的所有文本启动了我的PHP应用程序,然后使用gettext提取所有字符串并将它们翻译成英语.
所以,现在我有一个.po文件,其中包含德语中的所有msgids和英语中的msgstrs.我想切换它们,以便我的源代码包含英文为msgids,原因有两个:
我可以手动执行此操作,这是一种任务,我预计它将花费更多时间为它编写一个自动例程(因为我对shell脚本非常糟糕)而不是手动执行.但我也期望鄙视手动计算机劳动的每一分钟(感觉就像矛盾,对吧?)就像我一直这样.
有人曾经这样做过吗?我认为这将是一个常见的问题,但找不到任何东西.非常感谢.
示例问题:
<title><?=_('Routinen')?></title>
#: /users/ruben/sites/v/routinen.php:43
msgid "Routinen"
msgstr "Routines"
Run Code Online (Sandbox Code Playgroud)
我以为我会把问题缩小..po文件中的开关当然没有问题,就像它一样简单
preg_replace('/msgid "(.+)"\nmsgstr "(.+)"/', '/msgid "$2"\nmsgstr "$1"/', $str);
Run Code Online (Sandbox Code Playgroud)
对我来说问题是在解析.po文件时搜索我的项目文件夹文件_('$msgid')并替换的例程_('msgstr')(在所有.po文件包含包含所有文件路径的注释之后,这可能不是最优雅的方式) msgstr发生).
之后鬼混与akirk的回答一点,我遇到了一些更多的问题.
_('xxx')和_("xxx")调用,所以我必须小心(un)转义.
msgid = """line 1\n""line 2\n"msgstr = """line 1\n""line 2\n" 我今晚必须停止工作.似乎仍然使用解析器而不是RegExps不会有点矫枉过正.
我有一个非常简单的问题,但我可能没有想到vector-y足以有效地解决它.我尝试了两种不同的方法,现在他们已经在两台不同的计算机上循环了很长时间.我希望我可以说比赛让比赛变得更加精彩,但是... ......
我有很长的数据(每人多行,每人观察一行),我基本上想要一个变量,告诉我这个人已经被观察过的频率.
我有前两列,想要第三列:
person wave obs
pers1 1999 1
pers1 2000 2
pers1 2003 3
pers2 1998 1
pers2 2001 2
Run Code Online (Sandbox Code Playgroud)
现在我正在使用两种循环方法.两者都非常缓慢(150k行).我确定我错过了一些东西,但我的搜索查询对我来说并没有真正帮助我(很难说出问题).
感谢您的任何指示!
# ordered dataset by persnr and year of observation
person.obs <- person.obs[order(person.obs$PERSNR,person.obs$wave) , ]
person.obs$n.obs = 0
# first approach: loop through people and assign range
unp = unique(person.obs$PERSNR)
unplength = length(unp)
for(i in 1:unplength) {
print(unp[i])
person.obs[which(person.obs$PERSNR==unp[i]),]$n.obs =
1:length(person.obs[which(person.obs$PERSNR==unp[i]),]$n.obs)
i=i+1
gc()
}
# second approach: loop through rows and reset counter at …Run Code Online (Sandbox Code Playgroud) 当使用后退按钮转到DOM已被修改的页面时,我对IE10中的这个问题感到惊讶:
对于行为1或2,我会很满意,但不是3:
因为我赶时间,所以如果有人在进行DOM修改后访问页面(这条信息存储在哈希中),我就强迫重新加载,这是一个非常愚蠢的解决方案(FF和Chrome不需要重装,但现在做).
一个建议是使用localStorage来记住状态,我猜这种功能也被归入history.js.
保持备用副本以便进行比较/以防状态未恢复似乎过度,特别是因为在我们的情况下这是一个可能会影响0.01%用户的问题.就我的目的而言,如果状态尚未完全保存在bfcache中,则强制重新加载就足够了.
我可以"简单地"检测是否存在一个包含所有状态的bfcache?如果是这样,当有人回到DOM被修改的页面时,我可以强制重新加载吗?
当导入在PHPExcel,PHPexcel方法谷歌表导出的.xlsx文件$worksheet->getHighestDataColumn(),并$worksheet->getHighestDataRow()都返回谷歌文档的最大集,包括完全空白单元格,这通常是26x1000.
在Google表格/ Excel中打开它们时,单元格与常规空Excel单元格一样空,即无空格.
也许谷歌表格使用略微不同的方法来"保留"列和行而不是Excel(即时生成它们).
我想获得最高的非空行,以便在循环遍历行时不会不必要地分配大量内存.尊重我正在使用的格式,我可以在空行中保存一些评估,但最后,我被迫简单地遍历所有行并检查所有单元格是否为空.
我编辑了这个问题,以澄清为什么我再次提出这个问题(我有弱Google-Fu,发现这些相当古老的1 2 3只是在发布后非常重复).
password = readline("Password: ")但当然密码最终以控制台中的明文形式出现(因此在控制台日志等中),所以不妨将它存储在纯文本配置文件中.system("stty -echo")在OS X Mavericks上运行会导致错误stty: stdin isn't a terminal,所以我想它不会特别便携.tcltk.有不幸的效果使Rstudio崩溃并且难以安装.我不知道任何使用PGP进行连接的R包?对于新手用户来说可能也有点困难.
我主要不是要求自己,但我想为非技术用户提供一些合理的默认设置,这些用户可能存储明文密码,可以访问Dropbox中的敏感数据.
与其他提出类似问题的人不同,如果我有更好的方法,我也可以改变服务器方面的问题.
我目前缺少最佳实践方法吗?我对交互式会话的关注是因为我认为大多数非技术类型都使用R,但当然如果它在例如knitr报告生成期间也能工作则会很好.
我想在调查框架中启用图像(和音频和视频)上传.为此,输入文件几乎足以满足我的需要.
在某些移动浏览器<input type="file" accept="image/*;capture=camera">上,让用户选择上传现有图片或拍摄新图片是一种非常简单的方法.当然,也提供了用于在图片中查看和选择的UI.
桌面浏览器没有走这条路.相反,一些相当不错的东西似乎可以使用getUserMedia().
我没有找到任何将收集的用户媒体上传到服务器的工作示例(例如,我通过这个答案找到了https://github.com/codepo8/interaction-cam/.它显示了视频,但没有捕获到我的Firefox并没有"意识到"它,它在Safari中根本不显示视频).我不确定这有多少是特定于硬件的(我的Macbook Air的相机已经在Chrome中打开/关闭了很长时间).
是否存在某种用于上传捕获图像的polyfill,如果出现故障/访问拒绝,可以回退到简单的文件输入?
我正在建立一个点探测任务(人们必须在图像消失后迅速对一个点做出反应)我们需要测量反应时间并显示预定间隔的刺激,以便在在线治疗研究中使用.
我们已经决定使用Javascript,我们愿意对用户施加一些限制,即排除IE等.但我们不能完全禁止Windows.
我阅读了John Resig关于该主题的帖子,根据这一点,除了Firefox和Chrome之外,我们必须禁止Windows上的所有浏览器.
此外,这个答案建议使用console.time();FF和Chrome作为最佳实践.
我有一些后续问题,考虑到Resig的帖子现在已经4年了,上面的问题是关于测量函数执行时间(这意味着执行代码偏移计时器是好的,不像我们的情况那样糟糕)而不是关于反应时间的研究.
以下类似的问题只是要求"最好的网络语言",并且只接受了使用JS的一揽子建议(这是几个已发表的研究所做的,但他们没有公布技术细节).
console.time()吗?我想不是,因为它只返回到控制台,即它无法在变量中捕获.我正在绘制使用避风港语义标记的数据,即变量和值具有通过属性定义的标签。
通常,这些标签也是我想要的轴标题和刻度。
library(ggplot2)
mtcars$mpg = haven::labelled(mtcars$mpg, labels = c("low" = 10, "high" = 30))
attributes(mtcars$mpg)$label = "miles per gallon"
ggplot(mtcars, aes(mpg, cyl)) + geom_point() +
scale_x_continuous(attributes(mtcars$mpg)$label,
breaks = attributes(mtcars$mpg)$labels,
labels = names(attributes(mtcars$mpg)$labels))
Run Code Online (Sandbox Code Playgroud)
我可以编写一个帮助程序,用更容易迭代的内容来替换费力的scale_x_continuous 语句吗?例如类似的东西
scale_x_continuous(label_from_attr, breaks = breaks_from_attr, labels = value_labels_from_attr)。或者甚至可以+ add_labels_from_attributes()更换整个东西?
我知道我可以编写/使用帮助程序,例如Hmisc::label稍微缩短上面的属性代码,但这不是我想要的。
javascript ×5
r ×4
php ×2
security ×2
time ×2
ajax ×1
bookmarklet ×1
caching ×1
csrf ×1
file-upload ×1
gettext ×1
getusermedia ×1
ggplot2 ×1
hash ×1
html5 ×1
jquery ×1
optimization ×1
parsing ×1
phpexcel ×1
poedit ×1
polyfills ×1
r-haven ×1
reflow ×1
regex ×1
repaint ×1
synchronize ×1