我创建了一些相当复杂的DOM元素,其中包含:after伪元素,我希望能够在Chrome Inspector或Firebug或同等版本中检查和调整它们.
尽管此WebKit/Safari博客文章(日期为2010年)中提到了此功能,但我无法在Chrome或Safari中找到此功能.Chrome确实至少有要检查的复选框:hover,:visited和:active状态,但是:before和:after无处可见.
此外,这篇博文(日期为2009年!)提到IE开发工具中存在此功能,但我目前正在使用Mac OS,所以这对我没有帮助.此外,IE不是我主要针对的浏览器.
有没有办法检查这些伪元素?
编辑:除了错误的Firebug无法检查这些元素,我发现Opera非常擅长于Inspecting:before和:after元素开箱即用.
我想查询mongo集合中的记录,这些记录要么没有名为'scheme'的字段的值,要么显式为'scheme'赋值'http'.听起来很简单,但事实证明这个问题比最初出现的问题更复杂.
因为db.collection.find({'scheme': None})
返回'scheme'未定义的所有记录(没有索引字段),我最初认为以下内容可行:
db.collection.find({'scheme': {'$in': ['http', None]}})
Run Code Online (Sandbox Code Playgroud)
但是,这似乎排除了'scheme'未定义的值,因此我只能假设它正在搜索其中scheme为'http'或明确定义为的记录None
.这似乎有点违反直觉,但我们有它.我的第二次尝试如下:
db.collection.find( {'$or': [{'scheme': {'$exists': False}}, {'scheme': 'http'}]})
Run Code Online (Sandbox Code Playgroud)
这也排除了方案未定义的结果.这一次,我甚至无法想到为什么失败的逻辑原因.
任何想法为什么会失败,以及如何让它按照需要运作?
谢谢
编辑:我以为我注意到我正在通过Python(pymongo)执行此查询,这解释了None
(通过Javascript的null
)
我正在尝试编写一个Tornado请求处理程序,该处理程序发出异步HTTP请求,并在从它的异步请求接收数据时将数据返回给客户端.不幸的是,在完成所有Async HTTPRequests之前,我无法让Tornado将任何数据返回给客户端.
我的请求处理程序的演示如下.
class StreamingHandler(web.RequestHandler): all_requested = False requests = [] @web.asynchronous def get(self): http_client = httpclient.AsyncHTTPClient() self.write('some opening') big_request = httpclient.HTTPRequest(url='[some_big_request]', streaming_callback=self.on_chunk) small_request = httpclient.HTTPRequest(url='[some_small_request]', streaming_callback=self.on_chunk) self.requests.append(http_client.fetch(big_request, callback=self.on_response_complete)) self.requests.append(http_client.fetch(small_request, callback=self.on_response_complete)) self.all_requested = True def on_chunk(self, chunk): self.write('some chunk') self.flush() def on_response_complete(self, response): if self.all_requested and all(request.done() for request in self.requests): self.write('some closing') self.finish()
我希望这个处理程序的GET请求最初返回文本'some opening',然后很快为小请求返回'some chunk',然后为更大的请求返回'some chunk'(可能多次),之后最后返回'关闭',并关闭连接.相反,在建立连接之后,客户端等待几秒钟以完成所有请求,然后在关闭之前立即接收所有HTTPResponse.
我如何从龙卷风中获得理想的行为?
提前致谢!
我一直在尝试使用easy_install在virtualenv中安装pycurl,它似乎正确安装:
(xxx) $ easy_install pycurl
Searching for pycurl
Reading http://pypi.python.org/simple/pycurl/
Reading http://pycurl.sourceforge.net/
Reading http://pycurl.sourceforge.net/download/
Best match: pycurl 7.19.0
Downloading http://pycurl.sourceforge.net/download/pycurl-7.19.0.tar.gz
Processing pycurl-7.19.0.tar.gz
Running pycurl-7.19.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-B2W9dY/pycurl-7.19.0/egg-dist-tmp-RmIsVr
Using curl-config (libcurl 7.19.7)
src/pycurl.c:85:4: warning: #warning "libcurl was compiled with SSL support, but configure could not determine which " "library was used; thus no SSL crypto locking callbacks will be set, which may " "cause random crashes on SSL requests"
src/pycurl.c: In function ‘do_multi_info_read’:
src/pycurl.c:2843: warning: call to ‘_curl_easy_getinfo_err_string’ declared with …
Run Code Online (Sandbox Code Playgroud) 我正在尝试制作一个Chrome扩展程序,它使用Fetch API从Github上的Pull Requests中删除一些细节,然后将它们显示在其他位置.当我尝试在Github上使用非公共存储库时,我遇到了一些问题.我认为这与CSRF保护以及管理Chrome扩展程序有权访问会话Cookie的规则有关.
我在扩展程序中有以下内容manifest.json
:
"content_scripts": [{
"matches": [
"*://github.com/*/*/pulls"
],
"js": ["script/underscore-1.8.3.min.js", "script/content.js"]
}],
"permissions": [
"tabs",
"activeTab",
"*://github.com/*",
"webNavigation"
]
Run Code Online (Sandbox Code Playgroud)
但是当我从我的内部运行以下内容时script/content.js
:
fetch('/redacted/redacted/pull/4549', {credentials: 'same-origin'}).then((response) => {
return response.text();
}).then((text) => {
// do cool stuff
})
Run Code Online (Sandbox Code Playgroud)
这会产生Github的404响应.使用Chrome Inspector的网络标签检查此请求,我可以看到它没有向请求发送我的GitHub会话标头.
如果我使用Inspector中的Javascript提示发出相同的请求,我可以看到200响应,我可以看到它正在发送我的会话cookie.
我的理解是在我的指定Github域manifest.json
意味着我的扩展可以访问我的内容脚本中的会话数据,这是不正确的?我应该怎么做才能对此受保护内容提出有效请求?
通过定期的postgres安装,我可以通过发送SIGHUP到postgres进程或运行来实现pg_ctl reload
.但是,对于Postgres.app,我不确定在哪里发送SIGHUP(到Postgres.app进程,或其中一个工作人员?),并试图运行pg_ctl reload
(在跟踪它之后/Applications/Postgres.app/Contents/Versions/9.3/bin
只产生关于PG_DATA未设置的投诉.
那么,如何在不重新启动整个服务器的情况下重新加载Postgres.app的配置文件呢?这可能吗?
我正在使用 zeep (Python 3.6) 与 SOAP API 交互,并使用包含此部分的 WSDL 模式:
<xs:element name="passengers">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="passenger" type="com:PassengerType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Run Code Online (Sandbox Code Playgroud)
所以我希望我的 zeep 生成的 XML 看起来像这样:
<book:passengers>
<book:passenger>
...redacted...
</book:passenger>
</book:passengers>
Run Code Online (Sandbox Code Playgroud)
我用 Zeep 实现这一目标的第一次尝试如下所示:
passengers = [factories.PassengerType()]
Run Code Online (Sandbox Code Playgroud)
但是,将其发送到我的 SOAP API 时,会产生以下错误:
File "/usr/local/lib/python3.6/site-packages/zeep/xsd/elements/element.py", line 220, in validate
"Missing element %s" % (self.name), path=render_path)
zeep.exceptions.ValidationError: Missing element passenger (createBookingRecordRequest.passengers)
Run Code Online (Sandbox Code Playgroud)
我相信这是因为我的 'passengers' 属性应该包含一个带有标签名称“passenger”的 Zeep 对象,该对象将包含我的元素列表。我已经尝试修补zeep.xsd.AnyType
以实现这一目标,但尚未成功。
任何建议,将不胜感激。
我正在努力修复一些未使用ARC构建的遗留应用程序上的iOS 7显示问题,并且dealloc
在iOS版本6和7之间的方法遇到了一些不一致的行为.我找不到任何其他提及这些任何文件或社区讨论的变化,所以我想知道这里是否有人可以了解这里发生的事情?
我以前的代码(在iOS6中工作,看起来像这样):
@interface MyViewController()
@property (retain) AdHandler *adHandler;
@end
@implementation MyViewController
@synthesize adHandler = _adHandler;
- (id) initWithAdHandler:(AdHandler*)anAdHandler
{
self = [super init];
_adHandler = [anAdHandler retain];
return self;
}
- (void)dealloc
{
[super dealloc];
[_adHandler release];
_adHandler = nil;
}
...
@end
Run Code Online (Sandbox Code Playgroud)
当通过在iOS 6中单步调试代码,我发现后dealloc
声明中,[_adHandler retainCount]
仍然是积极的,而对象仍然是可用的.
然而,在iOS 7中,在dealloc
语句之后,retainCount
以某种方式命中零,并且_adHandler
对象已经dealloc
'd,因此我的调用release
导致了EXC_BAD_ACCESS
.
我可以通过在[adHandler release]
通话前移动我的电话来解决这个dealloc
问题,但我的问题是为什么会发生这种情况?为什么dealloc
发布它不负责的对象?有没有关于为什么dealloc行为以这种方式改变的任何文档?