
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
content-observer
Advanced tools
Watches targets position in viewport using IntersectionObserver - similar to menuspy
Watch one or more targets position for when they intersect a defined point in the viewport. Uses the Intersection Observer API
https://tflx.github.io/content-observer
<script src="dist/main.js"></script>
ContentObserver will be available in the global scope.
Or install via NPM/Yarn and require as a module
Install using Yarn:
yarn add content-observer
or NPM:
npm install content-observer --save
import ContentObserver from 'content-observer';
class App {
constructor() {
const co = new ContentObserver(document.querySelectorAll('.observe'), {
callback: this.handleCallback,
offset: 200, //or fx. '50%'
enableLocationHash: true,
direction: 'vertical'
});
}
handleCallback(target, inView) {
if (inView) document.querySelector('header').innerHTML = target.id.toUpperCase();
}
}
export default new App;
The constructor accepts two arguments: the targets (required) to watch and an options object.
To stop watching target(s):
co.disconnect()
| Name | Type | Default | Required | Description |
|---|---|---|---|---|
| callback | function | null | false | The function called when targets intersect/leaves the offset |
| offsett | number|string | 0 | false | The offset from top/left of viewport. A number indicates pixels from top/left of viewport. A string should be fx.: '50%' |
| enableLocationHash | boolean | false | false | Update the location hash when a target with an id intersects the offset |
| direction | string | 'vertical' | false | The scroll direction |
| Name | Description |
|---|---|
| disconnect | Stop watching target(s) |
Intersection Observer is the API used to determine if an element intersects the offset or not. Browser support is really good - With Safari adding support in 12.1, all major browsers now support Intersection Observers natively. Add the polyfill, so it doesn't break on older versions of iOS and IE11.
You can import the polyfill directly or use a service like polyfill.io to add it when needed.
yarn add intersection-observer
Then import it in your app:
import 'intersection-observer'
FAQs
Watches targets position in viewport using IntersectionObserver - similar to menuspy
We found that content-observer demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.