# 🚫 Yahoo!ニュース 全画面広告非表示 v1.0.0

Yahoo!ニュース（`news.yahoo.co.jp`）の記事ページを開いたときに出る、全画面のポップアップ広告（AliExpress 等の商品一覧オーバーレイ）を表示前に消す Chrome 拡張機能です。

権限（`permissions`）なし・通信なし。`news.yahoo.co.jp` 以外のサイトには一切影響しません。

---

## インストール手順

1. `yahoo-ad-hide` フォルダを**消さない場所**に置く
2. Chrome で `chrome://extensions` を開く
3. 右上の「デベロッパー モード」をオン
4. 「パッケージ化されていない拡張機能を読み込む」→ `yahoo-ad-hide` フォルダを選択
5. 開いている Yahoo!ニュースのタブをリロード

> すでに読み込み済みの場合は、`chrome://extensions` で「更新（リロード）」を押してから Yahoo!ニュースをリロード。

---

## 動作の仕組み

Yahoo!ニュースの記事ページには、`<div id="overlayAd"></div>` `<div id="interstitialAd"></div>` という広告専用の空 div が常設されている。広告が読み込まれると、ここに全画面の商品一覧オーバーレイ（AliExpress 等）が挿入される。

`*://news.yahoo.co.jp/*` の `document_start`（ページ本体の JS より先）で動く:

- **`hide-ad.css`**: `#overlayAd` `#interstitialAd` を `display: none !important` で即非表示にする。CSS はページの広告スクリプトより先に適用されるので、広告は最初から一瞬も表示されない
- **`content.js`**: MutationObserver でこの2つの div の中身を監視し、広告が挿入されたら中身を空にする（広告の読み込み自体を止める）。あわせて、広告表示時に JS でかけられることがあるスクロール禁止（`overflow: hidden` 等）も解除する

---

## 注意点

- Yahoo!ニュース側の実装（div の id）が変わると効かなくなる場合があります。そのときは `hide-ad.css` / `content.js` の `overlayAd` / `interstitialAd` を実際の id に合わせて調整してください
- 広告以外の目的でこの2つの div が使われていた場合、その表示も消えます（現状は広告オーバーレイ専用の枠として確認済み）

---

## ファイル構成

```
yahoo-ad-hide/
├── manifest.json    拡張機能の定義
├── content.js        広告divの中身を空にする＋スクロール禁止解除（document_start）
├── hide-ad.css        広告divを即非表示にするスタイル
├── icon16 / icon48 / icon128    アイコン
└── README.md          このファイル
```
