是否可以使用javascript来禁用任何会使浏览器远离当前页面的代码?
我尝试了以下代码,但它没有用:
$(window).unload(function(e){
event.stopPropagation();
event.preventDefault();
return false;
});
Run Code Online (Sandbox Code Playgroud)
我猜这个代码不起作用,因为在卸载()的时候,为时已晚.
还有其他想法吗?
可能的实现:1.禁用任何重定向的代码2.绑定到可以执行此操作的所有元素(链接,表单,我还缺少什么?)
我在我的CodeIgniter应用程序中使用多个数据库,并且已经阅读了很多应该关闭持久连接的数据库.
为什么推荐这个措施,这在最新版本2.0.2中仍然是必要的吗?
我正在做的事情
$db2 = $this->load->database("dbname", TRUE);
Run Code Online (Sandbox Code Playgroud) php mysql codeigniter multiple-databases persistent-connection
假设我有一个表记录每个用户拥有IP地址(ipaddr)的传入用户.
选择之前从未访问过网站的所有用户的最佳方法是什么?(这样特定的IPADDR值只存在于表中一次),但我只想知道过去6小时内出现的新访问者.
我基本上想在SQL中做这样的事情:
SELECT * from visitors GROUP BY ipaddr WHERE COUNT(ipaddr) = 1 and date > '2011-03-31 00:59:11'
Run Code Online (Sandbox Code Playgroud)
但是,DATE条件应仅适用于结果,而不适用于检查访问者是否是新的.
更新:
有一个SID字段可以解释用户浏览会话.
这是相关的表模式:
CREATE TABLE `visitors` (
`date` timestamp NOT NULL default CURRENT_TIMESTAMP,
`sid` bigint(12) unsigned NOT NULL,
`ipaddr` int(8) NOT NULL,
)
Run Code Online (Sandbox Code Playgroud)
一些示例数据:
INSERT INTO `visitors` (`date`,`sid`, `ipaddr`)
VALUES
('2011-03-31 06:25:48', 299521885457, -1454342140);
INSERT INTO `visitors` (`date`,`sid`, `ipaddr`)
VALUES
('2011-03-31 06:26:37', 299521885457, -1454342140);
INSERT INTO `visitors` (`date`,`sid`, `ipaddr`)
VALUES
('2010-01-01 15:23:44', 694387538590, -1454342140);
Run Code Online (Sandbox Code Playgroud)
该访问者有两行实时发生当前会话,每行都是他访问过的每一页(仅显示相关的模式).显示的最后一个示例行是2010年的访问,这意味着此IP地址有2个不同的SID属于它,因此不是新访问者.
查询的结果应该没有上面列出的任何行,看看此访问者在数据库中有两个会话.如果删除了最后一行(使用sid 694387538590),则访问者应成为新访问者并显示在查询中.