我想弄清楚为什么我的Applescript在Safari位置栏中输入相同的javascript代码时无效.
转到搜索结果页,例如:http://www.google.com/search?q = test.要获得正确的行为,请在位置栏中输入此内容并按Enter键:
javascript: document.getElementsByClassName('vspib')[0].click();
Run Code Online (Sandbox Code Playgroud)
您将看到它为第一个搜索结果选择放大镜.
这是我想通过javascript发生的事情.所以我输入了以下内容:
tell application "Safari"
activate
do JavaScript "document.getElementsByClassName('vspib')[0].click();" in document 1
end tell
Run Code Online (Sandbox Code Playgroud)
但是,它什么也没做.有任何想法吗?
给定一个包含滚动条的div(例如溢出的b/c:auto),如何获得元素的准确innerWidth?在我的例子中:http://jsfiddle.net/forgetcolor/2J7NJ/ width和innerWidth报告相同的宽度.我想要的数字应该少于100.
HTML:
<div id='box1'>
<div id='box2'>
</div>
</div>
<p id="w"></p>
<p id="iw"></p>?
Run Code Online (Sandbox Code Playgroud)
CSS:
#box1 {
width:100px;
height:100px;
overflow:auto;
}
#box2 {
width:200px;
height:200px;
background-color:#aaa;
}
Run Code Online (Sandbox Code Playgroud)
使用Javascript:
$('#w').text("width is: "+$('#box1').width());
$('#iw').text("inner width is: "+$('#box1').innerWidth());?
Run Code Online (Sandbox Code Playgroud)
更新:
当box2 div包含一个大图像时,我需要这个工作(因此需要一秒钟加载).这是一个例子,集成了以下解决方案之一(Lukx'),这不起作用:http://jsfiddle.net/forgetcolor/rZSCg/1/.任何想法如何让它在计算宽度之前等待图像加载?
我在使用浮动定位(例如使用overflow:hidden进行求解)时处理了div的内容崩溃,但我正在尝试学习绝对/相对定位,并且无法弄清楚为什么容器div会崩溃.我的测试用例:
<html>
<head>
<style type="text/css">
body {
background-color:#eee;
}
#content {
margin:0 auto;
position:relative;
border:1px solid red;
width:800px;
display:block;
background-color:white;
}
#header {
border:1px solid black;
background-color:#777;
color:white;
width:800px;
position:absolute;
left:0;
top:0;
}
#leftcol {
position:absolute;
border:1px solid black;
background-color:#ddd;
width:200px;
top:100px;
left:0;
}
#rightcol {
position:absolute;
top:100px;
left:205px;
border:1px solid black;
background-color:#ddd;
width:500px;
}
</style>
<title>CSS Positioning Example 1</title>
</head>
<body>
<div id="content">
<div id="header">
<h1>The Awesome Website</h1>
</div>
<div id="leftcol">
<h2>About</h2>
<p>
This website is so awesome because …
Run Code Online (Sandbox Code Playgroud) 给定POS标签,例如VBD,如何将动词与NLTK匹配?
例如
VERB: go
POS: VBD
RESULT: went
Run Code Online (Sandbox Code Playgroud) 我有一个简单的Firebase,我主要通过Javascript进行交互,效果非常好.但是,我还有一个Python程序,需要从现有子节点获取数据并将数据放入/更新现有子节点.我试过python-firebasin,它可以做我想要的,但它是不可靠的(挂起,失败等).
所以我正在看python-firebase REST包装器.这似乎很有效,而且效果很好.但是,每次我尝试发布()数据时,我不仅会获得我发布的数据,还会获得与其配对的某种独特字符串,所有这些都作为子项插入.
例如,通过Javascript,我可能会说:
db = new Firebase('https://myfirebase.firebaseio.com/testval/');
db.transaction(function(current) { return 1; });
Run Code Online (Sandbox Code Playgroud)
这会给我一个Firebase,看起来像:
|---testval: 1
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试使用Python Firebase REST包装器执行类似操作时,例如:
db = firebase.FirebaseApplication('https://myfirebase.firebaseio.com/')
db.post('/testval/',1)
Run Code Online (Sandbox Code Playgroud)
我的Firebase看起来像这样:
|---testval:
|---JI4BiBbICSEAnM9mDXf: 1
Run Code Online (Sandbox Code Playgroud)
换句话说,它会插入一个新子项,为其提供一个新字符串,然后附加数据.是否有任何方法可以使用REST包装器在我的Firebase上插入/修改数据,这样可以像我在使用Javascript那样干净利落地完成它?没有添加孩子,没有添加这些独特的字符串?
我有一个简单的MutationObserver
设置作为测试.HTML span
的文本内容每秒更新一次(和div
消息):
<span class="tester"></span>
<div id="msg"></div>
Run Code Online (Sandbox Code Playgroud)
MutationObserver设置为在观察更改时观察.tester
和写入文本#msg
div
.同时,setInterval()
运行一次/秒以更改文本.tester
:
var target = document.querySelector('.tester');
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
console.log(mutation.type);
$('#msg').append(mutation.type+"<br/>")
setTimeout(function() { $('#msg').text(''); }, 500);
});
});
var config = { attributes: true, childList: true, characterData: true };
observer.observe(target, config);
setInterval(function() {
$('#msg').text('');
$('.tester').text("update: "+Math.random())
}, 1000);
Run Code Online (Sandbox Code Playgroud)
我希望这段代码每秒打印一次,因为characterData已经改变了.根据Mozilla的MutationObserver文档,它描述了characterData:"如果要观察目标数据的突变,则设置为true." 相反,我看不到characterData突变,但确实每秒看到两个childList突变.
为什么我没有看到任何characterData突变,为什么我看到两个 childList突变?
这是CodePen的一个工作示例.
我正在尝试在Python中编写一个基于套接字的简单客户端,它将连接到telnet服务器.我可以通过telnet到它的端口(5007)测试服务器,然后输入文本.它以NAK(错误)或AK(成功)响应,有时伴随其他文本.看起来很简单.
我写了一个客户端来连接服务器并与服务器通信,但它是第一次尝试读取响应时挂起的.连接成功.像getsockname和getpeername这样的查询是成功的.send命令返回一个等于我发送的字符数的值,因此它似乎正在正确发送.但最后,当我尝试阅读回复时,它总是挂起.
我尝试过使用基于文件的对象,如readline和write(通过socket.makefile),以及使用send和recv.使用文件对象,我尝试使用"rw"并通过该对象进行读取和写入,然后尝试将一个对象用于"r",将另一个对象用于"w"以将它们分开.这些都没有奏效.
我用一个数据包嗅探器来观察正在发生的事情.我并不精通我所看到的一切,但在telnet会话期间,我可以看到我输入的文本和服务器的文本.在我的Python套接字连接期间,我可以看到我的文本转到服务器,但回来的数据包似乎没有任何文本.
关于我做错了什么或任何策略尝试的任何想法?
这是我正在使用的代码(在这种情况下,它是send和recv):
#!/usr/bin/python
host = "localhost"
port = 5007
msg = "HELLO EMC 1 1"
msg2 = "HELLO"
import socket
import sys
try:
skt = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
except socket.error, e:
print("Error creating socket: %s" % e)
sys.exit(1)
try:
skt.connect((host,port))
except socket.gaierror, e:
print("Address-related error connecting to server: %s" % e)
sys.exit(1)
except socket.error, e:
print("Error connecting to socket: %s" % e)
sys.exit(1)
try:
print(skt.send(msg))
print("SEND: %s" % msg)
except socket.error, e:
print("Error sending data: %s" % …
Run Code Online (Sandbox Code Playgroud) 在下面的示例中,我希望站点名称文本“ site name”的底部和菜单文本“ menu 1 menu 2 menu 3”的底部与它们所在的容器的底部对齐(标题)。就像现在一样,站点名称文本在容器底部边缘上方一定数量的像素,而菜单文本在同一边缘上方具有不同数量的像素。我希望两个元素都位于同一行。
似乎使用line-height可以通过不同的值将其推入反复试验中,但是结果在浏览器之间并不一致(例如,我可以在Safari和Chrome中使它们齐平,但是Firefox看起来有所不同)。一定有更好的方法?
另外,除了我执行此操作之外,是否有更好的方法将菜单强制到右下角?
谢谢!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title></title>
<style type="text/css">
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, …
Run Code Online (Sandbox Code Playgroud) 我正在从包含一个[*]字/行的文件中读取行,例如:
dog
cat
person
tree
Run Code Online (Sandbox Code Playgroud)
每个单词还包含换行符\n
.我想将它们读入列表并丢弃换行符.我设计的方法是阅读,readlines()
然后将列表处理到strip()
换行符:
with open('words.txt') as f:
words = f.readlines()
for index, word in enumerate(words):
words[index] = word.strip()
Run Code Online (Sandbox Code Playgroud)
这工作正常,但我不禁想到有一种更有效的方法来执行此操作,在读取过程中去除换行符.但我找不到办法.是否有更高效的东西(同时也考虑可读性等)
[*]更新:我应该提到某些行可能包含多个单词,但在这些情况下,行中的许多单词应该包含在单个列表项中.到目前为止,这两个答案都处理这个问题(就像我自己的代码一样),但我想提一下.
我在 Firebase 中有一个节点,不断更新日志文件中的信息。节点是lines/
并且其每个子节点都lines/
来自 a,post()
因此它具有唯一的 ID。
当客户端第一次加载时,我希望能够获取最后一个X
条目数。我希望我会用once()
. 但是,从那时起,我想使用on()
withchild_added
来获取所有新数据。但是,child_added
获取存储在 Firebase 中的所有数据,并且在初始设置后,只需要新的东西。
我看到我可以在limitToLast()
上添加on()
,但是,如果我说limitToLast(1)
并且大量条目进入,我的应用程序是否仍会获得所有新条目?有没有其他方法可以做到这一点?
python ×4
javascript ×3
css ×2
dom ×2
firebase ×2
alignment ×1
applescript ×1
css-position ×1
file-io ×1
html ×1
jquery ×1
macos ×1
nlp ×1
nltk ×1
positioning ×1
rest ×1
sockets ×1
string ×1
width ×1