草庐IT

灾难恢复

全部标签

javascript - HTML 修改后无法恢复选择,即使是相同的 HTML

我正在尝试存储对contentEditable元素的选择并在以后恢复它。我想观察paste事件并像以前一样存储HTML,清除html,然后在选定位置手动插入粘贴的文本并进行一些更改。看看这个例子:jsfiddle.net/gEhjZ当您选择文本的一部分时,点击store,再次删除选择并点击restore,它按预期工作。但是当您第一次点击store时,然后通过点击overwritehtml将HTML替换为完全相同的HTML,然后尝试restore,没有任何反应。我认为使用.cloneRange()会有所作为,但事实并非如此。即使对象的深拷贝($.extend(true,{},oldRan

javascript - 一种在覆盖后恢复 native 转义功能的方法?

我不知道你可以这样做,直到我在一个麻烦的错误上撞到墙上,最后发现我们失败了,因为一些jquery插件覆盖了转义函数。所以这将发出警报并记录为空:escape=function(a){alert(a)}document.write(escape("Needtips?VisitW3Schools!"));太棒了!(不是)。有没有办法恢复原生的转义功能? 最佳答案 创建一个iframe并从中获取函数:functionretrieveNative(native){variframe=document.createElement('ifram

javascript - 在 D3.js 中注销缩放监听器并恢复滚动能力

我目前正在使用D3.js。这是为我的svg标签注册缩放监听器的代码varzoomListener=d3.behavior.zoom().scaleExtent([0.1,3]).on("zoom",zoom);functionzoom(){vis.attr("transform","translate("+d3.event.translate+")scale("+d3.event.scale+")");}svg.call(zoomListener)现在,当我在svg元素上滚动鼠标时,它会被缩放。但是当我像这样解除绑定(bind)缩放事件时zoomListener.on("zoom",n

javascript - 检测 Chrome 是否恢复了昨天的页面

我有一个带有日期输入字段的表单。如果加载页面,输入将填充当前日期。但是,如果Chrome启动并恢复了昨天最后打开的标签页,那么表格中总是有昨天的日期。如果我重新加载页面,它会显示正确的日期。但我希望Chrome立即显示当前日期。有什么解决办法吗?更新:页面设置为cache-control:no-cache,private。 最佳答案 我在页面上放置了一个日期字段和一个JavaScript。原来页面是从缓存中加载的。表单中仍有昨天的日期,JavaScript的执行方式与页面加载时相同。如果我比较日期,我可以检测到旧页面://Dayco

javascript - 在修改 innerHTML 后保存/恢复对 contentEditable 的选择

我知道在contentEditable中获取/设置光标位置几乎是不可能的。我不在乎知道这些信息。我需要能够保存当前选择,修改div的innerHTML,然后恢复选择。我一直在试验contenteditableselectedtextsaveandrestore提供的答案.它在输入div后起作用,但在以编程方式修改div的innerHTML后不起作用。相反,当我调用restoreSelection时,插入符号只是转到开头。任何关于如何在修改innerHTML而不是键入后能够保存/恢复contentEditable上的选择的建议将不胜感激。 最佳答案

javascript - Socket.io 从断开连接中恢复

我在Socket.io中与服务器和客户端聊天。客户端向服务器发送消息或从服务器接收消息。为了测试断开连接事件,我拔出以太网插头并在几秒钟后重新连接。之后,从客户端发送消息仍然正常,所有之前在断开连接期间发送的消息都在Chrome和Firefox上成功重新发送。然而,对于接收,Chrome是可以的,但对于不再从服务器接收消息的Firefox则不行。问题是我该怎么做才能正确处理此类网络问题并使我的聊天更稳定? 最佳答案 如文档中所述和您所说的,套接字应该正常重新连接。由于您可以发送消息,因此您似乎已重新连接到一半。有几个事件值得您添加以

javascript - jQuery 自动完成 - IE8 问题 - 此选项卡已恢复

我遇到了jQueryUI的问题-自动完成和IE8。我正在使用combobox方法,您可以在jQueryUI网站上找到它-here基本上,它是从select/option列表中创建自动完成输入+选择菜单。我正在使用jQuery1.6.4和jQueryUI1.8.16;都来自谷歌服务器。它在Chrome/FF/Opera上运行完美,但在IE8上不运行。在IE8上——一旦你选择了一些东西(在输入后),或者使用下拉按钮,IE将重新加载页面。请注意,除非您使用箭头或尝试选择某些内容,否则IE不会崩溃。res://ieframe.dll/acr_error.htm#,在URL中,实际路径前面或消息

javascript - 如何使用无限循环恢复 JSFiddle 中未保存的 JS 更改?

这个问题在这里已经有了答案:Cancelinfiniteloopexecutioninjsfiddle(8个答案)关闭7年前。我不小心在JSFiddle中创建了一个无限循环,因此页面没有响应。我有一段时间没有保存了,所以我不想重新加载并丢失更改。我正在使用Chrome,但已经二十分钟了,Chrome还没有捕捉到循环并让我有机会结束脚本。我确实打开了开发者控制台,但它的响应不是很好。Chrome是否在硬盘驱动器上的某处有我的代码的本地副本?

javascript - 从错误中恢复

在我因为如此鲁莽地尝试做事而被大吼大叫之前,让我告诉你,我在现实生活中不会这样做,这是一个学术问题。假设我正在编写一个库,并且我希望我的对象能够根据需要组成方法。例如,如果你想调用一个.slice()方法,而我没有,那么window.onerror处理程序会为我触发它不管怎样,我都玩过这个herewindow.onerror=function(e){varmethod=/'(.*)'$/.exec(e)[1];console.log(method);//slicereturnArray.prototype[method].call(this,arguments);//notevenal

javascript - 恢复属性键/值

我正在使用--harmony标志在Node.JSv0.11.4中使用ECMAScript6符号和映射。请考虑以下事项。vara=Map();a.set(Symbol(),'Noise');//Prints"1"console.log(a.size);如果属性由保证唯一的“匿名”符号键标识,是否可以检索值'Noise'? 最佳答案 不可能在node.js中执行此操作,因为当前版本的v8尚未实现此bugreport中指示的迭代.我们可以通过查看v8的源代码来确认collection.js:InstallFunctions($Map.pr