如果一个网页开头有什么区别
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
Run Code Online (Sandbox Code Playgroud)
如果页面以.开头
<!DOCTYPE html>
<html>
<head>
<!-- without X-UA-Compatible meta -->
Run Code Online (Sandbox Code Playgroud)
如果没有区别,我想我可以忽略X-UA-Compatible元头,因为我只想在所有IE版本中以大多数标准模式呈现它.
我想得到一个比另一个Date对象晚30分钟的Date对象.我如何使用JavaScript?
如何检查是否以跨浏览器的方式定义了JavaScript变量?
在使用FireBug日志记录编写一些JavaScript时遇到了这个问题.我写了一些代码如下:
function profileRun(f) {
// f: functions to be profiled
console.profile(f.constructor);
f();
console.profileEnd(f.constructor);
}
Run Code Online (Sandbox Code Playgroud)
它在FireFox/FireBug中工作正常,但它在IE8 RC1中报告错误.所以,我想检查执行环境中是否存在控制台变量.
下面的代码在FireFox中工作正常,但在IE8 RC1中没有.
function profileRun(f) {
if (console != undefined) {
console.profile(f.constructor);
}
f();
if (console != undefined) {
console.profileEnd(f.constructor);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我这样做的话.它适用于IE8 RC1.为什么?
function profileRun(f) {
if (window.console != undefined) {
console.profile(f.constructor);
}
f();
if (window.console != undefined) {
console.profileEnd(f.constructor);
}
}
Run Code Online (Sandbox Code Playgroud)
是否有任何跨浏览器的方式来检查它?
Web浏览器中的操作F5和Ctrl + F5触发器是否有标准?
我曾经在IE6和Firefox 2.x中做过实验.的F5 刷新将触发发送到服务器与HTTP请求If-Modified-Since报头,而Ctrl + F5不会具有这样的标题.在我的理解中,F5 将尝试尽可能多地利用缓存内容,同时Ctrl + F5 旨在放弃所有缓存内容,并再次从服务器中检索所有内容.
但是今天,我注意到在一些最新的浏览器(Chrome,IE8)中它不再以这种方式工作了.双方F5并Ctrl + F5发送If-Modified-Since头.
那么这应该如何工作,或者(如果没有标准)主要浏览器如何实现这些刷新功能?
他们俩都应该引用同一个对象吗?
我遇到了一个关于C#的有趣问题.我有如下代码.
List<Func<int>> actions = new List<Func<int>>();
int variable = 0;
while (variable < 5)
{
actions.Add(() => variable * 2);
++ variable;
}
foreach (var act in actions)
{
Console.WriteLine(act.Invoke());
}
Run Code Online (Sandbox Code Playgroud)
我希望它输出0,2,4,6,8.但是,它实际输出5个10.
似乎是由于所有操作都涉及一个捕获的变量.结果,当它们被调用时,它们都具有相同的输出.
有没有办法解决这个限制,让每个动作实例都有自己的捕获变量?
我正在编写代码来进行Xml序列化.具有以下功能.
public static string SerializeToXml(object obj)
{
XmlSerializer serializer = new XmlSerializer(obj.GetType());
using (StringWriter writer = new StringWriter())
{
serializer.Serialize(writer, obj);
return writer.ToString();
}
}
Run Code Online (Sandbox Code Playgroud)
如果参数是没有无参数构造函数的类的实例,它将抛出异常.
未处理的异常:System.InvalidOperationException:CSharpConsole.Foo无法序列化,因为它没有无参数构造函数.System.Xml.Serialization.ModelScope.GetTypeModel的System.Xml.Serialization.TypeScope.GetTypeDesc(Type type,MemberInfo sourc e,Boolean directReference,Boolean throwOnError)中的System.Xml.Serialization.TypeDesc.CheckSupported()处于类型类型, System.Xml.Serialization上的System.Xml.Serialization.XmlSerializer..ctor(Type type,String defaultName space)中System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping(Type type,XmlRootAttribute root,String defaultNamespace)的布尔直接引用. XmlSerializer..ctor(类型类型)
为什么必须有一个无参数构造函数才能使xml序列化成功?
编辑:感谢cfeduke的回答.无参数构造函数可以是私有的或内部的.
我需要创建一个包含多个其他DIV的容器DIV样式.如果浏览器窗口调整为狭窄,则会询问这些DIV不会换行.
我试着让它像下面这样工作.
<style>
.container
{
min-width: 3000px;
overflow: hidden;
}
.slide
{
float: left;
}
</style>
<div class="container">
<div class="slide">something</div>
<div class="slide">something</div>
<div class="slide">something</div>
<div class="slide">something</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这适用于大多数情况.但是,在某些特殊情况下,渲染不正确.我发现容器DIV在IE7的RTL中变为3000px宽度; 它变得凌乱.
有没有其他方法可以让容器DIV不包装?
我被告知要防止用户信息泄露,只有"无缓存"的响应是不够的."无商店"也是必要的.
Cache-Control: no-cache, no-store
Run Code Online (Sandbox Code Playgroud)
在阅读本规范http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html后,我仍然不太清楚为什么.
我目前的理解是它只适用于中间缓存服务器.即使"无缓存"作为响应,中间缓存服务器仍然可以将内容保存到非易失性存储.中间缓存服务器将决定是否使用保存的内容进行后续请求.但是,如果响应中存在"no-store",则不应该在中间缓存服务器上存储内容.所以,它更安全.
还有其他原因我们需要"无缓存"和"无商店"吗?
我没有参加PDC 2008,但我听到一些消息称C#4.0被宣布支持Generic协方差和反差异.也就是说,List<string>可以分配给List<object>.怎么会这样?
在Jon Skeet的C#深度书中,解释了为什么C#泛型不支持协方差和反方差.它主要用于编写安全代码.现在,C#4.0改为支持它们.它会带来混乱吗?
有人知道有关C#4.0的细节可以给出一些解释吗?