# openUrl

`http:` / `https:` の URL をユーザーの既定ブラウザで開きます。Fluxlay ホストが `tauri-plugin-opener` を呼び、OS の既定ハンドラ (Chrome / Safari / Edge 等) にルーティングされます。

## インポート

```tsx
import { openUrl } from "@fluxlay/react";
```

## シグネチャ

```tsx
function openUrl(url: string): Promise<void>;
```

## 使い方

```tsx
import { openUrl } from "@fluxlay/react";

function ExternalLink({ href, children }: { href: string; children: React.ReactNode }) {
  return (
    <button type="button" onClick={() => void openUrl(href)}>
      {children}
    </button>
  );
}
```

## 用途

壁紙 webview はサンドボックス化されており、ページ内から OS シェルへ navigate する手段はなく、`<a target="_blank">` も壁紙ウィンドウのフレームポリシーで弾かれます。`openUrl` は壁紙内のリンクをクリック可能にする唯一の手段です。

## 備考

- 受け付けるスキームは `http:` / `https:` のみ。`file:` / `javascript:` / 独自プロトコルは HTTP 400。
- promise はホストが OS に URL を渡した時点で resolve する。ブラウザがページのロードを完了するまで待つわけではない。
- `network:` 宣言は不要。OS のブラウザが起動してそちらが独立してリクエストを発行するため、壁紙 webview は fetch に関与しない。
