.Contains(domain)) - это не совсем корректный код, я неспроста наговнокодил такую конструкцию:
new Uri(s.URL).Host.Split('.').Reverse().Skip(1).First().Trim().Equals(domain.Trim())
ибо нам нужно
точное вхождение на домен, как пример:
https://1ya.ru/
- доска объявлений
https://ya.ru/
- поисковик
находясь на
https://1ya.ru/
- активировать
https://ya.ru/
через
.Contains
уже не получится ...
и еще масса вариантов, когда new Uri.Host перед top-level будет иметь несколько точек впереди
Это вполне очевидное замечание, однако, маловероятно, что в бою такое попадется и я решил не усложнять, а сделать упор на то, что лучше постараться работать с именами вкладок. Например, открываешь вкладку с сайтом "site.ru" и назначаешь ей имя "моя вкладка". Потом обращаешься к этой вкладке по имени и никто не мешает возвращаться к проверке на соответствие домена, вдруг, там произошел редирект на "subdomain.site.ru", твой код схавает это, как и мой, впрочем, но это уже другой сайт по сути, а это повлечет за собой другие ошибки. Тут можно уже дальше развивать логику действий, но происходить это будет в нужной вкладке. А, если средиректило, например, на зеркало, находящееся на совершенно другом домене? лишняя вкладка останется висеть открытой и вскоре, возможно, вообще уронит инстанс. Так что, ориентироваться на одну только адресную строку в корне неправильно.
Часто решает не качество говнокода, а тщательно продуманная логика действий. Вот я о чем.