Security News
New Python Packaging Proposal Aims to Solve Phantom Dependency Problem with SBOMs
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.
@dadajam4/scroller
Advanced tools
本モジュールは大きく2つの機能を提供します。
Scrollerクラス DOM要素(DocumentElement含む)のスクロール情報を検知したり、スムーススクロールさせるためのクラスモジュールです。 ブラウザJS、Node.jsの両環境でユニバーサルに動作します。(Node.js上では処理がキャンセルされます) そのためSPAサービス等にそのまま組み込んで利用する事が可能です。 また、TypeScriptの型情報を併せ持つため、TypeScriptプロジェクトにおいて型情報を利用したコーディングが可能です。
スムーススクロール系メソッド root要素(document.scrollingElement)、もしくは任意のElementにおいてスムーススクロールさせるためのメソッドです。 これら全てのメソッドはScrollerクラスに含まれていますが、「スクロールだけを行えれば良い」場合こちらを直接利用します。
npm install @dadajam4/scroller --save
Scrollerクラスにおいて自身のスクロール領域のリサイズを検知するためにResizeObserverを利用します。(※スムーススクロール系メソッドでは必要ありません)未対応ブラウザにおいてはresize-observer-polyfillの利用をお勧めします。
import ResizeObserver from 'resize-observer-polyfill';
if (typeof window !== 'undefined' && !window.ResizeObserver) {
window.ResizeObserver = ResizeObserver;
}
import ResizeObserver from 'resize-observer-polyfill';
if (typeof window !== 'undefined' && !(window as any).ResizeObserver) {
(window as any).ResizeObserver = ResizeObserver;
}
import Scroller from '@dadajam4/scroller';
// Elementを未指定、かつブラウザ上である場合は
// ducument.scrollingElement が自動設定されます。
const scroller = new Scroller();
scroller.on('scrollEnd', e => {
console.log(e.totalAmmount);
});
SomeVueComponent = Vue.extend({
data() {
return {
innerScrollTop: 0,
// ...and more observable keys
}
},
computed: {
scrollTop: {
get() { return this.innerScrollTop },
set(scrollTop) {
this.innerScrollTop = scrollTop;
// >>> some actions...
},
},
// ...and more observable keys
},
methods: {
toElement(queryString) {
this._scroller.toElement(queryString);
},
},
created() {
this._scroller = new Scroller(this.$el);
this._scroller.observe(this);
},
beforeDestroy() {
this._scroller.destroy();
delete this._scroller;
},
});
// 必要に応じてメソッドをimportします
import {
scrollBy,
scrollTo,
scrollToElement,
scrollToSide,
scrollToTop,
scrollToRight,
scrollToBottom,
scrollToLeft,
scrollToLeftTop,
scrollToLeftBottom,
scrollToRightTop,
scrollToRightBottom,
} from '@dadajam4/scroller';
const result = scrollToElement('#some-element');
result.promise.then(() => {
// >>> スクロール完了後の処理,,,
});
FAQs
Service for DOM Element Scroll.
We found that @dadajam4/scroller 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
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.
Security News
Socket CEO Feross Aboukhadijeh discusses open source security challenges, including zero-day attacks and supply chain risks, on the Cyber Security Council podcast.
Security News
Research
Socket researchers uncover how threat actors weaponize Out-of-Band Application Security Testing (OAST) techniques across the npm, PyPI, and RubyGems ecosystems to exfiltrate sensitive data.