mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-14 11:54:53 +03:00
Browser: An anchor link should open in a new tab when required
Previously, clicking on an anchor link (href="#section1") would always scroll to it on the current page, even if control was held or the target="_blank" attribute was set. This fixes that behaviour, and the link will always open in a new tab if required.
This commit is contained in:
parent
e5c2e53739
commit
78412ee76d
Notes:
sideshowbarker
2024-07-19 06:13:36 +09:00
Author: https://github.com/FalseHonesty Commit: https://github.com/SerenityOS/serenity/commit/78412ee76d5 Pull-request: https://github.com/SerenityOS/serenity/pull/2338
@ -146,15 +146,17 @@ Tab::Tab()
|
||||
};
|
||||
|
||||
m_html_widget->on_link_click = [this](auto& href, auto& target, unsigned modifiers) {
|
||||
if (href.starts_with("#")) {
|
||||
auto anchor = href.substring_view(1, href.length() - 1);
|
||||
m_html_widget->scroll_to_anchor(anchor);
|
||||
} else {
|
||||
if (target == "_blank" || modifiers == Mod_Ctrl) {
|
||||
auto url = m_html_widget->document()->complete_url(href);
|
||||
if (target == "_blank" || modifiers == Mod_Ctrl)
|
||||
on_tab_open_request(url);
|
||||
else
|
||||
on_tab_open_request(url);
|
||||
} else {
|
||||
if (href.starts_with("#")) {
|
||||
auto anchor = href.substring_view(1, href.length() - 1);
|
||||
m_html_widget->scroll_to_anchor(anchor);
|
||||
} else {
|
||||
auto url = m_html_widget->document()->complete_url(href);
|
||||
m_html_widget->load(url);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user