ブラウザで実行される、計算された HTML ドキュメントを生成する Web ページがあり、それを新しいブラウザ タブで開きたいと考えています。
簡単で汚い方法はこれを行うことです:
リーリーとてもシンプルです。しかし、これには私が気に入らない厄介な結果がいくつかあります。つまり、新しいタブの URL は のどこか を指す必要がありますが、新しいドキュメントは動的に計算されるため、 を指す がありません。 URL を指定しない場合は、Web ページの URL が使用されます。そのため、誰かが生成されたドキュメントを含むタブを更新すると、ドキュメントは消え、代わりに Web ページの新しいインスタンスが読み込まれます。これによりユーザーが混乱する可能性があります。
私のニーズにより適しているのは、データ URI を使用することだと思います。 Web ページのコンテンツ全体を URI 自体にエンコードし、window.open()
を使用して URI を開きます。これは醜いですが、意味的には私の目標、つまりページ更新時に誤って移動できない自己完結型の計算ドキュメントと一致しています。
私は、次のように非常にシンプルだと思うこの概念を構築しました。
リーリーこのコードを実行すると、新しいウィンドウが画面上で 1 フレーム点滅し、すぐに閉じます。エラーは発生しませんでした。
私は何を間違えたのでしょうか?
どうやら、すべての最新のブラウザは意図的かつ明示的に、このようなデータ URI の使用を 阻止しているようです。素晴らしい。
黒板のもう 1 つのチェックマークは、「私が必要としていた完璧なものが、最近私たちから奪われました。」です。良い。リーリー