我正在研究一个jQuery插件,遵循编写指南中详述的模式.基本上:
(function($) {
// Private
var doSomething = function($element, settings) { ... }
var doSomethingElse = function($element, settings) { ... }
// Public
var methods = {
init: function(options) { ... },
show: function() { ... },
hide: function() { ... },
update: function(content) { ... }
};
$.fn.myPlugin = function(method) {
if (methods[method]) {
return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
} else if (typeof method === 'object' || ! method) {
return methods.init.apply(this, arguments);
} else {
$.error('Method ' …Run Code Online (Sandbox Code Playgroud) 目前,在我的PHP脚本中,当用户尝试访问不存在或不属于该用户的内容时,我将用户重定向到自定义404未找到错误页面.像这样:
header('Location: http://www.mydomain.com/error/notfound/');
exit;
Run Code Online (Sandbox Code Playgroud)
我意识到上面的header()调用默认发送302重定向状态代码.
但是,我不明白的是,我应该发送404未找到的状态代码.在我重定向用户之前?或者当我显示/ error/notfound / page时?
谢谢你的帮助!
我认为提出这个问题的最简单方法是我面临的实际情况.
在我们的系统中,我们有一个Site模型(这里是经典的MVC框架),它代表了我们站点表中的一行.存储在站点模型中的站点表的一个字段是站点的时区.我们使用它来调整从数据库到显示的站点时区的UTC日期时间.有一些帮助方法有助于此:utcDatetimeToSiteTimestamp(),utcTimeStampToSiteDatetime()等.
由于这些辅助方法使用站点模型中保存的站点的时区,是否可以在模型中包含这些方法?或者他们应该被安排在一个单独的助手类或什么?
我知道模型应该做的不仅仅是从数据库中保存一行数据,但是作用于此数据的辅助方法与使用此数据作用于外部输入的辅助方法之间的界限在哪里?
感谢您的任何见解!
当用户第一次访问我的网站的登录屏幕时,我让Facebook Connect确定用户是否登录Facebook并重新加载页面如果为true:
<script type="text/javascript" src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php"></script>
<script type="text/javascript">
FB.init('MY_API_KEY', '/xd_receiver.htm', { 'reloadIfSessionStateChanged': true });
</script>
Run Code Online (Sandbox Code Playgroud)
重新加载页面时,我的后端PHP代码会检查用户是否登录到Facebook,然后自动将其登录到我的站点:
$Facebook = new Facebook(MY_API_KEY, MY_APP_SECRET);
if ($Facebook->get_loggedin_user()) {
// Log the user in.
}
Run Code Online (Sandbox Code Playgroud)
那部分工作正常.问题在于注销功能.我的注销链接目前看起来像这样:
<a href="#" onclick="FB.Connect.logoutAndRedirect('http://my.url/logout/');">Log Out</a>
Run Code Online (Sandbox Code Playgroud)
当点击它时,用户成功退出Facebook,但后端Facebook PHP对象仍然认为用户已登录($Facebook->get_loggedin_user()仍返回其用户ID),因此我的登录代码会自动再次登录.
所以我发现的问题是即使Facebook Connect将用户注销,后端Facebook PHP对象仍然认为用户已登录.有人知道如何克服这个问题吗?我可以不使用我的PHP代码自动登录用户吗?
谢谢你的帮助!