[英]How to change the Yahoo Mail, sign out URL?
这是我想出的代码(有很多外部帮助;我不太熟练使用JS):
setTimeout(function() {
var logout = document.querySelector('a.yucs-signout'),
link = "http://login.yahoo.com/config/login?logout=1&.src=cdgm&.intl=us&.direct=2&.done=http://ma
il.yahoo.com";
logout.setAttribute ('onclick', 'location.href =
\"' + link + '\"');
logout.setAttribute ('href', link);
}, 17000)
单击“注销”下拉菜单项时,我试图更改Yahoo Mail的注销URL,以便将您重定向回Yahoo Mail登录页面-而不是yahoo.com“主页”。 这样可以更轻松地登录另一个帐户。
我们无法使其正常工作。 甚至在代码中添加了超时,以防我的js运行太早。 还是不走。
我被告知“ <a id="yucs-menu_link_profile">
上的class =“ yucs-submenu-toggle”,在:hover上没有CSS表示正在使用javascript。”
注销控制屏幕截图:
您必须将鼠标悬停在该部分上才能使菜单下拉并查看“ 注销” 。
我还确保我的“包含页面”是https: https://*.mail.yahoo.*/*
我试图将其与Greasemonkey一起使用,为什么它不起作用?
编辑:我在想这个其他答案可能有一些有用的东西,例如其中的jQuery吗?
onclick
。 永远! 在这种情况下,无论如何都不需要任何形式的单击事件处理,并且可能会阻止页面的注销操作。 除此之外,该代码对我有用-至少在英国Yahoo邮件上。
还有一些小要点:
done
可变部分。
这是一个完整的工作脚本 :
// ==UserScript==
// @name _Fix Yahoo mail logout
// @include http://mail.yahoo.com/*
// @include http://*.mail.yahoo.com/*
// @include https://mail.yahoo.com/*
// @include https://*.mail.yahoo.com/*
// ==/UserScript==
//-- Only run in the top page, not the various iframes.
if (window.self === window.top) {
var logout = document.querySelector ('a.yucs-signout');
if (logout) {
var link = logout.href.replace (
/&\.done=[^&#]+(&?)/, "&.done=http://mail.yahoo.com$1"
);
logout.href = link;
}
else
console.error ("From GM script: Node 'a.yucs-signout' not found.");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.