小编Mor*_*eng的帖子

从排序字符串数组中找到第一个前缀匹配的最有效算法?

输入:

1)一个巨大的字符串SA排序数组;

2)前缀字符串P;

输出:

与输入前缀匹配的第一个字符串的索引(如果有).如果没有这样的匹配,则输出将为-1.

示例:SA = {"ab","abd","abdf","abz"} P ="abd"输出应为1(索引从0开始).

做这种工作的算法最简单的方法是什么?

arrays sorting string algorithm search

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

如何让DIV无法聚焦?

我遇到了关于HTML呈现的问题.

在IE7的dir ="rtl"文档中,当JavaScript尝试将焦点设置为DIV元素(使用oElement.focus()方法)时,渲染变为混乱.上下文非常复杂,所以我认为最简单的解决方法是使DIV无法对焦?

有什么方法可以让DIV无法集中注意力吗?

html javascript focus

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

GMail如何实施Comet?

在HttpWatch的帮助下,我试图找出GMail如何实现Comet.

我使用两个帐户登录GMail,一个在IE中,另一个在Firefox中.在GMail中使用"WASSUP"等一些神奇的词语在GMail中聊天.然后,我注销两个GMail帐户,过滤任何http内容而不使用"WASSUP"字符串.结果显示哪个HTTP请求是流式传输通道.(注意:我必须注销.否则,永无止境的HTTP不会在HttpWatch中显示内容.)

结果很有趣.流通道的URL如下:

https:// mail/channel/bind?VER = 8&at = xn3j33vcvk39lkfq .....

毫无疑问,GMail使用IFRAME进行IE浏览.Http内容以" <html><body>" 开头.

最初,我猜测GMail在Firefox中使用多部分XmlHttpRequest进行Comet.令我惊讶的是,响应标头没有"multipart/x-mixed-replace"标头.响应标头如下:

HTTP/1.1 200 OK
Content-Type: text/plain; charset=utf-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Date: Sat, 20 Mar 2010 01:52:39 GMT
X-Frame-Options: ALLOWALL
Transfer-Encoding: chunked
X-Content-Type-Options: nosniff
Server: GSE
X-XSS-Protection: 0
Run Code Online (Sandbox Code Playgroud)

不幸的是,HttpWatch不会告诉HTTP请求是否来自XmlHttpRequest.内容不是HTML而是JSON.它看起来像是对XHR的响应,但是如果没有multipart/x-mixed-replace,这对Comet不起作用,对吗?

还有什么办法可以弄清楚GMail如何实现Comet?

更新: 经过进一步调查,我相信GMail以这种方式实现了Comet:1)在IE中,它使用了forever-hidden-iframe; 2)在Firefox中,它使用forever-XHR而不使用multipart/x-mixed-replace标头.客户端将在条件(readyState == 3)OR(readyState == 4)中响应.也就是说,处于交互状态和完整状态.

gmail comet httpwatch

14
推荐指数
1
解决办法
4036
查看次数

如何在StackOverflow中设置代码颜色?

StackOverflow最受欢迎的功能是它可以自动检测post中的代码并为代码设置合适的颜色.

我想知道颜色是如何设置的.当我在页面上执行Ctrl+ F5时,代码似乎首先是黑色文本,然后变为丰富多彩.它是由jQuery完成的吗?

javascript syntax-highlighting

13
推荐指数
2
解决办法
1461
查看次数

如何检测当前页面的浏览器渲染模式?

我知道现代浏览器通常有两种渲染模式:标准模式和怪异模式.浏览器检测标题DocType.

问题是如何在运行时检测当前页面的渲染模式.有没有Firebug工具呢?

javascript browser standards render mode

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

如何在动态类型的C#4.0中调用静态方法?

在C#4.0中,我们有动态类型,但是如何调用动态类型对象的静态方法?

下面的代码将在运行时生成异常.该动态对象是从C#类,但它可能是从通过DLR其他语言的对象.关键不在于如何调用静态方法,而是如何调用无法在C#代码中创建的动态对象的静态方法.

class Foo
{
    public static int Sum(int x, int y)
    {
        return x + y;
    }
}

class Program
{

    static void Main(string[] args)
    {
        dynamic d = new Foo();
        Console.WriteLine(d.Sum(1, 3));

    }
}
Run Code Online (Sandbox Code Playgroud)

恕我直言,动态是发明桥接C#和其他编程语言.还有一些其他语言(例如Java)允许通过对象而不是类型来调用静态方法.

顺便说一下,与C#3.0相比,C#4.0的引入并不那么令人印象深刻.

.net c# dynamic c#-4.0

13
推荐指数
3
解决办法
9631
查看次数

为什么document.write会损害Web性能?

我被告知应该在网页中避免使用document.write,因为它会损害网页性能.但究竟是什么原因呢?

javascript performance

13
推荐指数
2
解决办法
3167
查看次数

如果脚本标记同时包含"src"和内联脚本,该怎么办?

我想知道如果一个脚本标签同时具有"src"和内联脚本.我试过下面的代码.

<script src="http://yui.yahooapis.com/2.8.1/build/yahoo/yahoo-min.js" type="text/javascript" charset="utf-8">
         alert('hello');
</script>
<script type="text/javascript" charset="utf-8">
         alert(YAHOO);
</script>
Run Code Online (Sandbox Code Playgroud)

它似乎从未在Firefox和Chrome中执行过"alert('hello')".我试图将src更改为指向不存在的URI."alert('hello')"也没有被执行.

那么,如果脚本标记中有src属性,则始终会忽略内联脚本?

javascript inline-scripting

13
推荐指数
1
解决办法
4545
查看次数

ASP.NET MVC OutputCache不适用于根URI

我正在学习ASP.NET MVC并且被一个问题所困扰.

在HomeController中,Index操作具有OutputCache属性,但似乎不起作用.

[HandleError]
public class HomeController : Controller
{
    [OutputCache(Duration=5, VaryByParam="none")]
    public ActionResult Index()
    {
        ViewData["Title"] = "Home Page" + DateTime.Now;
        ViewData["Message"] = "Welcome to ASP.NET MVC! " + DateTime.Now;

        return View();
    }
}
Run Code Online (Sandbox Code Playgroud)

经过几分钟的尝试,我发现这是由于我访问动作的方式.如果我通过" http:// localhost:3573 / " 访问它,则outputcache不起作用.但是,如果我使用" http:// localhost:3575/Home/Index " 访问它,则outputcache可以正常工作.

任何人都知道任何解决方法,使默认的控制器 - 动作outputcacheable?

谢谢.

asp.net-mvc action outputcache controller

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

minify和concatenate的顺序是否会对批量的JavaScript/CSS文件产生影响?

要减少http请求并缩小静态文件下载,建议连接并缩小单页使用的所有JavaScript/CSS文件.

它有所不同吗?

1)缩小所有javascript文件,然后连接它们;

2)连接所有javascript文件,然后缩小它们.

javascript compression concatenation

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