4

自分のサイトの iframe で実行されている Flash を無効にするにはどうすればよいですか?

その場しのぎのモバイル シミュレーターの iframe でサイトを表示するオプションをユーザーに提供する Web サイトがあります。Web サイトの見栄えがよくないことをユーザーに見てもらいたかったのですが、これは多くの理由で意図したとおりに機能しません。メタビューのポート設定などは考慮していませんが、後で調べます。もう 1 つの問題は、Flash が機能していて、それを望んでいないことです。そのため、iOS では動作しないことがわかります。

4

2 に答える 2

2

新しい HTML5 iframe サンドボックス属性を使用すると、sandbox 属性を含めることで、サポートされているブラウザーですべてのプラグイン (フラッシュを含む) を無効にすることができます。例えば:

<!DOCTYPE html>
<html>
    <head>
        <style>iframe{height:9000px; width:100%;}</style>
    </head>
    <body>
        <iframe sandbox="allow-scripts" src="http://www.adobe.com/software/flash/about/"/>
    </body>
</html>

Flash アニメーションやバージョン情報は表示されません。ただし、サンドボックスを使用しない同じコードは次のようになります。

<!DOCTYPE html>
<html>
    <head>
        <style>iframe{height:9000px; width:100%;}</style>
    </head>
    <body>
        <iframe src="http://www.adobe.com/software/flash/about/"/>
    </body>
</html>
于 2015-01-07T14:10:04.913 に答える
1

更新 - リックの回答をご覧ください

現在の HTML5 の使用方法はsandbox="allow-scripts"、Rick's answer で説明されています。


iframeサイトから別のドメインの を制御することはできません。

同じ起点ポリシーのため、スクリプトを実行してフラッシュを削除/変更することはできません。

これはセキュリティの問題です。iframe を含めて操作できると想像してください。http://nouveaus-bank.comを含む iframe を含めて、金額を入力してアカウントに送金するイベントをシミュレートできます。

iframe サンドボックス化の「allow-plugins」提案がありましたが、却下されました。

唯一のオプションは、サイトでプロキシを使用して代わりにドメインに配置するか、サーバー側で操作することです. クライアント側にコード スニペットを含めるように依頼できる場合は.postMessage、iframe でそれをインターセプトして、フラッシュを削除するよう依頼することができます。

于 2013-11-04T23:21:13.450 に答える