小编Dan*_*ola的帖子

HTML5历史记录API:当"返回"到另一个页面时显示JSON,然后再次"转发"

我有一个页面,其中有几个搜索/过滤按钮,当点击时,通过AJAX刷新下面列表的内容.

在这个过程中,我正在修改历史记录(通过pushstate),以便新的过滤页面可以添加书签,因此后退按钮可以正常工作.我也在听popstate事件,对Back做出反应.

我的代码看起来或多或少像这样:

window.addEventListener("popstate", function(ev) {
  if (!window.history_ready) { return; } // Avoid the one time it runs on load 
  refreshFilter(window.location.href, true);
});

refreshFilter: function(newURL, backButtonPressed){
  $.ajax({ url: newURL}).done( blah );

  if (!backButtonPressed) {
    window.history_ready = true;
    history.pushState(null, null, newURL);
  }
}
Run Code Online (Sandbox Code Playgroud)

除了一个奇怪的案例外,这种方法效果很好......

  • 用户在页面"A"
  • 他们点击一个链接转到这个播放历史的页面(让我们称之为"B")
  • 他们运行几个过滤器,然后按回几次,所以他们回到初始状态"B"
  • 他们再次单击Back,将它们发送回"A"
  • 此时,如果他们按下Forward,而不是再次向服务器请求Page"B",浏览器只显示一堆JSON代码作为页面内容(这个JSOn是我的一个AJAX请求的响应)过滤东西)

至少在最新的Chrome中

为什么会发生这种情况,我该如何避免呢?

html5 back-button browser-history html5-history

12
推荐指数
2
解决办法
2873
查看次数

如何浏览ActiveX DLL的类和方法?

基本上,我想要的是能够探索ActiveX DLL.我通常启动VB 6,将DLL添加到项目的"引用",并使用对象资源管理器.

但是,在这个特定的机器上我无法安装VB/VS.
我确信有一个工具可以做到这一点.有谁知道吗?

谢谢

dll explorer activex

11
推荐指数
3
解决办法
2万
查看次数

什么是SQL Server 2005中带挂锁图标的存储过程?

我在一个我管理的数据库中看到了一些存储过程,它们有常规的存储过程图标,但旁边有一个小挂锁.
我看到的差异是我无法"修改"它们,如果我尝试编写脚本,它会说:

文字是加密的.

这是因为这些是CLR存储过程吗?
它们是"常规"程序,但以某种方式加密/保护?
有没有办法获得那些代码(T-SQL或IL)?

stored-procedures locking sql-server-2005

11
推荐指数
2
解决办法
2万
查看次数

有没有办法过滤SQL事件探查器跟踪?

我正在尝试使用SQL事件探查器解决此问题(SQL 2008)

在生产中运行跟踪几天后,最后再次发生错误,现在我正在尝试诊断原因.问题是跟踪有400k行,其中99.9%来自"报表服务器",我甚至不知道为什么会这样,但它似乎每秒都在ping SQL Server ......

有没有办法从跟踪中过滤掉一些记录,以便能够查看其余的记录?
我可以使用当前的.trc文件执行此操作,还是必须再次运行跟踪?
是否有其他应用程序可以查看可以为我提供此功能的.trc文件?

trace filter sql-server-profiler sql-server-2008

11
推荐指数
1
解决办法
2万
查看次数

设置已存在的memcached密钥是否会刷新到期时间?

假设我有以下代码:

Memcached->set('key', 'value', 60); (expire in one minute)

while (1) {
    sleep 1 second;
    data = Memcached->get('key');
    // update data
    Memcached->set('key', data, 60);
}
Run Code Online (Sandbox Code Playgroud)

在循环60次迭代之后,密钥是否会过期,当读取它时,我会得到一个NULL?或者连续设置是否会在最后一次设置后每次持续推迟到期时间1分钟?

文档提到了这一点,我在不同的环境中对此进行了测试,我很确定我得到了不同的结果.

memcached

11
推荐指数
2
解决办法
9452
查看次数

.Net 2.0 - 通用列表的效率如何?

我正在创建一个应用程序,它在内存中保存大量用户数据,并且它主要是将它保存在List <T>结构中(当我需要查找时,还有一些Dictionary <T,T>).

而且我想知道......

列表效率如何?我可以为每个人获得多少内存开销?(也就是说,除了它们包含的对象之外,还有内存空间)每次实例化时,我需要支付多少惩罚?

有更有效的方法吗?

字典只是HashTables,对吧?或者它们是效率较低的数据结构?

我想使用Arrays,但是我有一个典型的问题就是一直在添加和删除它们,所以不得不增长/缩小它们会很痛苦.

有什么想法/建议吗?


编辑:我知道我的基本数据结构101,以及为什么链接列表更适合添加/删除,而HashTable更适合随机访问.

我最关心的是.Net的idionsyncracies.例如,每个结构浪费了多少内存.浪费时间来初始化/杀死它们.

例如,如果它需要花费大量时间来实例化/ GC列表,但清除它并不多,也许我应该保留一小部分列表等待我,并清除它们并将它们发送回池中完成后,而不是简单地解除引用它们.

或者,如果Hashtables访问速度更快但浪费了大量内存,我可能更喜欢使用Lists并遍历它们,以获得小项目数.

而且我也非常希望专注于内存使用,因为我的应用程序非常耗费内存(想想memcached)...有谁知道我在哪里可以找到这样的信息?

.net memory generics performance list

9
推荐指数
1
解决办法
1502
查看次数

在提示onBeforeUnload后检测用户是否停留

在我正在处理的网络应用程序中,我正在捕获onBeforeUnload以询问用户他是否真的要退出.

现在,如果他决定留下来,我想做很多事情.我想弄清楚的是他实际上选择了留下来.

我当然可以声明一个SetTimeout为"x"秒,如果它触发,那么这意味着用户仍然在那里(因为我们没有被卸载).问题是用户可以花时间决定是否留下来......

我首先希望在对话框显示时,SetTimeout调用不会触发,所以我可以设置一个短暂的超时,并且只有在用户选择留下时它才会触发.但是,在显示对话框时发生超时,因此不起作用.

我尝试的另一个想法是在窗口/文档上捕获mouseMoves.在显示对话框时,mouseMoves确实不会触发,除了一个真正适用于我的情况的奇怪异常,因此也不起作用.

谁能想到其他方法呢?

谢谢!


(如果您好奇,捕获mouseMove不起作用的原因是我的页面中有一个IFrame,其中包含来自另一个域的网站.如果在卸载页面时,焦点位于IFrame内,对话框显示,然后当鼠标从IFrame内部移动到外部时(至少在Firefox中),我得到MouseMove事件触发ONCE.这可能是一个bug,但是,很可能在我们的情况下会发生,所以我不能用这种方法).

javascript onbeforeunload

9
推荐指数
1
解决办法
7857
查看次数

本地网页中的ActiveX内容,以及"网络标记"

我正在尝试创建一个人们将从本地硬盘驱动器运行的网页,此页面将显示.wmv视频(也存储在本地),使用Windows Media Player

当我运行它时,IE向我显示顶部的"ActiveX警告"栏,这是我正在尝试解决的问题.如果我从Web服务器加载它,它加载正常,但从本地磁盘,它不会.

现在,显然,MS已经准确地添加了Web标记,以解决这个问题,然而,我已经尝试了一段时间才能使它工作,而事实并非如此.我仍然得到警告栏.

网络标记应该仍然有效吗?或者这是某种被弃用的东西?
我做错了吗?我应该遵循所有说明,它看起来像:

我已经尝试将它放在DOCTYPE之前,在DOCTYPE和<HTML>之间,紧跟在<HTML>之后,在文档的<HEAD>中等等.似乎没什么用.

我在IE7和IE8中试过这个

任何想法都将非常感激.

谢谢!!

internet-explorer mark-of-the-web

9
推荐指数
1
解决办法
7254
查看次数

生产中间歇性的"自动加载时检测到循环依赖性"错误

我有一个Rails项目,它不时地以不可重现的方式在生产中抛出此异常.一切都在开发和测试中很好用,而且显然也在生产中,但ExceptionNotifier每隔几周都会通过电子邮件向我发送此异常...

我不知道发生了什么,所以我将尽可能多地转储有关我的环境的信息,希望其中一些可以帮助排除故障.

  • Ruby 2.1.5
  • Rails 4.2.1
  • 使用常规Ruby解释器(即不是JRuby)在Heroku中运行

完整的错误是:

"Circular dependency detected while autoloading constant DeferredUpdatesHelper"
Run Code Online (Sandbox Code Playgroud)

DeferredUpdatesHelper是这样定义的模块lib/deferred_updates_helper.rb:

module DeferredUpdatesHelper
  def self.something_something(params)
  end
end
Run Code Online (Sandbox Code Playgroud)

我想不出这个模块有什么依赖.它非常简单,据我所知,它需要的是一个名为$ RedisPool的全局变量,因此不确定如何存在循环依赖...

该模块用于我的一个模型: models/user.rb

class User < ActiveRecord::Base
  def self.process_deferred_something
    DeferredUpdatesHelper.something_something(params) do
      # do stuff
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

从ActiveJob调用该方法:

class SomeJob < ActiveJob::Base
  queue_as :default

  def perform
    User.process_deferred_something
  end
end
Run Code Online (Sandbox Code Playgroud)

这是在Sidekiq流程中执行的,它每隔10分钟就会非常愉快地运行,除了偶尔我会得到其中一个......

在任何require地方都没有声明,或者至少在任何这些提到的文件中都没有声明......如上所述,在开发中一切都正常.

堆栈跟踪:

/app/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:492:in `load_missing_constant'
/app/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:184:in `const_missing'
/app/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:526:in `load_missing_constant'
/app/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:184:in `const_missing'
/app/app/models/user.rb:93:in `process_deferred_something'
/app/app/jobs/some_job.rb:5:in `perform'
/app/vendor/bundle/ruby/2.1.0/gems/activejob-4.2.1/lib/active_job/execution.rb:32:in `block in perform_now'
/app/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.1/lib/active_support/callbacks.rb:117:in `call'
/app/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.1/lib/active_support/callbacks.rb:117:in `call' …
Run Code Online (Sandbox Code Playgroud)

circular-dependency autoload ruby-on-rails-4

9
推荐指数
1
解决办法
1134
查看次数

如何在SQL Server中以编程方式创建数据库?

如何从C#应用程序创建新数据库?

我假设一旦我创建它,我可以简单地生成连接字符串并连接到它,并发出所有CREATE TABLE语句.

.net sql-server

8
推荐指数
1
解决办法
451
查看次数