ホームページ > ウェブフロントエンド > CSSチュートリアル > JavaScriptダイアログの今後の非推奨についての選択語

JavaScriptダイアログの今後の非推奨についての選択語

Christopher Nolan
リリース: 2025-03-21 10:29:11
オリジナル
362 人が閲覧しました

JavaScriptダイアログの今後の非推奨についての選択語

多くのJavaScriptの新人は、このシンプルなラインから始まります。

アラート( "Hello、world");
ログイン後にコピー

ただし、ChromeがCodepenサポートチケットの急増によって証明されているように、クロムのクロスオリジンIframes内のalert()機能の除去が広範囲にわたる問題を引き起こしました。この変更は、 confirm()prompt() 、およびonbeforeunloadのような他のネイティブJavaScriptダイアログの非難に加えて、セキュリティのためにクロスオリジンのiframesに大きく依存するCodepenのようなWebサイトに大きく影響します。事前の警告の欠如がフラストレーションに追加されました。

セキュリティの懸念は理解できますが(JavaScriptダイアログは起源に関係なく同一に見えますが、ユーザーを混乱させる可能性があります)が、突然の変化はサンドボックスなどの既存のソリューションを見落としています。<iframe sandbox=""></iframe>堅牢なセキュリティを提供し、特定の機能を選択的に有効にします(<iframe sandbox="allow-scripts allow-downloads ...etc"></iframe> )。既存のallow-modals属性は不十分であると思われ、より広い目標を示唆しています:WebプラットフォームからのJavaScriptダイアログの完全な削除。

この劇的な尺度は、無数のチュートリアルとアプリケーションを破壊します。クロスオリジンの制限は2022年1月まで遅れていますが、Chrome、Firefox、およびSafariがサポートする計画された完全な除去は非常に懸念されています。十分な開発者とユーザーの相談の欠如は、大きな批判です。

提案された代替、 postMessage 、いくつかの欠点を提示します。

  1. 非ブロッキング動作: JavaScriptダイアログとは異なり、 postMessage実行を停止せず、アプリケーションの流れを変更します。
  2. コードインジェクション:開発者にユーザーコードにコードを注入するように要求すると、技術的な負債と予期しない副作用が導入されます(たとえば、CSSセレクターの動作の変更)。
  3. セキュリティリスク:ユーザー生成データを親フレームに渡すと、潜在的なXSSの脆弱性が導入されます。

window.alert = console.logのようなよりシンプルな回避策は、同様の問題を共有します。

多くの開発者が懸念を表明しています:

  • Jaden Baptista: IFRAME自体にアラートを含むことを提案し、セキュリティとUXの両方を改善します。
  • マシュー・フィリップス:他のウェブサイトよりも特定のウェブサイトに優先順位を付けると決定を批判しています。
  • Dan Abramov:既存のユースケースと実装の複雑さに対する敬意の欠如に懸念を表明しています。
  • Ben Lesh:一部のアプリケーションはalert()のブロッキングの性質を機能として使用していることを指摘しています(たとえば、ゲームの一時停止)。

ダン・アブラモフが強調しているように、クロスオリジンIFRAMEのこれらの関数を使用したページビューの0.006%の引用メトリックは誤解を招くものです。アカウント削除フローなどの重要な機能は頻繁にアクセスできないかもしれませんが、それでも不可欠です。

クリス・フェルディナンディとジェレミー・キースは、コミュニケーションの欠如とWeb開発への大きな影響をさらに強調しています。 Google内の一部の一部からの妥協の回答は、問題を悪化させるだけです。

Webの進歩に対するGoogleの貢献を認めながら、この批判は、開発者とユーザーのアウトリーチの欠如、影響と移行戦略の不十分な議論、および行動方針の調整に対する開放性の欠如に焦点を当てています。将来のWebプラットフォームの変更には、より多くの共同および透明なプロセスが重要です。

以上がJavaScriptダイアログの今後の非推奨についての選択語の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
関連するチュートリアル
人気のおすすめ
最新のコース
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート