我注意到在Chrome和IE9中,对于onmouseout事件,有一个event.toElement属性(所以你可以确定鼠标现在指向哪个元素).
我在Firefox中找不到类似的属性.
不幸的是我无法使用jQuery来处理这些事件,我必须使用原生的js.
任何意见,将不胜感激.
我发现以下Sublime命令非常有用,因为它在当前文件的位置打开一个资源管理器窗口:
{ "keys": ["ctrl+alt+o"], "command": "open_dir", "args": {"dir": "$file_path", "file": "$file_name"} },
Run Code Online (Sandbox Code Playgroud)
我喜欢的是一个类似的命令,它将打开一个cmd窗口.理想情况下,在根项目文件夹中,但当前文件目录也可以.
已阅读以下问题,但无法弄清楚如何在sublime插件/命令中使用它: BAT文件在当前目录中打开CMD
我一直想知道DOCTYPE之前是否有空格,但我似乎无法在网上找到任何确切的信息.人们说不要这样做,但我看不出它可能会产生什么影响,或者即使规范说它必须是这样的.我无法弄清楚它是否会触发IE中的兼容模式或类似的烦人行为.
原因是,在我的(糟糕的asp.net)代码中,我更愿意写:
<%@ Page language="c#" Codepage="65001" AutoEventWireup="true" %>
<%@ OutputCache Location="None" VaryByParam="none" %>
<!doctype html>
Run Code Online (Sandbox Code Playgroud)
比:
<%@ Page language="c#" Codepage="65001" AutoEventWireup="true" %><%@ OutputCache Location="None" VaryByParam="none" %><!doctype html>
Run Code Online (Sandbox Code Playgroud)
因为第一个更整洁.但顶部的结果是渲染的html中有一些空白行.
不是一个大问题.我一直想知道它是否重要:)
我的项目正在使用:Node,Coffeescript,SocketIO,Browserify和Mocha.(用于标准服务器端单元测试的mocha)
我想使用无头浏览器自动化一些客户端接口测试.PhantomJS看起来是理想的选择(由于网络套接字支持而选择Zombie).
PhantomJS页面警告它不是测试运行器,我理解,他们建议使用mocha-phantomjs项目来推动测试.
所以我已经能够运行样本测试(例如mocha-phantomjs tests/mixed.html
),但我当前的问题实际上是在测试中使用PHANTOM.mocha-phantomjs repo中的所有样本测试似乎都使用标准的mocha服务器端单元测试.
例如,我可以轻松mocha-phantomjs tests/mixed.html
地查看无聊的旧单元测试.或者我可以运行phantomjs tests/login.coffee
以加载我的登录屏幕...但是如何将两者结合起来对我应该在登录屏幕上看到的内容进行断言?
我在网上找不到任何这方面的例子,我正在努力理解最好的方法.
希望这一切都有意义.在此先感谢您的任何帮助.
更新:我发现了作者的以下建议(这里),但我真的不明白该怎么做:phantomjs lib/mocha-phantomjs.coffee test/mixed.html
给定一个键,我想找到一个对象中的下一个属性.我不能依赖按键来订购或顺序(它们是uuids).请看下面我想要的简单示例:
var db = {
a: 1,
b: 2,
c: 3
}
var next = function(db, key) {
// ???
}
next(db, 'a'); // I want 2
next(db, 'b'); // I want 3
Run Code Online (Sandbox Code Playgroud)
我也想要一个prev()函数,但我相信它将是相同的解决方案.
这似乎是一个微不足道的问题,但我不能为我的生活弄清楚如何去做.
很高兴使用underscore.js的解决方案或写在coffeescript :)
最简单的例子是:
<input id="number" type="number" value="1">
console.log(document.getElementById('number').value);
Run Code Online (Sandbox Code Playgroud)
这按预期记录1.但是这样:
<input id="number" type="number" value="1A">
console.log(document.getElementById('number').value);
Run Code Online (Sandbox Code Playgroud)
只记录一个空字符串'',因为值中包含非数字字符.某些设备+浏览器(例如Chrome)允许您在这些输入中输入非数字字符.
这很烦人,因为我想为支持它的设备输入type ="number"(例如iPhone,iPad数字键盘).但是我想使用javascript来阻止输入脏输入 - 这需要在keyup上获取值 - 然后regex替换非数字字符.
看来jQuery的.val()方法给出了相同的结果.
当我在Firefox,Chrome或IE中单击"另存为",然后从"另存为"菜单中选择"网页,完成"时,它似乎不会保存我在CSS中定义的背景图像.难道我做错了什么?这是一个示例问题:
的test.html
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<link href="test.css" rel="stylesheet" media="screen" type="text/css" />
</head>
<body>
<div id="test"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
test.css
#test {
width: 400px;
height: 400px;
background: url(img/bg.jpg)
}
Run Code Online (Sandbox Code Playgroud) 我是Facebook API的新手.我想得到一些我的朋友列表,他们也安装了我的应用程序.(你的想法是你可以和他们一起开始游戏).
这给出了我的朋友列表:
FB.api('/me/friends', ...
Run Code Online (Sandbox Code Playgroud)
这给了我的应用信息:
FB.api('/myappid', ...
Run Code Online (Sandbox Code Playgroud)
我想要的是"我的朋友也安装了这个应用程序"
我以为可能是这样的:
FB.api('/myappid/accounts', ...
Run Code Online (Sandbox Code Playgroud)
我希望这至少会给我的开发人员,管理员或测试人员,但没有这样的运气. http://developers.facebook.com/docs/test_users/ http://developers.facebook.com/docs/ApplicationSecurity/
我的感觉可能是我必须使用FQL来委托一个类似的问题的查询
(psuedocode)
SELECT
FROM my_friends
WHERE uid IN (
SELECT uid
FROM app_users
WHERE appid = myappid
)
Run Code Online (Sandbox Code Playgroud)
任何建议将不胜感激.
注意,我看过这篇文章: FaceBook应用程序:检索我的应用程序用户的ID列表
我保留了属于我网站的Facebook用户ID的本地列表,我实际上可以通过执行以下操作来实现我的目标,但我确信必须有更好的方法:
$facebookFriendIds = array();
$friends = $this->facebook->api('/me/friends');
foreach ($friends['data'] as $friend) {
$facebookFriendIds[] = $friend['id'];
}
$this->friends = Doctrine_Core::getTable('User')->createQuery()
->whereIn('fb_user_id', $facebookFriendIds)
->execute();
Run Code Online (Sandbox Code Playgroud) 此代码将显示错误:
function causeBug(d) {
var k;
var n = parseFloat(1);
var c = Math.abs(d);
if (n < 0) {
k = '-';
} else {
k = '+';
}
return k + n;
}
$(function() {
for (var i = 0; i <= 2000; ++i) {
$('body').append(i + ': ' + causeBug(2) + '<br>');
}
});
Run Code Online (Sandbox Code Playgroud)
它在这个小提琴中可见:http://jsfiddle.net/H2SEN/16/(在Mobile Safari中查看,向下滚动,在某些时候你会看到parseFloat(1)<0).从第73次迭代到超过1500次,任何地方都发现了负面消息.
注意一些看似不必要的代码,例如未使用的参数d
和未使用的变量var c = Math.abs(d);
实际上是发生错误所必需的.对于在return语句中使用n和parseFloat调用(尽管parseInt也会导致它)也是如此.
Bug仅在真正的iPhone 4s(7.0.6)和两个iPod Touch(7.1 beta)上再现.不在iPad或iOS模拟器或任何桌面浏览器中.如果启用了远程调试并在计算机上打开了Safari控制台,则不会出现此错误.
我相信这是这个悬而未决的问题的确切原因:移动Safari iOS 6上的奇怪的JavaScript行为
任何洞察这个错误的潜在原因将不胜感激.
我有一个名为TwoColumns的Sublayout,如下所示:
<div class="row">
<div class="column span8"><sc:placeholder runat="server" key="left-column"></sc:placeholder></div>
<div class="column span4"><sc:placeholder runat="server" key="right-column"></sc:placeholder></div>
</div>
Run Code Online (Sandbox Code Playgroud)
我通常会通过演示文稿详细信息添加其他子布局,并将占位符指定为左列或右列.
现在,假设我想要完全相同的比例列,但在左列中.因此:
我可以将TwoColumns子布局添加到左列...但是如果我想向其中一个嵌套占位符添加内容,我该怎么做?是否可以将"左列左列"设置为占位符?
如果我想要第二轮的TwoColumns怎么办?如何指定是否希望我的内容进入第一行的左列或第N行的左列?Sitecore是否默认具备此功能?
请注意"只需创建一个名为NestedTwo列的新子布局"不是我正在寻找的解决方案.我想要一个灵活的网格系统.
不要担心CSS网格系统,这已经完成了.这是一个纯粹的Sitecore问题.
javascript ×4
html ×2
asp.net ×1
cmd ×1
coffeescript ×1
css ×1
doctype ×1
dom ×1
dom-events ×1
facebook ×1
facebook-fql ×1
html5 ×1
html5-video ×1
ios ×1
iphone ×1
json ×1
mocha.js ×1
node.js ×1
phantomjs ×1
sitecore ×1
sitecore6 ×1
sublimetext2 ×1
textinput ×1
windows ×1