我们要求尽可能准确地缓存网页,以便我们可以返回并查看以前任何时间点的页面版本.我们希望能够以正确的css,javascript,图像等方式查看页面.
是否有任何操作系统库(任何语言)可以获取页面,下载所有外部链接的资产并重新编写链接,以便它们指向本地缓存的资产?
或者这是一个滚动我们自己的案例?
谢谢
编辑:我意识到,如果不渲染动态生成的链接等,除非我们进行DOM渲染,否则这不可能100%实现.但是暂时我们可能没有这个.
起初我认为哈希黑客是一个要求,但从Facebook最近的更新来看,我正在考虑其他方面.
原始哈希黑客(我不确定这是否是正确的术语)是通过更改location.hash,可以在URL中保存状态而不刷新页面.谷歌的应用程序和Facebook以及最近的#NewTwitter广泛使用它.然而今天我注意到,如果你使用"现代"浏览器(如chrome或firefox),Facebook将不再拥有这个"#".我分别使用开发人员工具和firebug检查了他们没有重新加载.
使用stackoverflow中的最小搜索,最接近解决方案的是使用Flash - 但是我禁用了Flash,而facebook.com仍然像魅力一样.从chrome 8 dev和firefox 4 beta的覆盖范围来看,我不知道这可能与HTML5时代的API有关,但Facebook中的代码不是我调试的能力,无法找出他们做了什么.
因为这就像我在这里提出的第一个问题,我想知道你们中是否有人已经解决了这个问题.
多谢你们.
PS无法在IE8上运行,尚未在IE9测试版上测试过.
我有一个Rails 2.3.8应用程序,其动作可以从数据库中提取大量数据,并在300-600个部分中呈现它(递归渲染树型结构).对一个请求进行基准测试可以使我的响应时间大约为7秒.
我认为将我的Ruby版本从1.8升级到1.9会给我带来性能提升,但是当我对1.9版本进行基准测试时,我的响应时间大约为9秒(比1.8慢2秒).这对我来说非常令人惊讶.
哪些因素会导致Ruby 1.9执行速度比Ruby 1.8慢?
下面是日志文件的一部分.
Ruby 1.8
Rendered family_index/descendants/_fi_hover (0.5ms)
Rendered family_index/descendants/_descendant (4.6ms)
Rendered search/_search_div (0.1ms)
Rendered family_index/descendants/_fi_hover (0.7ms)
Rendered family_index/descendants/_descendant (4.7ms)
Rendered search/_search_div (0.1ms)
Rendered family_index/descendants/_fi_hover (0.5ms)
Rendered family_index/descendants/_descendant (4.5ms)
Rendered family_index/descendants/_fi_hover (0.5ms)
Rendered family_index/descendants/_descendant (37.9ms)
Rendered family_index/surname_groups/_pedigree (3162.9ms)
Rendered shared/_headers (4.6ms)
Rendered shared/_new_messages (0.6ms)
Rendered shared/_home_logo (1.1ms)
Rendered shared/_login_box (4.0ms)
Rendered shared/_navigation (13.6ms)
Rendered shared/_flash_messages (0.8ms)
Rendered shared/_footer (1.0ms)
Rendered shared/_analytics (0.8ms)
Completed in 4552ms (View: 3352, DB: 147) | 200 OK [http://localhost/family_index/surname_groups/31]
Run Code Online (Sandbox Code Playgroud)
Ruby 1.9
Rendered …Run Code Online (Sandbox Code Playgroud) public string Foo(object obj) {
return null;
}
public string Foo(string str) {
return null;
}
var x = Foo((dynamic) "abc");
Run Code Online (Sandbox Code Playgroud)
为什么x动态,编译器不够智能或者我错过了重要的东西?
任何人都可以告诉我为什么word-wrap: break-word不能在IE8中工作?
我有这个在其他浏览器工作,但IE8拒绝听,尽管在他们的网站上阅读这篇文章?
http://msdn.microsoft.com/en-us/library/ms531186(VS.85).aspx
谢谢
我有这个:
<meta name="description" content="NEED_TO_UPDATE_THIS" />
<meta name="keywords" content="" />
Run Code Online (Sandbox Code Playgroud)
我需要使用jQuery更新名称="description"的元标记的内容.如何使用选择器选择该标签的内容属性?
谢谢
我正在使用Sortable jQuery UI来允许用户拖放表行.这允许用户根据他们的偏好对表中的项进行排名.一旦用户完成了他的列表的订购,他们就会按下一个执行Ajax调用的保存按钮.新排名将保存到数据库中,表格将简要介绍.
我现在添加了一个额外的按钮,可以将项目直接发送到列表顶部.它也是ajax.它的工作原理非常好,除了我想要添加一个过渡效果,其中的意思<tr>会脱离并将自身拖到表的顶部,然后将下面的行向下推.这可能吗?这是我正在使用的代码:
此代码处理从"拖放"功能保存对数据库的更改的调用:
<input type="button" value="Save Queue" id="saveButton" class="list-button">
$(document).ready(function(){
$("#sortable").sortable();
$("#saveButton").click(persist);
});
// Persist function (save order)
function persist() {
var data = $("#sortable").sortable('toArray');
$.ajax({
traditional: true,
url: "/gz/index.cfm/membros/rankListByAjax?order="+data,
type: "POST",
success: function(msg){
$("#sortable tr").effect("highlight", {}, 1000);
}
});
}
Run Code Online (Sandbox Code Playgroud)
以下代码是我添加的新"发送项目到顶部"按钮.这是我希望过渡发生的时间:
<form ...onsubmit="
$.ajax({
dataType: 'script',
type: 'post',
url: '/gz/index.cfm?controller=membros&action=send-item-to-top&key=1082&format=js&modType=replace',
data: $(this).serialize(),
success: function(data, textStatus){$(this).attr('disabled','false');},
beforeSend: function(XMLHttpRequest){$(this).attr('disabled','true');}}); return false;" text="↑">
Run Code Online (Sandbox Code Playgroud) 根据Moose最佳实践文档,我的Moose类应该如下所示:
package Person;
use Moose;
use namespace::autoclean;
# extends, roles, attributes, etc.
# methods
__PACKAGE__->meta->make_immutable;
1;
Run Code Online (Sandbox Code Playgroud)
请参阅Moose :: Manual :: BestPractices.
99%的时间这是我想要的,所以有没有办法让我的命名空间自动清理,我的类默认为不可变,所以我不必让这个代码混乱?
也许有一个技术上的原因,为什么它不可能或为什么不应该这样做?
谢谢
如果使用64位UNIX操作系统,将数组大小定义为8的倍数是否有任何优势?我打算使用此数组从共享内存加载数据.因此,操作系统和页面大小可能存在依赖关系.
我有一个存储过程有一个BEGIN TRANSACTION和COMMIT TRANSACTION语句.在事务内是一个选择查询WITH(XLOCK, ROWLOCK).
如果提供了超出边界值的某些计算导致算术溢出错误,则事务可能会失败.在任何插入/更新语句之前都会发生此错误.
我的问题是,我应该将事务包装在TRY/CATCH和回滚中,还是这不是真正需要的,如果事务失败,所有锁都会自动释放?我唯一担心的是,在事务失败的情况下,SQL不会释放事务的所有锁.
谢谢,
汤姆