Web Share API
Web Share API というのがあるんだなあ、ということで付けてみた。ファイルもこれで共有できるみたい。知らなかった。
Firefox は未対応。あとmacOSの共有はあんまり意味ないので、SNSの共有ボタンをまるごと代替できるものではないようだ。
customElements.define('web-share-button', class extends HTMLElement {
connectedCallback() {
const title = this.getAttribute('title');
const url = this.getAttribute('url');
if (!navigator.share) {
this.style.display = 'none';
return;
}
// Web Share API 対応: ボタンを表示
const button = document.createElement('button');
button.className = 'share-button';
button.textContent = '共有';
button.addEventListener('click', async () => {
try {
await navigator.share({ title, url });
} catch (err) {
if (err.name !== 'AbortError') {
console.error('共有エラー:', err);
}
}
});
this.appendChild(button);
}
});
https://github.com/cho45/ticker-generator でも対応させてみた。
こんな感じ。Android の「共有」のペインの最上位、DMとかチャットとかが表示されて消せないのがひどい。このためだけにゲストモード設定が必要になる pic.twitter.com/cfmiz7I0Zj
— ショ糖 (@cho45) January 9, 2026
関連エントリー
- mbed USBSerial を WebUSB から扱うには mbed USBDevice ライブラリの中に USB CDC で動く USBSerial クラスが実装されている。これを Web USB ...
- Spring MVC で @Async と @RequestScope を共存させるには? @Async と @RequestScope を同時につかうとどうなるか @RequestScope、これは @Scope(value = ...
- Node.js の fs モジュールだけで GPIO の割込みを扱うには? 以下のようにすれば動くことが確認できた。 select や poll を明示的に呼び出すことができないが、edge を設定しさえすれば fs...
- JSでシステム時計の変化(時刻変更、NTP同期)を検知する performance.now() が monotonic (単調増加) なことを利用すると、システム時計の変化を比較的高精度に得られるなと...
- Benchmark.js の結果表示を改善する Benchmark.js ちゃんと使えるので良いのですが、計測を頑張っている割に結果表示が貧弱というのが悲しいところです。 なので Perl...
