我刚读过,我认为处理这个问题的所有线程,我都无法找到解决问题的真正方法.我需要检测浏览器窗口何时失去焦点,即模糊事件.我已经尝试了stackoverflow上的所有脚本,但似乎没有适当的跨浏览器方法.
Firefox是这里有问题的浏览器.
使用jQuery的常见方法是:
window.onblur = function() {
console.log('blur');
}
//Or the jQuery equivalent:
jQuery(window).blur(function(){
console.log('blur');
});
Run Code Online (Sandbox Code Playgroud)
这适用于Chrome,IE和Opera,但Firefox不会检测到该事件.
是否有适当的跨浏览器方式来检测窗口模糊事件?或者,换句话说,有没有办法用Firefox浏览器检测窗口模糊事件?
相关问题和研究:
我目前正在使用工具在jQuery事件按键上检索数据库中的地址.当文本输入失去焦点时,我会取消每个待处理的请求,以避免在用户完成填写输入后出现下拉列表.一切正常,但是,完成我发送一个最终的ajax请求转到我的表单的下一步.这个请求比取消所有这些请求之前要慢得多.我不明白为什么,取消的请求不应该影响待处理的请求(我确定它们已被取消,在Chrome工具的网络选项卡中查找).我正在使用此代码:
jQuery.xhrPool = [];
jQuery.xhrPool.abortAll = function() {
jQuery(this).each(function(idx, jqXHR) {
jqXHR.abort();
jQuery('.loader').hide();
});
};
jQuery.ajaxSetup({
beforeSend: function(jqXHR) {
jQuery.xhrPool.push(jqXHR);
},
complete: function(jqXHR) {
var index = jQuery.xhrPool.indexOf(jqXHR);
if (index > -1) {
jQuery.xhrPool.splice(index, 1);
}
}
});
jQuery('#my_input').blur(function(){
jQuery.xhrPool.abortAll();
});
Run Code Online (Sandbox Code Playgroud)
我想我有一个我没有得到的优化技巧.谢谢你的帮助.
我正在使用 jsonP 将数据从 cookie,从域 A 发送到域 B。它运行良好,但我的问题不在这里。我刚刚意识到,如果我只script在我的域 B 上放置一个指向我的域 A的标签,那么我的域 A 的所有 cookie 都设置在我的域 B 上。
示例:我将此标签放在我的域 B 上:
<script src="http://mydomainA.com/"></script>
Run Code Online (Sandbox Code Playgroud)
只有这样,我域A的所有cookie都设置在我的域B上。我的问题是,这正常吗?我认为 cookie 需要一些黑客才能跨域,但我认为这并不容易。
对不起,我的英语不好,如果我的问题很愚蠢或者之前有人问过,我深表歉意。
提前致谢。
我开发了一个打开弹出窗口的插件.在这个弹出窗口中,我有一个关闭我弹出的链接并重定向父级的URL,如下所示:
window.parent.opener.location = "http://google.fr";
or
window.opener.location = "http://google.fr";
Run Code Online (Sandbox Code Playgroud)
两者都有效,但在IE的某些版本中,它们没有.我的父页面不在我的子页面的同一个域中,但即使是这种情况,它仍然不起作用.IE在底部放置一条消息,询问我是否要让网站执行此操作.我想知道是否有办法强制IE默认执行,而不降低安全性.谢谢.
javascript ×3
ajax ×1
blur ×1
cookies ×1
cross-domain ×1
dom-events ×1
jquery ×1
optimization ×1