美好的一天,
在 stackoverflow 上找到的一段代码的帮助下,我成功地拼凑出了我自己版本的模糊标题更改脚本。
我面临的唯一问题是,当我加载页面时,我没有点击页面本身的任何位置{因此我没有“聚焦”}脚本不起作用。
我添加了一段代码,复制了 focus 方法并将其更改为加载。
$(function () {
var message = '( ! ) :+Do not forget your reservation+:';
var original = $('title').text();
$(window).load(function () {
console.log('window focussed');
if (original) {
document.title = original;
}
}).focus(function () {
console.log('window focussed');
if (original) {
document.title = original;
}
}).blur(function () {
console.log('window blurred');
var title = $('title').text();
if (title != message) {
original = title;
}
document.title = message;
});
console.log('current title : ' + original);
});
但这并不能完全解决我的问题。 此时,我需要单击另一个选项卡,返回并再次单击另一个选项卡。所以这是毫无意义的。
为了让这个脚本从一开始就正常工作,我缺少什么?
<小时/>解决方案 非常感谢:@Brian
添加尾随的 focus();
就可以了。 (不是福特的那个......这很棒,但在这里不起作用)
最佳答案
将 .focus()
调用添加到链的末尾,以强制加载 focus
事件:
$(function () {
var message = '( ! ) :+Do not forget your reservation+:';
var original = $('title').text();
$(window).load(function () {
console.log('window focussed');
if (original) {
document.title = original;
}
})
.focus(function () {
console.log('window focussed');
if (original) {
document.title = original;
}
})
.blur(function () {
console.log('window blurred');
var title = $('title').text();
if (title != message) {
original = title;
}
document.title = message;
})
.focus(); // add this line
console.log('current title : ' + original);
});
关于javascript - JQuery 将浏览器标题设置为模糊,以便在没有焦点的情况下工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52080021/