What approaches are there to create an overlay over a web application using a Chromium extension?

What I mean by "overlay over a web application using a Chromium extension": There is an old, proprietary web application at work that is a nightmare to work with (e.g., every link is a windowed popup), so I would like to "smooth out" the experience by modernizing it. IT restrictions don't allow me to write a service with web server that modifies the content of the old site by scraping it, but I can write a Chromium extension. With what I know, the only thing that comes to mind is: Load an "entry page" using either options below: open one of the most frequently used pages of the old site and inject a content script that will modify the page (and subsequently opened pages) to my liking fetch the popular old site page in the extension service worker, insert the modified DOM into an extension HTML page, and load that I haven't found any examples for the latter, so I'm not sure if it is even possible. The extension service worker will fetch the pages from the old web app if some need to be combined to be presented as one, and the content script will inject them to the current page / extension page whenever needed. Not sure how much of this is possible or if this entire plan is a pipe dream, so please don't hesitate to point out even the most obvious errors. I tried using bookmarklets to get rid of most of the egregious usability issues, but they don't scale well, and they also have serious limitations.

What approaches are there to create an overlay over a web application using a Chromium extension?

What I mean by "overlay over a web application using a Chromium extension": There is an old, proprietary web application at work that is a nightmare to work with (e.g., every link is a windowed popup), so I would like to "smooth out" the experience by modernizing it. IT restrictions don't allow me to write a service with web server that modifies the content of the old site by scraping it, but I can write a Chromium extension.

With what I know, the only thing that comes to mind is:

  1. Load an "entry page" using either options below:

    I haven't found any examples for the latter, so I'm not sure if it is even possible.

  2. The extension service worker will fetch the pages from the old web app if some need to be combined to be presented as one, and the content script will inject them to the current page / extension page whenever needed.


Not sure how much of this is possible or if this entire plan is a pipe dream, so please don't hesitate to point out even the most obvious errors. I tried using bookmarklets to get rid of most of the egregious usability issues, but they don't scale well, and they also have serious limitations.