我似乎在观察至少一种情况,如果在执行时出现错误,传递给jQuery效果函数的回调函数将重复执行.
例如,请参阅此JS Fiddle,其中包含以下代码:
$('#awesome').fadeOut(400,function () {
log('fading out...');
dieInAFire();
});
Run Code Online (Sandbox Code Playgroud)
log将传递给它的任何内容附加到div ...但dieInAFire不存在.然而,相反,简单地停止执行,匿名函数似乎被反复调用,正如日志div中出现的"淡出..."的出现数量越来越多所证明的那样.
这是预期的行为吗?如果是这样,为什么?
我正在登录一个简单的Facebook应用程序.我能够使用JavaScript SDK成功地呈现登录/扩展权限与任何的FB.login或下面的代码的弹出窗口对话框:
FB.ui({ method: 'auth.login',
perms: 'read_stream,publish_stream',
display: 'popup' },
function (rsp) {
fg_log('on login');
if(rsp.session) {
if(rsp.perms) {
fg_log('PERMS: ',rsp.perms);
} else {
fg_log('Hmm. No permissions');
}
} else {
fg_log('Hmm. No login');
}
}
);
Run Code Online (Sandbox Code Playgroud)
问题是......我不太喜欢弹出窗口.从UI的角度来看,我认为他们感觉不对,就像他们不属于应用程序的其余部分一样.并让他们通过JavaScript现身还需要从用户没有理由额外的点击 - 为了避开弹出窗口拦截器,用户必须点击类似登录按钮(主要是没有意义的,因为在时间应用程序知道它需要显示登录按钮,它已经知道用户需要登录并可能也只是目前的权限对话框).
所以,我想,为什么不是iframe呢?没有弹出窗口拦截器的问题,在页面中很好地嵌入,而Facebook似乎很喜欢它们.
在最近的(2.1.2)的JavaScript SDK源等各个岗位上的Facebook开发者论坛上有一点点似乎预示着一个可以通过"显示:'IFRAME’"为选项FB.ui.部分
但是当我尝试它时,虽然iframe确实出现了,而不是获得权限对话框,我得到:
"发生错误.请稍后再试."
(注意:稍后再次尝试会产生相同的结果.)
是否有一个技巧可以使这个工作,或者由于某种原因被禁止?
在他的常见问题解答中,Bjarne Stroustrup说:
为了构建[Cfront,第一个C++编译器],我首先使用C来编写"C with Classes"-to-C预处理器."C with Classes"是C方言,成为C++的直接祖先......然后我在"C with Classes"中编写了Cfront的第一个版本.
当我读到这篇文章时,它引起了我对C预处理器的兴趣.我已经看到它的宏功能适合于简化常用表达式,但没有想到它能够在我想要将类带到C的级别上显着添加语法和语义.
所以现在我有些疑问:
是否还有其他一些从C语言引导语言的方法?
Stroustrup原创作品的来源是否随处可见?
我在哪里可以了解更多关于利用这种技术的具体细节?
这种方法的长度/限制是多少?比方说,可以创建一组预处理器宏,让某人写一些显着的Lisp/Scheme之类的东西吗?
在尝试编写今天使用PIL的Python脚本的过程中,我发现我似乎没有在我的本地计算机上使用它(OS X 10.5.8,默认2.5 Python安装).
所以我跑:
easy_install --prefix=/usr/local/python/ pil
Run Code Online (Sandbox Code Playgroud)
它有点抱怨/usr/local/python/lib/python2.5/site-packages尚未存在,所以我创建它,然后再试一次,得到这个:
测试失败:/usr/local/python//lib/python2.5/site-packages不支持.pth文件错误:错误的安装目录或PYTHONPATH
您正在尝试将程序包安装到不在PYTHONPATH上的目录以及哪些Python不从中读取".pth"文件.您指定的安装目录(通过--install-dir, - prefix或distutils默认设置)是:
Run Code Online (Sandbox Code Playgroud)/usr/local/python//lib/python2.5/site-packages并且您的PYTHONPATH环境变量当前包含:
Run Code Online (Sandbox Code Playgroud)''
好吧,公平 - 我没有做任何事情来设定路径.所以我给〜/ .bash_profile添加了一个快速行:
PYTHONPATH = "$ PYTHONPATH:/usr/local/python/lib/python2.5"
而source它,然后再试一次.
相同的错误消息.
考虑到PYTHONPATH显然是固定的,这有点好奇; 我可以echo $PYTHONPATH回去:/usr/local/python/lib/python2.5.我决定从里面查看包含路径的样子:
import sys
print "\n".join(sys.path)
Run Code Online (Sandbox Code Playgroud)
产量:
/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python25.zip /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5 /System/Library/Frameworks/Python.framework /Versions/2.5/lib/python2.5/plat-darwin /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-mac /System/Library/Frameworks/Python.framework/Versions /2.5/lib/python2.5/plat-mac/lib-scriptpackages/System/Library/Frameworks/Python.framework/Versions/2.5/Extras/lib/python/System/Library/Frameworks/Python.framework/Versions/2.5 /lib/python2.5/lib-tk /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-dynload/Library/Python/2.5/site-packages/System/Library/Frameworks /Python.framework/Versions/2.5/Extras/lib/python/PyObjC
从中/usr/local/python/yadda/yadda尤其缺失.
不知道我应该在这做什么.如何让python将此位置识别为包含路径?
UPDATE
正如Sven Marnach所说,我忽略了出口PYTHONPATH.我已经纠正了这个问题,现在看到它出现在我sys.path从Python中打印出来的时候.但是,我仍然得到了TEST FAILED上面提到的错误消息,只是使用了我的新PYTHONPATH环境变量.
因此,我尝试将其更改/usr/local/python/lib/python2.5为/usr/local/python/lib/python2.5/site-packages,easy_install再次导出和运行相同的命令.这导致一个全新的结果,起初看起来像成功(但不是):
Creating /usr/local/python/lib/python2.5/site-packages/site.py
Searching for pil
Reading http://pypi.python.org/simple/pil/
Reading http://www.pythonware.com/products/pil …Run Code Online (Sandbox Code Playgroud) 最近,我一直在研究一些网络渲染错误的门票,这些漏洞只能出现在Android设备的一个子集上(甚至是单个Android设备上).此类别中重现的bug似乎真的很难 - 有时我发现我不能做所有,更糟的是,有时我我可以在某些设备上,但不是别人,不知道为什么.
例如:QA最近报告了一张影响"Galaxy Tab/Android QA build 4.1"的故障单.我试过了
这是伟大的,我终于解决了这个特定的错误,但在另一方面,它本来是很容易的第一个两次尝试后放弃,从来没有试过Browserstack.我找到了一种重现它的方法,这是运气不好的一半.我想很少依靠这一点,学会更好(一)确定可能的地方,我可以重现的问题(二)烧烤QA给我我需要的所有细节.
有哪些相关变量?我想的是:
但我不太了解这些相互作用或其他可能发生的事情.
提出这个问题的另一种方式 - 如果有人来找我并说"嗨,我在使用Samsum DroidTab浏览时在网站上发现了问题?" (或其他不准确指定的设备)究竟是什么,我需要找出为了找到另一台设备/仿真器上,我可以可靠地重现他们看到了什么?
android cross-browser android-emulator android-browser chrome-for-android
所以,我有一个看起来像这样的查询:
SELECT id,
DATE_FORMAT(CONVERT_TZ(callTime,'+0:00','-7:00'),'%b %d %Y') as callDate,
DATE_FORMAT(CONVERT_TZ(callTime,'+0:00','-7:00'),'%H:%i') as callTimeOfDay,
SEC_TO_TIME(callLength) as callLength
FROM cs_calldata WHERE
customerCode='999999-abc-blahblahblah' AND
CONVERT_TZ(callTime,'+0:00','-7:00') >= '2010-04-25' AND
CONVERT_TZ(callTime,'+0:00','-7:00') <= '2010-05-25'
Run Code Online (Sandbox Code Playgroud)
如果你像我一样,你可能会开始认为,如果我没有要求它计算CONVERT_TZ(callTime,'+0:00','-7:00')四次单独的时间,它可能会提高可读性和可能的查询性能.
所以我尝试为该表达式创建一个列别名,并用该别名替换进一步的出现:
SELECT id,
CONVERT_TZ(callTime,'+0:00','-7:00') as callTimeZoned,
DATE_FORMAT(callTimeZoned,'%b %d %Y') as callDate,
DATE_FORMAT(callTimeZoned,'%H:%i') as callTimeOfDay,
SEC_TO_TIME(callLength) as callLength
FROM cs_calldata WHERE
customerCode='5999999-abc-blahblahblah' AND
callTimeZoned >= '2010-04-25' AND
callTimeZoned <= '2010-05-25'
Run Code Online (Sandbox Code Playgroud)
这是我学习的时候,引用MySQL手册:
标准SQL不允许在WHERE子句中引用列别名.强制执行此限制是因为在评估WHERE子句时,可能尚未确定列值.
所以,这种方法似乎已经死了.
如何用这样的重复表达式编写查询来处理它?
SimpleXMLElement的"addChild"方法似乎应该是正确的选择,但它显然只需要表示新子标记名的字符串.
有一个用于引用树节点并设置它们的对象表示法,例如$ simpleXMLNode-> child = value,但这似乎只适用于简单的文本/数值.如果我尝试以下方法:
$s = new SimpleXMLElement('<root/>');
$t = new SimpleXMLElement('<child/>');
$s->a = $t;
echo $s->asXML()
Run Code Online (Sandbox Code Playgroud)
我明白了:
<?xml version="1.0"?>
<root><a></a></root>
Run Code Online (Sandbox Code Playgroud)
当我希望:
<?xml version="1.0"?>
<root><a><child/></a></root>
Run Code Online (Sandbox Code Playgroud)
我想过将$ t转换为字符串然后添加它(在删除XML声明之后):
$s->a = substr($t->asXML(),22)
Run Code Online (Sandbox Code Playgroud)
但这会产生:
<?xml version="1.0"?>
<root><a><child/></a></root>
Run Code Online (Sandbox Code Playgroud)
再一次,不是我所希望的.
有没有一种典型的方法来使用SimpleXML完成这种事情?
javascript ×2
android ×1
animation ×1
c ×1
c++ ×1
callback ×1
column-alias ×1
easy-install ×1
expression ×1
facebook ×1
jquery ×1
macos ×1
path ×1
php ×1
python ×1
select ×1
simplexml ×1
sql ×1