小编Toj*_*oji的帖子

CSS 100%高度,填充/边距

这让我疯狂了好几天了,但实际上这是我在过去几年中一直存在的问题:使用HTML/CSS我怎样才能制作出具有宽度和/或宽度的元素高度是它的父元素的100%,仍然有适当的填充或边距?

所谓"适当的"我的意思是,如果我的父元素是200px高大的,我指定height = 100%padding = 5px我所期望的,我应该得到一个190px高的元素与border = 5px所有各方,很好地集中在父元素.

现在,我知道那不是标准盒子模型指定它应该如何工作(虽然我想知道为什么,确切地说......),所以明显的答案不起作用:

#myDiv {
    width: 100%
    height: 100%;
    padding: 5px;
}
Run Code Online (Sandbox Code Playgroud)

但在我看来,必须有一些方法可以为任意大小的父母可靠地产生这种效果.有谁知道完成这个(看似简单)任务的方法?

哦,为了记录,我对IE兼容性并不十分感兴趣,所以应该(希望)让事情变得更容易一些.

编辑:自从一个例子被要求,这是我能想到的最简单的一个:

<html style="height: 100%">
    <body style="height: 100%">
        <div style="background-color: black; height: 100%; padding: 25px"></div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

接下来的挑战是让黑盒子在所有边缘都显示25像素的填充,而页面不会变得足够大以至于需要滚动条.

css

792
推荐指数
8
解决办法
32万
查看次数

使用HTML5/Javascript生成并保存文件

我最近一直在摆弄WebGL,并且让Collada读者工作了.问题是它很慢(Collada是一种非常冗长的格式),所以我将开始将文件转换为更易于使用的格式(可能是JSON).事实是,我已经有了用Javascript解析文件的代码,所以我也可以将它用作我的导出器!问题在于节省.

现在,我知道我可以解析文件,将结果发送到服务器,并让浏览器从服务器请求文件作为下载.但实际上服务器与这个特定的进程没有任何关系,为什么要让它参与其中呢?我已经在内存中拥有所需文件的内容.有什么方法可以使用纯javascript向用户提供下载吗?(我怀疑它,但不妨问......)

并且要明确:我没有在用户不知情的情况下尝试访问文件系统!用户将提供一个文件(可能通过拖放),脚本将转换内存中的文件,并提示用户下载结果.就浏览器而言,所有这些都应该是"安全"的活动.

[编辑]:我没有提及它,所以回答"Flash"的海报是有效的,但我正在做的部分是尝试强调纯HTML5可以做什么...所以Flash是在我的情况下.(虽然对于任何正在使用"真实"网络应用程序的人来说,这是一个非常有效的答案.)在这种情况下,除非我想要涉及服务器,否则看起来我运气不好.不管怎么说,还是要谢谢你!

javascript html5 download

305
推荐指数
12
解决办法
36万
查看次数

在socket.io中获取客户端的IP地址

在Node.js服务器中使用socket.IO时,是否有一种简单的方法来获取传入连接的IP地址?我知道你可以从标准的HTTP连接中获取它,但socket.io是一个不同的野兽.

ip-address node.js socket.io

127
推荐指数
9
解决办法
12万
查看次数

HTML5音频循环

我最近一直在玩HTML5音频,虽然我可以让它播放声音但它只播放一次.无论我尝试什么(设置属性,事件处理程序等),我似乎无法让它循环.

这是我正在使用的基本代码:

//myAudio is declared at a global scope, so it doesn't get garbage collected.
myAudio = new Audio('someSound.ogg');
myAudio.loop = true;
myAudio.play();
Run Code Online (Sandbox Code Playgroud)

我正在使用Chrome(6.0.466.0 dev)和Firefox(4 beta 1)进行测试,两者似乎都乐于忽略我的循环请求.有任何想法吗?

更新:现在所有主流浏览器都支持循环属性.

javascript html5 html5-audio

74
推荐指数
4
解决办法
14万
查看次数

Python:将项目追加到列表N次

这似乎是Python有一个捷径.我想将一个项目附加到列表N次,实际上这样做:

l = []
x = 0
for i in range(100):
    l.append(x)
Run Code Online (Sandbox Code Playgroud)

在我看来应该有一个"优化"的方法,如:

l.append_multiple(x, 100)
Run Code Online (Sandbox Code Playgroud)

在那儿?

python list

70
推荐指数
5
解决办法
9万
查看次数

停止Visual Basic 6更改我的外壳

非常简单的问题,显然不可能找到一个合适的答案:我怎样才能使Visual Basic 6停止改变我的^ @#*变量套管!?!

我知道很多VB用户的一般意见是这个"功能"实际上非常有用,但我怀疑他们在任何源控制系统中都使用它很多.当您尝试与其他几个开发人员合作开展任何重要项目时,这绝对是一种感染.如果忽略,您会对文件(甚至没有实际代码更改的文件)产生数千个误报"更改",这些更改会污染修订历史记录,并且在某些情况下几乎不可能找到发生的实际更改.

如果你不忽略它(就像我的办公室,我们被迫实施"不需要更改案例"的政策),你花费的时间是你每次提交时的5倍,因为你必须小心地恢复VB的"修正" "在每个文件上,有时会恢复数百行以进行一行更改.

当然必须有一个设置,插件,黑客等可以删除这个不需要的"功能"?我愿意采取任何我能得到的方法,只要它不需要我挑选成堆的幻影差异.并预先解决了几个抱怨:不,我不能在我的差异工具中关闭案例检测,这不是重点.不,我们不能仅仅在全球范围内改变案例.我们正在与跨越多年开发的多个开发人员共同工作的数十万个LOC合作.从业务角度来看,同步是不可行的.最后:不,我们无法升级到VB.net或移植到另一种语言(尽可能多的我喜欢).

(是的,我现在只是有点恼怒.你能说出来吗?我道歉,但这花费了我的时间和我的公司资金,而且我觉得不可接受.)

vb6

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

使用Google Chrome Sandbox

有几种资源可以解释Chrome中的沙盒是如何工作的,以及它如何保护用户免受恶意代码的侵害.

Chromium博客
Chromium开发人员文档
沙箱常见问题解答

这很棒,我喜欢他们所拥有的以操作系统为中心的设计(有点像"操作系统可能知道如何更好地保护自己,所以我们让它"接近.)他们在几个地方也提到了sandbox本身被设计为不依赖于Chrome,而是或多或少独立,因此理论上只要程序的体系结构兼容,任何进程都可以进行沙盒化(沙盒代码必须作为自己的进程运行,因为它是一个孩子的非沙盒父母.)

我碰巧有一个应用程序,它的设计使沙盒成熟,并且能够让父/子进程使用它.我有Chromium代码并且......不知道下一步该做什么.

有没有人在那里实际上用沙盒装了什么呢?是否有任何资源记录了它的用法或API?我想它应该很简单,但我不知道从哪里开始.

编辑:我的答案在下面找到!

c++ google-chrome sandbox

37
推荐指数
1
解决办法
8765
查看次数

带有运算符的函数模板

在C++中,你可以在一个类上有一个模板化运算符吗?像这样:

class MyClass {
public:
    template<class T>
    T operator()() { /* return some T */ };
}
Run Code Online (Sandbox Code Playgroud)

这实际上似乎编译得很好,但混淆在于如何使用它:

MyClass c;
int i = c<int>(); // This doesn't work
int i = (int)c(); // Neither does this*
Run Code Online (Sandbox Code Playgroud)

它编译的事实向我暗示它是可行的,我只是对如何使用它感到茫然!有什么建议,或者这种使用方法是非首发?

c++ templates operator-overloading

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

强制ASP.net webservice返回JSON

我有一个ASP.net Web服务,我用于Web应用程序,它向我返回XML或JSON数据,具体取决于我调用的函数.到目前为止,这一直运作良好,但我遇到了一个问题.我想在我的页面上创建一个"导出"链接,用于下载JSON文件.链接的格式非常简单:

<a href="mywebserviceaddress/ExportFunc?itemId=2">Export This Item</a>
Run Code Online (Sandbox Code Playgroud)

正如您可能想象的那样,这应该导出第2项.到目前为止,这么好,是吗?

问题是因为我并没有特别要求接受的内容类型是JSON,所以ASP.net绝对拒绝发回除XML以外的任何内容,这对于这种情况并不合适.代码基本如下:

    [WebMethod]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public Item ExportItem(int itemId)
    {
        Context.Response.AddHeader("content-disposition", "attachment; filename=export.json"); //Makes it a download

        return GetExportItem(itemId);
    }
Run Code Online (Sandbox Code Playgroud)

尽管我将ResponseFormat指定为JSON,但除非我通过AJAX(使用Google Web Toolkit,BTW)请求此方法,否则我总是返回XML:

    RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, "mywebserviceaddress/ExportFunc");
    builder.setHeader("Content-type","application/json; charset=utf-8");
    builder.setHeader("Accepts","application/json");
    builder.sendRequest("{\"itemId\":2}", new RequestCallback(){...});
Run Code Online (Sandbox Code Playgroud)

这很好,但AJAX不会给我一个下载对话框.有没有办法迫使ASP.net给我回JSON,无论数据是如何请求的?在我看来,没有手动覆盖这种行为是一个严重的设计疏忽.


快速回答:

首先,我想说,我认为womp的答案可能是长期更好的方式(转换为WCF),但是deostroll让我得到了我将在不久的将来使用的答案.此外,应该注意的是,这似乎主要是因为我只想下载,在所有情况下都可能无法正常工作.在任何情况下,这里是我最终用来获得我想要的结果的代码:

    [WebMethod]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public void ExportItem(int itemId)
    {
        Item item = GetExportItem(itemId);            

        JavaScriptSerializer js = new JavaScriptSerializer();
        string str = js.Serialize(item);

        Context.Response.Clear();
        Context.Response.ContentType = "application/json";
        Context.Response.AddHeader("content-disposition", "attachment; filename=export.json");
        Context.Response.AddHeader("content-length", str.Length.ToString());
        Context.Response.Flush();
        Context.Response.Write(str);
    }
Run Code Online (Sandbox Code Playgroud)

请注意 …

json web-services asmx

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

Direct3D 11效果文件已弃用?

我最近一直在玩Direct3D 11并且由于缺乏关于API基础知识的文档(例如简单的几何渲染)而感到沮丧.稀疏文档带来的混淆之一是(明显的)远离着色器效果的使用.

在D3D11中,所有效果(.fx)支持已从D3DX库中删除,并被埋没在难以找到(当然稀疏文档)的共享源库中.所包含的示例都不使用它,而是直接编译HLSL文件.所有这一切都告诉我,微软正试图让人们停止使用效果文件格式.真的吗?是否有任何类型的文件说明了这一点?我很好,无论哪种方式,但多年来他们一直在推广.fx格式,所以他们突然决定放弃它似乎很奇怪.

direct3d

18
推荐指数
3
解决办法
8395
查看次数