我今天在JavaScript中使用正则表达式时遇到了一种奇怪的行为(Windows Vista上的Firefox 3).
var str = "format_%A";
var format = /(?:^|\s)format_(.*?)(?:\s|$)/.exec(str);
console.log(format); // ["format_%A", "%A"]
console.log(format[0]); // "format_undefined"
console.log(format[1]); // Undefined
Run Code Online (Sandbox Code Playgroud)
正则表达式没有错.如您所见,它与第一次console.log调用中的正确部分相匹配.
Internet Explorer 7和Chrome都按预期运行:format[1]返回"%A" (好吧,Internet Explorer 7做正确的事情有点出乎意料......)
这是Firefox中的一个错误,还是我不知道的一些"功能"?
我一直在考虑使用像SVN这样的版本控制系统作为我使用的几台PC之间的通用备份和同步工具.这将适用于各种数据,包括MP3和翻录的DVD - 大量数据(120gb +).
我的主要问题是SVN在.svn目录中创建每个版本化文件的副本.虽然我可以看到这在大多数情况下非常有用,但对于我的目的而言,这完全没有必要,并且大量浪费磁盘空间.
是否存在不会在工作副本中创建文件副本的VCS?
编辑澄清:我只是在谈论每台计算机上所需文件的大小.对于SVN,这意味着工作副本及其元文件的大小 - 对于DVCS来说,这就是WC和存储库的大小.
这个问题类似于关于动画队列的问题,但该线程中的答案非常具体,不易推广.
在我的web应用程序,消息报告给用户(信息框,错误和警告等),通过输出div与class="alert"如:
<div class="alert">Login successful</div>
<div class="alert">You have new messages waiting</div>
Run Code Online (Sandbox Code Playgroud)
页面上可能有任意数量的警报,具体取决于用户的操作.
我想要的是使用jQuery动画按顺序显示每个警报框:一旦一个动画结束,下一个动画开始.
其他问题的答案说使用回调如:
$('#Div1').slideDown('fast', function(){
$('#Div2').slideDown('fast');
});
Run Code Online (Sandbox Code Playgroud)
除非在动画中存在未知数量的div,否则无效.有人知道实现这个目标的方法吗?
我只是查看Google提供的一些网站管理员统计信息,并注意到我们网站最常见的链接是我们以PDF格式提供的一些研究文章.这些文章也可以在网站上以HTML格式获得.
我正在查看链接到这些文章的网站(主要是论坛和博客),并且认为没有点击链接的人实际上会看到我们的网站,而且我们正在免费提供一些东西,甚至没有获得一些页面浏览量作为回报.
我想也许我可以更改我的服务器设置,将外部请求重定向到这些文件到HTML版本.这样,用户仍然可以获得相同的内容(虽然是以意想不到的格式),我们会让这些人看到我们的网站并希望更多地探索它.来自我网站的请求应该通过PDF.虽然我还不知道如何设置它(请留意这里的后续问题),我确信这在技术上是可行的.唯一的问题是:这是一个好主意吗?
您会考虑从外部来源重定向流量的缺点,以便他们看到我们的网站,而不只是获取我们的内容?它们是否超过了收益?
我能看到的唯一其他备用选项是让我们的品牌和URL在PDF文件本身中更加明显.有什么想法吗?
我一直在研究一个带有功能的项目,这样当我点击一个按钮时,Outlook就会打开,存储在变量中的相应值将存在于邮件正文中.我试过以下代码:
<html>
<head>
<title>Email This Code Snippet</title>
<script language="javascript">
function TriggerOutlook()
{
var sub = "Hi friend";
var bodycont = "<html><body>welcome</body></html>";
var body = escape(bodycont + String.fromCharCode(13));
window.location.href = "mailto:sakthivela@yahoo.com"
+ "?body=" + body
+ "&subject=" + sub
;
}
</script>
</head>
<body>
<form id="form1">
<a href="#" onclick="TriggerOutlook()">Email this Codesnippet</a>
<input type="text" name="txtbody" id="txtbody">
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
但是邮件的正文是<html><body>welcome</body></html>纯文本,而不是HTML.如何将其格式化为HTML?
我注意到几周前 PHP 5.3 达到了发布候选阶段(哇!),但随后看到已弃用的函数列表最终被删除,这让我开始思考它是否会破坏我的旧代码。
除了进行“吮吸看看”测试(安装在测试服务器上并尝试)之外,是否有任何类型的迁移工具可以分析您的代码以突出显示问题?例如,如果某些脚本使用这些ereg_*函数。
我有一个查询,它在WHERE子句中执行了许多连接并且有一些标准,我最终得到的结果基本上如下所示:
| userId | date | otherData |
|--------+------------+------------|
| 1 | 2008-01-01 | different |
| 1 | 2009-01-01 | info |
| 1 | 2010-01-01 | for |
| 2 | 2008-01-01 | each |
| 3 | 2008-01-01 | row |
| 3 | 2009-01-01 | here |
Run Code Online (Sandbox Code Playgroud)
因此,对于每个用户而言,过去会有一个或多个日期,以及将来有0个或更多日期.
我需要以某种方式将数据集减少到每个用户一行,只选择具有最近传递日期的行.也就是说,无论添加什么魔法GROUP BY或HAVING子句,上面的结果都是这样的:
| userId | date | otherData |
|--------+------------+------------|
| 1 | 2009-01-01 | info |
| 2 | 2008-01-01 | …Run Code Online (Sandbox Code Playgroud) 我正在研究一些旧的AJAX代码,这些代码是在jQuery之前的黑暗日子里编写的.奇怪的是,它一直运作良好多年,直到今天它突然停止触发回调.这是基本代码:
var xml = new XMLHttpRequest(); // only needs to support Firefox
xml.open("GET", myRequestURL, true);
xml.onreadystatechange = function() { alert ('test'); };
xml.send(null);
Run Code Online (Sandbox Code Playgroud)
检查Firebug控制台,发送请求时无需担心,并且它从请求URL接收到正确的XML,但该onreadystatechange功能根本不起作用.没有javascript错误或系统中发生任何其他奇怪的事情.
我希望我可以使用jQuery重写所有内容,但我现在没有时间.什么可能导致这个问题?
进一步的更新 - 我已经能够在不同的浏览器(FFx 3.0)中测试我的代码并且它在那里工作,所以它一定是我的浏览器的问题.我在Vista上运行Firefox 3.5b4,我现在已经尝试过,所有我的插件都被禁用而没有运气.它仍然真的让我烦恼,因为我昨天在这个网站上工作(使用相同的浏览器设置)并且根本没有问题...
实际上我只是回顾一下我的Addons窗口,看到Firebug仍然启用了.如果我禁用Firebug,它可以完美运行.如果我启用它,它就会崩溃.Firebug版本1.40.a31
是否可以使用Javascript检测CSS支持?
例如,是否可以检测浏览器是否支持这样的属性选择器?
input[type='text'] { }
Run Code Online (Sandbox Code Playgroud) 我有一个通用接口和两个接口“Person”和“Employee”,它们扩展了第一个接口:
export interface Common {
id: number,
name: string
}
export interface Person extends Common {
age: number;
}
export interface Employee extends Common {
role: string;
}
Run Code Online (Sandbox Code Playgroud)
我需要一个与这些接口混合的数组,例如:
listOfPeople: Person[] | Employee[] = [{id: 1, name: 'George', age: 4}, {id: 2, name: 'Micheal', role: 'software developer'}];
Run Code Online (Sandbox Code Playgroud)
但这样我就得到了一个错误。获得我想要的结果的正确方法是什么?