Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ability to remove 'text' node #165

Open
AdamWr opened this issue Mar 30, 2023 · 2 comments
Open

Add ability to remove 'text' node #165

AdamWr opened this issue Mar 30, 2023 · 2 comments

Comments

@AdamWr
Copy link
Member

AdamWr commented Mar 30, 2023

Related to - #106
Another issue when it could be useful - AdguardTeam/AdguardFilters#146786
AdguardTeam/AdguardFilters#146872


Test page - https://jsfiddle.net/yehz25L4/

Code:
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
  </head>
  <body>
    <div id='test'> Advertisement <p> Test </p>
      <p> 1234 </p>
      <p> qwerty </p>
    </div>
  </body>
</html>

Rule which should remove text Advertisement:

fiddle.jshell.net#$?#:xpath(//div[contains(@id,"test")]/text()[contains(.,'Advertisement')]) { remove: true; }

ExtendedCss.query which should match element:

ExtendedCss.query(`:xpath(//div[contains(@id,"test")]/text()[contains(.,'Advertisement')])`)

I might be wrong, but I guess that it doesn't work currently, because isHtmlElement

export const isHtmlElement = (element: HTMLElement | Node | null): element is HTMLElement => {
return element instanceof HTMLElement;
};

returns false for text node and probably due to this, element is not matched.

@ameshkov
Copy link
Member

@slavaleleka can we assign it to release v2.1?

@slavaleleka
Copy link
Contributor

yes

krystian3w added a commit to FiltersHeroes/PolishAntiAnnoyingSpecialSupplement that referenced this issue Jul 2, 2023
AdguardTeam/ExtendedCss#165

Konwersja z CSS na JS, by działało w Firefox Mobile z uBlock Origin.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants