在JavaScript中生成随机字母数字(大写,小写和数字)字符串以用作可能唯一标识符的最短方式(在合理范围内)是什么?
是否可以在ng-switch-when中进行OR?
<div ng-repeat="w in windows" ng-show="visibleWindowId == w.id" ng-switch="w.type">
<div ng-switch-when="val1 **OR** val2">
sup
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
如果没有,怎么能完成上述?
谢谢 :)
如果我有这样的Makefile规则:
a b c:
echo "Creating a b c"
touch a b c
output: a b c
cat a b c > output
Run Code Online (Sandbox Code Playgroud)
然后我运行make -j9输出
make看到3个依赖项(a,b,c),查找如何生成它们:(上面的"ab c"规则),但接下来会发生什么?如果没有意识到"ab c"规则只需要运行一次来创建所有3个目标吗?
这就是实际做的事情:
[pavel@orianna test]$ make -j9 output -n
echo "Creating a b c"
touch a b c
echo "Creating a b c"
touch a b c
echo "Creating a b c"
touch a b c
cat a b c > output
[pavel@orianna test]$
Run Code Online (Sandbox Code Playgroud)
相同的配方运行3次,每次依赖一次以规则"输出"!
有谁知道它为什么会这样?
使用PhantomJS,我想注入一些JS,好像<script>在任何其他<script>标签之前有一个额外的标签.这是因为页面上的脚本使用了PhantomJS没有的一些功能,即Function.prototype.bind和window.webkitRequestAnimationFrame.我有一个JS文件,其中包含两个自定义实现,我希望PhantomJS在页面上运行脚本时使用它们.
困难在于,如果我在page.open之前执行page.injectJs,脚本将被注入到空白页面中,而不会被转移到正在打开的页面.
或者,如果我在page.open之后执行page.injectJs,那么由于JavaScript错误(未定义的函数)已经发生,为时已晚.
我找到了一种似乎有用的方法,但显然是一种黑客行为:
page.onResourceReceived = function() {
page.injectJs('phantom-hacks.js')
};
Run Code Online (Sandbox Code Playgroud)
这注入了很多次(显然每个资源两次),但这没关系,因为我的脚本是幂等的.但是,我想知道正确的方法:在页面上的任何脚本运行之前只注入一次.
谢谢 :)
nginx现在支持代理websockets,但是我没有找到任何关于如何执行此操作的信息,而没有应用于使用websockets的URI 的单独位置块.
我见过一些人推荐这种方法的一些变化:
location / {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://host:port;
}
Run Code Online (Sandbox Code Playgroud)
这是代理标准HTTP以及websockets的正确方法吗?我不希望将升级标头或连接设置为"升级",除非这是浏览器发送的内容,但这些proxy_set_header行是websockets工作所必需的.为什么nginx只转发原始的Upgrade/Connection标头?
我已经对此进行了实验,发现如果在没有两个proxy_set_header行的情况下运行,nginx不会代理Upgrade标头并将Connection标头从'upgrade'更改为'close'.使用它们,Connection是非websocket请求的"升级",这也很糟糕.
谢谢 :)
从远程服务器显示图像:
<img src="http://remotehost/path/to/a.png" alt="Image A" />
Run Code Online (Sandbox Code Playgroud)
但是,如果通过HTTPS访问当前页面,则通过未加密的HTTP链接图像将产生安全警告.虽然我可以指定https://而不管当前的协议,但这样做会浪费,因为除非有必要(当访问者使用HTTPS时)我真的不关心这个图像的传输.
是否可以为img标记的src属性指定URL,以便根据用于访问当前页面的协议动态选择URL中的协议?说明我的意思:
<img src="(JavaScript's window.location.protocol)//remotehost/path/to/a.png" alt="Image A" />
Run Code Online (Sandbox Code Playgroud)
如果我们使用JavaScript怎么办?我们可以给img标签一个id,以便我们可以找到它并将src设置为以window.location.protocol开头.
也可以使用base64完全绕过HTTP/HTTPS问题,但这对我正在做的事情并不理想.
你们有什么可以推荐的?
我决定使用Google Web字体"Signika":http://www.google.com/webfonts/specimen/Signika
虽然我非常喜欢这种字体在正确渲染时的外观,但某些浏览器或平台并不能为用户提供这种奢侈品.
这是我观察到的:
最后2个让我大吃一惊.这是左边的IE9和右边的Firefox的渲染比较.两者都在同一台机器上(Win7 64位虚拟机VM).

左边的那个看起来像是被平滑了 - 像素既不是黑色也不是白色,而是介于两者之间.右侧的那个看起来像只使用2种颜色.
当IE9的浏览器模式设置为IE8或IE7时,字体开始在该机器上的Firefox中显示(不平滑).
我正试图理解这一点.到底发生了什么,可以做些什么让它看起来光滑?我一直在寻找类似的问题,并尝试了以下建议的修复/解决方法:
font-smooth: always;
-webkit-font-smoothing: antialiased;
Run Code Online (Sandbox Code Playgroud)
和
text-shadow:0 0 1px transparent;
Run Code Online (Sandbox Code Playgroud)
没有效果.(使用最新的Firefox在Win7 64位(virtualbox VM)上尝试过它们)
任何建议,将不胜感激!
我正在尝试让SCons将源文件中的Makefile项目复制到构建目录并运行一些命令来生成libmoo.a,但我遇到了一个依赖循环错误.细节如下:
./SConstruct:
env = Environment()
Export('env')
dirs = ['.']
variant_dir = 'build'
for dir in dirs:
SConscript(dir + '/' + 'SConscript', variant_dir=variant_dir + '/' + dir, duplicate=0)
Run Code Online (Sandbox Code Playgroud)
./SConscript:
import os
Import('env')
env.Command(env.Dir('moo2').abspath, env.Dir('#moo').abspath, ["echo copying moo to the build dir", Copy("$TARGET", "$SOURCE")])
env.Command(env.Dir('moo2/Makefile').abspath, env.Dir('moo2').abspath, 'echo would run moo2.configure')
moolib = env.Command(env.Dir('moo2/libmoo.a').abspath, env.Dir('moo2/Makefile').abspath, 'echo would run make')
Default(moolib)
Run Code Online (Sandbox Code Playgroud)
运行scons时出错:
scons: *** Found dependency cycle(s):
build/moo2/Makefile -> build/moo2 -> build/moo2/Makefile
build/moo2/libmoo.a -> build/moo2 -> build/moo2/Makefile -> build/moo2/libmoo.a
Run Code Online (Sandbox Code Playgroud)
也试过不使用.abspath,但这不重要,对吧?
我没有看到任何周期:
使用最新的Google Chrome:
在只有这个内部主体的页面上:
<div class="personicon"></div>
Run Code Online (Sandbox Code Playgroud)
和以下CSS:
.personicon {
display:table-cell;
width:100px;
height:100px;
background-color:#ECECEC;
border:1px solid #BBBBBB;
box-sizing:border-box;
}
Run Code Online (Sandbox Code Playgroud)
实际外部尺寸(包括边框):100px×102px(预期:100px×100px)
没有box-sizing:border-box,外部尺寸为102px×102px(如预期的那样).
为什么是盒子大小:边框只适用于宽度而不是高度?
谢谢 :-)