Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
テキスト省略表示ライブラリ。
Text truncation library.
<script src="https://unpkg.com/eripusisu@1.3.1/dist/eripusisu.umd.js"></script>
npm install --save Eripusisu
var Eripusisu = require("eripusisu");
次のような HTML を想定して解説しています。
<div class="container">
<!-- 任意の省略対象の要素(群) -->
</div>
<button class="button">開閉</button>
<div class="container">
<!-- 任意の省略対象の要素(群) -->
</div>
<button class="button">開閉</button>
:
:
省略表示をしたいコンテンツを含むコンテナー要素を取得し、Eripusisu
コンストラクタ―の第1引数に渡します。第2引数には省略表示にする行数を指定します。
// 省略表示をしたいコンテンツを含むコンテナー要素を取得する
var container = document.querySelector(".container");
// Eripusisu を実行する(3行で省略)
new Eripusisu(container, 3);
jQuery:
new Eripusisu($container$(".container")[0], 3);
// 省略表示をしたいコンテンツを含むコンテナー要素を取得する
var containers = document.querySelectorAll(".container");
// ループを利用して Eripusisu を実行する
for (var i = 0; i < containers.length; i += 1) {
new Eripusisu(containers[i], 3);
}
jQuery:
$(".containers").each(function () {
new Eripusisu(this, 3);
})
第3引数の toggleButton
プロパティに要素を渡すことで開閉ボタンが動作します。
// 省略表示をしたいコンテンツを含むコンテナー要素を取得する
var container = document.querySelector(".container");
// ボタン要素を取得する
var button = document.querySelector(".button");
// Eripusisu を実行する
new Eripusisu(container, 3, { toggleButton: button });
jQuery:
// 省略表示をしたいコンテンツを含むコンテナー要素を取得する
var container = document.querySelector(".container");
// ボタン要素を取得する
var button = document.querySelector(".button");
// Eripusisu を実行する
new Eripusisu(container, 3, { toggleButton: button });
設計上、幅の変化には自動的に追随しません。必要があれば、resize
イベントをハンドリングするなどして refresh()
メソッドを呼び出します。
var eripusisu = new Eripusisu(container, 3);
window.addEventListener("resize", function () {
eripusisu.refresh();
})
new Eripusisu(container, lines, options);
パラメーター | 必須 | 説明 |
---|---|---|
container | ✔ | 省略表示をしたいコンテンツを含むコンテナー要素 |
lines | ✔ | 省略表示する行数 |
options | オプション。後述 |
Eripusisu
コンストラクタは第3引数にオプションを受け取ります。
オプション名 | 型 | 説明 |
---|---|---|
expanded | boolean | 初期状態の開閉状態をあらわします。true にすると初期状態で開いた状態になります。初期値は false |
ellipsisText | string | 省略をあらわす文字列。複数文字を指定することも可能です。初期値は "…" |
toggleButton | HTMLElement | 開閉に使用するボタン。初期値は undefined |
rtl | boolean | RTL 言語(右から左に記述する言語)のときに true にする。初期値は false |
メソッド名 | 説明 |
---|---|
toggle | 呼び出すごとに交互に開閉します。引数に boolean を渡すと開閉方向を指定できます。 |
expand | 開きます。すでに開いている場合、何もしません。 |
collapse | 閉じます。すでに閉じている場合、何もしません。 |
refresh | 画面表示にあわせて省略位置を算出しなおします。画面や要素の大きさが変わったら refresh を呼び出す必要があります。 |
rebuild | DOM の変化には自動的に追随しません。コンテナーに含まれる要素が変わったら rebuild を呼び出す必要があります。 |
プロパティ名 | 説明 |
---|---|
visuallyCollapsed | 閉じているかどうかを表します。コンテンツが少なく閉じる必要がない場合は false を返します。 |
needsCollapse | コンテンツを閉じる必要があるかどうかを返します。コンテンツ量に応じて変動します。 |
イベント名 | 説明 |
---|---|
eripusisu-toggle | 開閉状態がトグルされたときに発火します。 イベントオブジェクトの detail プロパティから開閉状態がわかります。 |
最大限のパフォーマンスを発揮するように設計していますが、仕組み上、極めて軽快に動作するとは言えません。ページ内に多数の折りたたみ要素があるとユーザー体験を損ねる可能性があります。
MIT
FAQs
Text truncation library
We found that eripusisu 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.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.