问题列表 - 第8353页

在Ruby和JavaScript中测试未定义的变量?

在JavaScript中,有一种有用的方法可以测试从未在任何给定点定义过的变量.例如,如果尚未定义变量bob,则以下代码片段将返回true:

typeof(bob)=='undefined'
Run Code Online (Sandbox Code Playgroud)

如何在Ruby中完成相同的测试?

编辑:我正在寻找一个同样紧凑的测试.我用异常等方法得出了一些尴尬的近似值,但那些不是很漂亮!

javascript ruby undefined

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

IE弹出窗口阻止程序阻止了Javascript window.open

任何人都可以帮忙,我有一个被阻止的弹出窗口.这是一个弹出窗口,因为有人点击了我网站上的打印图片.

我认为当弹出窗口出现时,IE不应该阻止这些onclick

有人可以帮忙吗?该child1变量总是返回NULL如果启用了弹出窗口阻止程序...

也许问题是onclick事件然后将控制传递给一个新函数,该函数加载一个html文件并执行child.document.write

这是我的简单代码..

var width = 800;
var height = 600;
var left = parseInt((screen.availWidth / 2) - (width / 2));
var top = parseInt((screen.availHeight / 2) - (height / 2));
var windowFeatures = "width=" + width + ",height=" + height 
   + ",menubar=yes,toolbar=yes,scrollbars=yes,resizable=yes,left=" 
   + left + ",top=" + top + "screenX=" + left + ",screenY=" + top;      

child1 = window.open("about:blank", "subWind", windowFeatures);
Run Code Online (Sandbox Code Playgroud)

javascript popup

12
推荐指数
2
解决办法
6万
查看次数

有哪些方法可以在ASP.NET MVC中停止多个表单回发?

常见的Web问题是用户多次单击表单的提交按钮,因此服务器不止一次地处理表单.当用户点击已提交表单的后退按钮并因此再次处理时,也会发生这种情况.

什么是阻止ASP.NET MVC发生这种情况的最佳方法?

我认为的可能性是:

  1. 提交后禁用该按钮 - 这会绕过多次点击而不是导航
  2. 让接收操作立即重定向 - 浏览器似乎将这些重定向保留在历史记录之外
  3. 在会话和表单中放置一个唯一的标记 - 如果它们匹配处理表单 - 如果不清除表单以进行新提交

还有更多吗?

是否有任何特定的实现?

我可以看到第三个选项被实现为具有HtmlHelper扩展的ActionFilter,其方式与防伪内容类似.

期待收到MVC'ers的消息.

asp.net-mvc postback submit action-filter

20
推荐指数
2
解决办法
7439
查看次数

如何使用字符串/列值作为mysql日期间隔常量(DAY,MONTH ...)?

我有三列:日期列,整数列和varchar列,如下所示:

+------------+------+---------+
| date       |value |  unit   |
+------------+------+---------+
| 2009-01-01 |    2 | DAY     | 
| 2009-02-01 |    3 | MONTH   | 
+------------+------+---------+
Run Code Online (Sandbox Code Playgroud)

我想使用的整数和在MySQL DATE_ADD()函数varchar列的"INTVERAL"表达式的一部分的值,添加到日期在"日期"列.

例如:date_add(2009-01-01,INTERVAL 2 DAY),以便'2009-01-01'来自'date'列,'2'来自"value"/ integer列和" DAY"来自'unit'/ varchar列.

选择将如下所示:

select date_add(table.date_column, INTERVAL table.integer_column table.varchar_column) from table
Run Code Online (Sandbox Code Playgroud)

问题是:它不起作用.日期和整数列工作,所以这是好的:

 select date_add(table.date_column, INTERVAL table.integer_column DAY) from table
Run Code Online (Sandbox Code Playgroud)

但是一旦我尝试用列中的字符串值替换"DAY"关键字,我就会收到错误消息.

有任何想法吗?

我想更普遍的问题是:

如何将动态检索的值用作常量/键表达式?mysql中有一种"eval"函数吗?

这个问题一直困扰着我很长一段时间,任何帮助都会非常棒.

击败

mysql datetime

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

什么更好:编写函数或编写方法?什么成本更高?

目前我正在为我的第一个Objective-c API做出一些决定.没什么大不了的,只是帮助我自己将来更快地完成任务.

在阅读了几个小时关于不同模式,比如制作类别,单身等等之后,我遇到了一些我喜欢的东西,因为它对我来说似乎很容易维护.我正在制作一套有用的功能,这些功能在任何地方都很有用.

所以我做的是:

1)我创建了两个新文件(.h,.m),并为"class"命名:SLUtilsMath,SLUtilsGraphics,SLUtilsSound等.我认为这是一种"命名空间",所以所有这些东西总是被称为SLUtils******.我将它们全部添加到Group SL中,其中包含一个子组SLUtils.

2)然后我只将函数签名放在.h文件中,并在.m文件中实现函数.猜猜看:它有效!! 我很高兴它,它很容易使用.关于它的唯一令人讨厌的事情是,我每次需要时都必须包含适当的标题.但那没关系,因为那是正常的.不过,我可以将它包含在头文件前缀pch文件中.

然后,我去了厕所,一个幽灵出现在那里,说:"嘿!制作真正的方法而不是函数是不是更好?你不应该制作类方法,所以你必须调用一个方法而不是而不是一个功能?是不是更酷,是不是有更好的表现?" 好吧,为了便于阅读,我更喜欢这些功能.另一方面,他们没有像方法那样的"命名参数",afaik.

那么在那种情况下你更喜欢什么?

当然我不想在使用有用的方法或函数之前分配对象.那将是痛苦的.

也许厕所鬼是对的.有一个更酷的方式.嗯,对我个人而言,这很棒:

MYNAMESPACECoolMath.h

#import <Foundation/Foundation.h>


@interface MYNAMESPACECoolMath : NSObject {
}

+ (float)randomizeValue:(float)value byPercent:(float)percent;

+ (float)calculateHorizontalGravity:(CGPoint)p1 andPoint:(CGPoint)p2;

// and some more
@end
Run Code Online (Sandbox Code Playgroud)

然后在代码中,我只需导入MYNAMESPACECoolMath.h并调用:

CGFloat myValue = [MYNAMESPACECoolMath randomizeValue:10.0f byPercent:5.0f];

没有讨厌的实例化,初始化,分配,什么永远.对我来说,这个模式在java中看起来像一个静态方法,非常好用且易于使用.

据我所知,功能优于代码的可读性更高.在查看CGRectMake(10.0f,42.5f,44.2f,99.11f)时,您可能需要查看这些参数的含义,如果您对它不熟悉的话.但是当您使用"命名"参数进行方法调用时,您会立即看到参数是什么.

我认为,当谈到可以在任何地方使用的简单有用的方法/功能时,我错过了对单例类产生重大影响的观点.制作特殊类型的随机值不属于任何东西,它是全局的.像草一样.像树一样.像空气一样.每个人都需要它.

iphone cocoa-touch uikit

3
推荐指数
2
解决办法
565
查看次数

FOP:fo:块宽度属性被忽略了吗?

我正在设法使用谷歌图表中的一个折线图生成PDF,但生成的列标题的质量不符合我们的需求,所以我想自己生成.

这项任务应该使用,[fo:table]但我无法成功定位标题(宽度和边距/填充).

总之,我想使用[fo:block]设置宽度属性加上负边距(即width="1.5cm" margin-top="-2em")来设置标题,但宽度不会生效.

你知道怎么做吗?

谢谢.

xslt xsl-fo apache-fop

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

在Django中找到多对多类别树的根

我有一个像Django模型:

class Category(models.Model):
    status=models.CharField(max_length=16)
    machineName=models.CharField(max_length=50)
    readableName=models.CharField(max_length=100)
    description=models.CharField(max_length=1024)
    parents=models.ManyToManyField('self')
Run Code Online (Sandbox Code Playgroud)

每个类别可能存在于许多父母中.有些类别没有父母,他们是"根"类别.在纯SQL中我可以通过以下方式找到它们:

SELECT "readableName"
FROM foo_category AS c
LEFT JOIN foo_category_parents AS cp ON (c.id=cp.from_category_id)
WHERE cp.to_category_id IS NULL;
Run Code Online (Sandbox Code Playgroud)

事实上,这很有效.如何通过Django-y调用找到"没有父母的类别列表"?我试过了:

# Says "Cannot resolve keyword 'is_null' into field."
Category.objects.filter(parents__is_null=True)
# Says "Join on field 'id' not permitted."
Category.objects.filter(parents__pk_null=True)
Run Code Online (Sandbox Code Playgroud)

但如上所述,两者都没有效果.

django many-to-many

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

仅当它与另一个正则表达式(Python)不匹配时才替换正则表达式

长话短说,我有两个正则表达式.一种模式匹配我想要替换的内容,另一种模式匹配那些不应替换的模式的特殊情况.举一个简单的例子,假设第一个是"\ {.*\}",第二个是"\ {\ {.*\} \}".然后应该替换"{this}",但不应该"{{this}}".是否有一种简单的方法来取一个字符串并说"用"hello"替换第一个字符串的所有实例,只要它不匹配第二个字符串"?

换句话说,有没有办法在不修改第一个字符串的情况下轻松制作"匹配第一个字符串而不是第二个字符串"的正则表达式?我知道我可以手动修改我的第一个正则表达式,从不匹配第二个正则表达式的实例,但是随着第一个正则表达式变得更加复杂,这变得非常困难.

python regex

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

Javascript正则表达式 - exec无限循环

我正在尝试使用正则表达式获取链接文本.可能有几个链接可能与模式匹配,我想要到最远的第四个.这是我的JS代码:

var level=1;
while ( _match = /<a href="http:\/\/www.mysite.com\/x\/(?:.*)>(.*)<\/a>/img.exec(_html)){
    if (level < 5)  (_anchor_text=_match[1]);
    level ++;
}
Run Code Online (Sandbox Code Playgroud)

问题是这个代码在IE上进入无限循环(在FF上运行良好),尽管模式存在.任何帮助表示赞赏.

javascript regex

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

4
推荐指数
2
解决办法
3174
查看次数