好吧,我想我 在jQuery.extend和jQuery.fn.extend之间有所区别?
通用扩展可以扩展任何对象,并且fn.extend用于插件函数,可以使用一些内部jquery voodoo直接从jquery对象调用.
所以似乎人们会以不同的方式调用它们.如果使用通用扩展来通过添加函数y来扩展对象obj,那么该方法将附加到该对象obj.y()但是如果使用fn.extend则它们将直接附加到jquery对象$ .y(). ......我有没有正确的是或否,如果没有,我的理解是什么?
我正在阅读的这本书主张使用
jQuery.fn.extend({
a: function() { },
b: function() { }
});
Run Code Online (Sandbox Code Playgroud)
语法,但在文档中说
jQuery.fn.a = function() { };
Run Code Online (Sandbox Code Playgroud)
我想如果你想要b也是如此
jQuery.fn.b = function() { };
Run Code Online (Sandbox Code Playgroud)
这些在功能和性能方面是否相同,如果没有,有什么区别?
非常感谢你.我在挖jQuery!
我看到帖子验证了htaccess重写规则中的utf-8,我认为这很好,但是我首先遇到的一个更基本的问题:
我需要扩展以处理查询字符串参数的utf-8字符,目录,文件的名称,以及用户在显示中使用的等.
我使用DefaultCharset utf-8配置我的Apache,如果重要的话还配置了我的php.我的原始重写规则过滤了除常规A-Za-z和下划线和连字符之外的所有内容.它起作用了.任何其他东西都会给你一个404(这就是我想要的!)现在,然而,似乎一切都匹配,包括我不想要的东西,但是,虽然它似乎匹配它不会进入查询字符串,除非它是一个常规的A-Za-z_-字符串.
我发现这令人困惑,因为规则说把你匹配的任何东西放到查询字符串中:
这是原始规则:
RewriteRule ^/puzzle/([A-Za-z_-]+)$ /puzzle.php?g=$1 [NC]
Run Code Online (Sandbox Code Playgroud)
这是修订后的规则:
RewriteRule ^/puzzle/(\w+)$ /puzzle.php?g=$1 [NC]
Run Code Online (Sandbox Code Playgroud)
我做了改变,因为在某处我读到了\ w匹配所有的alpha字符,其中A-Zetc.只匹配没有重音和东西的那些.
我使用哪些规则似乎并不重要:这是发生的事情:
在应用程序中我有这个:
echo $_GET['g'];
Run Code Online (Sandbox Code Playgroud)
如果我给它提供一个像http://mydomain.com/puzzle/USA这样的网址 它会回复"USA"并且工作正常.
如果我给它提供了一个像http://mydomain.com/puzzle/México这样的网址,它就没有回应它,并警告我索引g没有定义,当然也没有获得墨西哥的资源.
如果我给它提供一个像http://mydomain.com/puzzle/fuzzle/buzzle/j.qle这样的网址它会做同样的事情.
最后一个案例应该是404!
无论我使用上述哪个规则,它都会这样做.我配置了重写日志
RewriteLogLevel 5
RewriteLog /opt/local/apache2/logs/puzzles.httpd.rewrite
Run Code Online (Sandbox Code Playgroud)
但它是空的.
这是来自常规访问日志(它给出200的状态)
[26/May/2010:11:21:42 -0700] "GET /puzzle/M%C3%A9xico HTTP/1.1" 200 342
[26/May/2010:11:21:54 -0700] "GET /puzzle/M/l.foo HTTP/1.1" 200 342
Run Code Online (Sandbox Code Playgroud)
我可以做些什么来获得这些$%#$ @(*#@ !!!字符但不是斜线,点或其他非alpha到我的程序中,一旦那里,它会正确解码它们吗?将posix char类工作得更好?还有什么我需要配置的吗?
我有符号链接到某些目录,因为目录的名称有非英文字符,我厌倦了试图让apache的重写规则匹配.对于这个问题,有一个问题是对utf-8字符和apache2重写规则的麻烦,任何人都想要这样做,并且从很多人想看到这个问题的一般解决方案来看,但同时我做了一个简单的问题ascii符号链接到这些违规目录中的每一个.现在,重写规则又回到了alpha和_和 - 并且我的安全问题更少,它加载了我想要的资源.但是我仍然需要实际的目标目录名来进行显示.我用谷歌搜索"PHP目录信息,PHP符号链接",但没有找到任何东西.我需要做这样的事情:
if (is_symlink($myResDirName)) {
$realDirName = follow_symlink($myResDirName);
}
Run Code Online (Sandbox Code Playgroud) php ×2
apache ×1
extend ×1
function ×1
jquery ×1
mod-rewrite ×1
performance ×1
syntax ×1
utf-8 ×1