问题列表 - 第40689页

DOMContentLoaded事件针对单个页面加载触发两次

几个月前我创作了一个最近失败的Firefox附加组件.附加组件基本上查找特定的URL,然后修改页面的DOM.我追踪了"AVG Safe Search"插件的(意外)安装失败.我发现,在禁用AVG插件的情况下,DOMContentLoaded事件会为文档触发一次(我最初预期的行为),但启用它后,DOMContentLoaded事件会为文档触发两次.我的加载项将一个列插入到HTML表中,因此事件会触发两次,所以会插入两个重复的列而不是一个.

这是我的附加组件的精简初始化代码:

var hLoadListener = function(event) { myAddon.initialize(event); }
var hContentLoadedListener = function(event) { myAddon.onContentLoaded(event); }

myAddon.initialize = function(aEvent)
{
    gBrowser.addEventListener("DOMContentLoaded", hContentLoadedListener, false);
};

myAddon.onContentLoaded = function(aEvent)
{
    if (!(aEvent.originalTarget.nodeName === "#document")) { return; }

    var doc = aEvent.target; // document that triggered "onload" event

    if (!(doc instanceof HTMLDocument)) { return; }
    if (!doc.location) { return; }

    var href = doc.location.href; // URL of current page

    if (URLRegExp.test(href))
    {
      // Modify the page's DOM
    }
};

window.addEventListener("load", hLoadListener, …
Run Code Online (Sandbox Code Playgroud)

javascript dom event-handling firefox-addon

9
推荐指数
2
解决办法
4095
查看次数

是否有用于重写CPS的宏?

例如,我有两个异步方法

(get-a 10 (lambda (a) (get-b a (lambda (b) (display b)))
Run Code Online (Sandbox Code Playgroud)

但我想写一些类似的东西

(define (a (get-a 10)))
(define (b (get-b a)))
(display b)
Run Code Online (Sandbox Code Playgroud)

scheme continuations functional-programming callcc continuation-passing

0
推荐指数
1
解决办法
140
查看次数

在TextBox,ASP.NET中处理ENTER按钮

我在ASP.NET中遇到以下问题:有一个表单,其中包含一个文本框和一个旁边的按钮,用户应该在填充框后按下该按钮(http://www.burnthespam.info上的示例,单击"选择一个",或在弹出窗口中使用ReCaptcha时).通常,用户ENTER按键提交表单.

这不会导致按钮上的click事件被触发,并可能导致意外行为.在burnthespam中,我"尝试"通过检查文本框中是否有数据来解决(但现在如果你做的不同ENTER,就像按下它一样,就像你按下它一样)来解决它.

你知道是否有另一种方法来处理带ENTER密钥的表单提交,或者当你按下ENTER我喜欢的按钮时的Javascript片段?

编辑

我想在服务器端处理ENTER键事件,即.我已经有了

protected void button_Click(object sender, EventArgs e)
    {
        Response.Redirect(...);
    }
Run Code Online (Sandbox Code Playgroud)

我希望不仅在我使用按钮提交表单时调用该方法(单击或突出显示空格),而且当用户ENTER在聚焦文本框时按下

编辑2

你知道是否有可能以编程方式点击Javascript中的按钮?也许不可能阻止网络钓鱼/垃圾邮件(例如,参见Facebook和"分享给朋友"),但我还是想问...

asp.net postback textbox

5
推荐指数
1
解决办法
2万
查看次数

Makefile while 循环

即使将 SHELL 设置为 bash 而不是 sh,以下操作也不起作用:

doc:
    while read line; do \
      eval echo "$$line" > $(DOC) \
    done < $(DOC).templ

/bin/bash: -c: line 3: syntax error: unexpected end of file
Run Code Online (Sandbox Code Playgroud)

我想要做的是有一个模板文件,其中包含 bash 参数理解等 ( $(), ${}) 并在编译时“构建”它。有一个更好的方法吗?

bash templates makefile while-loop

2
推荐指数
1
解决办法
5561
查看次数

试图使代码可读

我正在尝试创建这样的定义

#define ICONS   [NSArray arrayWithObjects: [NSNumber numberWithFloat:33.0f], [NSNumber numberWithFloat:93.0f], [NSNumber numberWithFloat:149.0f], [NSNumber numberWithFloat:205.0f], [NSNumber numberWithFloat:314.0f], [NSNumber numberWithFloat:370.0f], [NSNumber numberWithFloat:426.0f], [NSNumber numberWithFloat:482.0f], nil]
Run Code Online (Sandbox Code Playgroud)

但是,我想用线条编写它 - 使代码可读,就像

#define ICONS   [NSArray arrayWithObjects: 
[NSNumber numberWithFloat:33.0f], 
[NSNumber numberWithFloat:93.0f], 
[NSNumber numberWithFloat:149.0f], 
[NSNumber numberWithFloat:205.0f], 
[NSNumber numberWithFloat:314.0f],
[NSNumber numberWithFloat:370.0f],
[NSNumber numberWithFloat:426.0f],
[NSNumber numberWithFloat:482.0f],
nil]
Run Code Online (Sandbox Code Playgroud)

但当我打破行中的定义时,Xcode就像疯了一样大喊大叫.

有没有办法打破界限并按我的意愿组织代码?

c iphone xcode c-preprocessor

1
推荐指数
1
解决办法
198
查看次数

为什么std :: queue :: empty()不是线程安全的?const函数不应该是线程安全的吗?

为什么empty()函数std::queue不是线程安全的?(请参阅此处.)const函数不应始终是线程安全的,因为它是只读的吗?

也许mutable在类中可能有一些变量可能由几个线程编写?

queue multithreading stl

6
推荐指数
1
解决办法
2287
查看次数

如何"镜像"无序列表的子弹?

很难说出这个问题.

我假设大多数人都知道正常的无序列表左侧有子弹.我想知道是否有可能将这些子弹放在右侧(jquery解决方案很好).

稍微详细一点,假设:

  1. 我希望并排显示2个列表:foobar.
  2. bar列表的文本对齐方式应该在右侧.
  3. bar列表的子弹应该在对立面.

PS因为我认为有人会说,"为什么?为什么以所有合乎逻辑的名义你想做这样的事情?" 我谦虚但不合逻辑的代码自我肯定必须承认它对"规范"有点无聊.;)

编辑:

使用dir='rtl'对我的情况不起作用,因为它只会让子弹反转,而不是句子也会导致不良影响.

html css jquery

5
推荐指数
1
解决办法
317
查看次数

跨平台的方式在Python中读取Excel文件?

我有一些(Excel 2000)工作簿.我想将每个工作表中的数据提取到一个单独的文件中.

我在Linux上运行.

是否有一个库可以用来从Python访问(读取)Linux上的XLS文件?

python excel

3
推荐指数
1
解决办法
1378
查看次数

使用Python的FTP库来检索文件

这是我在这里的第一篇文章,所以我很高兴成为社区的一员.我有一个相当平凡的问题要问,但这是一个相当烦人的问题所以我希望能找到答案.

所以我试图使用Python的FTPLIB模块来检索二进制文件.

直接输入解释器的代码如下所示:

>>> from ftplib import FTP 

>>> ftp = FTP('xxx.xx.xx.x')  # IP of target device

>>> ftp.login()

>>> file = "foobar.xyz" # target file 

>>> ftp.retrbinary("RETR " + file, open('filez.txt', 'wb').write)
Run Code Online (Sandbox Code Playgroud)

虽然某些功能正在运行(我可以查看设备上的所有文件,从FTP服务器应用程序获取欢迎消息,甚至重命名文件),当我尝试执行上面的最后一个命令时,我得到

    error_perm                                Traceback (most recent call last)

/Users/user_name/<ipython console> in <module>()

/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/ftplib.pyc in retrlines(self, cmd, callback)
    419         if callback is None: callback = print_line
    420         resp = self.sendcmd('TYPE A')
--> 421         conn = self.transfercmd(cmd)
    422         fp = conn.makefile('rb')
    423         while 1:

/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/ftplib.pyc in transfercmd(self, cmd, rest)
    358 …
Run Code Online (Sandbox Code Playgroud)

python sockets ftp

3
推荐指数
1
解决办法
7371
查看次数

Lua:__ index作为函数vs作为表的性能

在Lua中,__ index元方法可以是函数或表引用.所以以下结构是等价的:

foo = { a=1, b=2, c=3 }
bar = setmetatable({}, {__index = foo})
baz = setmetatable({}, {__index = function(_,x) return foo[x] end })

print(bar.a) -- 1
print(baz.b) -- 2
Run Code Online (Sandbox Code Playgroud)

似乎baz执行速度会慢一些.

但是慢多少?

我不太关心实现差异.我正在寻找的是"一般"的比较差异.我们是在谈论线性增量,一个数量级还是几个阶数?

给出一些背景:我正在开发一个oop库,在最常见的情况下(95%)表就足够了.但是有一个特殊情况我需要一个函数.知道差异将帮助我决定是否将库"拆分"为两个(一个快速覆盖95%的用途,一个模块使用其余的函数)或只是转储表选项以支持该功能.

广泛使用此特定__index(每次调用实例方法时).

如果这有帮助,我将使用的功能将非常小,类似于:

function __index(t,x) return foo[x] or bar[x] end
Run Code Online (Sandbox Code Playgroud)

非常感谢.

performance complexity-theory lua time-complexity

2
推荐指数
1
解决办法
1235
查看次数