在我写的一个特定脚本中,我有许多链接到某些DOM元素的对象.假设每个元素都有唯一的id,每个对象应该只保留元素的id(并且每次都使用document.getElementById),还是将元素存储在属性中?
这是我的意思的简化示例:
function myThing(elId) {
this.elId = elId;
}
myThing.prototype.getElValue = function() {
return document.getElementById(this.elId).nodeValue;
};
// -- vs -- //
function myThing(elId) {
this.el = document.getElementById(elId);
}
mything.prototype.getElValue = function() {
return this.el.nodeValue;
};
Run Code Online (Sandbox Code Playgroud)
它有什么不同吗?我应该知道有任何性能问题吗?
在我的网页上,我有这个CSS:
tr:hover {
background-color: #f0f;
}
Run Code Online (Sandbox Code Playgroud)
除了好的旧IE之外,它在所有浏览器中都能很好地工作.我知道我可以写一些jQuery来添加和删除鼠标上/下的一个类,但我不想让所有其他支持:hover正确的浏览器出现问题- 所以我只想应用这个浏览器的JS行为本身不支持纯CSS解决方案.
当然,我们都知道这$.browser已被弃用了,而且我们都知道浏览器嗅探是一件坏事,SO上的所有其他问题都有大量的答案,就像"你不应该检查浏览器,检查为特征 ",而这一切都很好,当这些人生活的神奇仙境,但我们其他人需要得到我们的网站工作,看着对面IE6和其他浏览器确定.
$.support IE6和7看起来像这样:
leadingWhitespace: false
tbody: false
objectAll: false
htmlSerialize: false
style: false
hrefNormalized: false
opacity: false
cssFloat: false
scriptEval: false
noCloneEvent: false
boxModel: true
Run Code Online (Sandbox Code Playgroud)
我到底该如何使用这些属性来确定是否tr:hover有效?
是的我知道在这个例子中,它是相当无害的,我可能可以通过不向IE用户提供该功能,或者通过在所有浏览器中模拟它来逃避,但这不是重点.$.browser当你$.support没有接近替换它时,你应该如何停止使用?
我有一种情况,我有一个类型,它是两个函数的联合,它们的文字值作为其参数之一的类型.归结为一个最小的例子,它基本上是这样的:
type FetchMini = (id: number, representation: 'mini') => MiniUser;
type FetchFull = (id: number, representation: 'full') => FullUser;
function f(fetchUser: FetchMini | FetchFull) {
fetchUser(2, 'mini');
fetchUser(2, 'full');
}
Run Code Online (Sandbox Code Playgroud)
这两个调用都使编译器失败并显示以下消息:
无法调用类型缺少调用签名的表达式.输入'FetchMini | FetchFull'没有兼容的呼叫签名
我想我明白了这种情况发生的原因,(......我想),但我该怎么办呢?
这是一个类似的问题,但它没有答案:即使参数满足每个函数的约束,函数联合也不可调用
使用我们系统的客户要求我们将最终用户的SSN/SIN存储在我们的数据库中.目前,我们存储有关用户的最少信息(姓名,电子邮件地址,以及可选的国家/地区),因此我并不过分关注安全漏洞 - 但是,我怀疑可能存在关于存储SSN而不是采取的法律问题"适当的"保护他们的措施(来自澳大利亚,这是我第一次遇到他们).这是一个有效的问题吗?
我还在维基百科页面上读到有关SIN(加拿大相当于SSN)的信息,它只能在绝对必要时使用,绝对不能用作通用标识符或类似信息.
那么,这类事情是否存在任何潜在的法律问题?你有什么建议?
我需要在我的网站上启用mcrypt功能,除了我在共享主机(运行linux)上,显然无法访问该php.ini文件.似乎有安装PEAR模块的选项,但搜索告诉我mcrypt不可用.有什么方法可以做到这一点,没有乞求技术支持来帮助我吗?
更新:再看一下,看起来我可以dl()在运行时使用该函数动态加载库.因为我只在一个地方使用mcrypt函数,所以我可能会因为性能命中(我认为有一个命中)应该是最小的而逃避这样做.现在唯一的问题是如何获取libmcrypt.so文件?
另一个更新:我从Sourceforge下载了libmcrypt.tar.bz2文件并运行./configure,make然后将libmcrypt.so.4.4.8文件复制到我的主目录(as libmcrypt.so),但是现在我找不到放在哪里以便dl()函数找到它.
通过我的服务器日志看,我看到了很多我的网站上的网页请求favicon.ico,favicon.jpg,favicon.png,等在各种不同的目录中.
我没有浏览每个页面以试图找出每个不正确的请求来自何处,而是编写了一些apache重定向规则来更改任何包含"favicon"重定向到的URL的请求/favicon.ico
我最初的天真尝试是这样的:
RewriteRule favicon /favicon.ico [R=301,L]
Run Code Online (Sandbox Code Playgroud)
但这意味着,当您实际请求时,/favicon.ico它会将您发送到无限重定向循环.
基本上我认为我需要的是具有这种效果的正则表达式:
| Request | Response |
|------------------------|--------------|
| favicon.png | /favicon.ico |
| directory/favicon.png | /favicon.ico |
| directory/favicon.ico | /favicon.ico |
| favicon.ico | <no match> |
Run Code Online (Sandbox Code Playgroud) 我有这样的文件夹结构:
/some_folder
/tmp
/tmp/foo
/tmp/foo/fu *
/tmp/bar
/tmp/bar/bah *
/tmp/bar/ba *
/tmp/foobar *
/more_folders
Run Code Online (Sandbox Code Playgroud)
该/tmp目录用于缓存等等,所以我希望在版本控制下具有文件夹结构,但忽略每个目录中的所有文件.
文件只存在于叶文件夹中.也就是说,没有自己子文件夹的文件夹:上例中的已加星标的文件夹.
我唯一的选择是ignore *.*在每个叶子上设置,还是有办法忽略整个/tmp子目录中的所有文件(只是文件)?
考虑这种情况:
153)id >= 153第4步安全吗?
也就是说,如果另一个请求几乎准确地同时进入,并在上面的步骤2之后插入另外20个记录,但在步骤4之前,是否会出现竞争条件?
有没有办法判断元素是隐藏还是当前正在隐藏(通过动画)?我能想到做到这一点的唯一方法是存储一个标志元素的data,当你打电话show或者hide,但我不知道是否有另一种方式?
javascript ×2
jquery ×2
php ×2
apache ×1
dom ×1
mod-rewrite ×1
mysql ×1
oop ×1
reference ×1
regex ×1
security ×1
sniffing ×1
static ×1
svn ×1
tortoisesvn ×1
transactions ×1
types ×1
typescript ×1