JavaScriptを使用してiFrameのMIMEタイプを動的に設定することは可能ですか?DIVについても同じ質問ですか?
2 に答える
いいえ。
MIMEタイプは、ロードする内容によって決まります。
指定されたものになるフレームの場合src
。
Divは外部コンテンツをロードしないため、MIMEタイプはありません。
私はあなたが必要とする答えを持っているかもしれません。私たちの目的は異なるかもしれませんが。
.htmプログラムにテキストデータを含めるためにiframeを使用しているため、iframeのMIMEタイプ を指定するのに何日も費やしました。テキストデータ拡張子ファイル名が.txtでない場合、WebブラウザはmyIframeElement.contentDocument.lastChild.innerTextに表示されるのではなく、予期せずにローカルディスクに保存します。<===問題!!
問題を解決するために私が最終的に知った知識は次のとおりです。iframeMIMEタイプを指定するのは、クライアントブラウザではなくWebサーバーです。以前はPythonローカルWebサーバーのonelinerを使用して
いましたが、python -m SimpleHTTPServer 8888
どちらpython -m http.server 8888
もデータファイルの独自の拡張子名に対して特定のMIMEタイプに誤って応答していました。
私の解決策は、単に別のローカルWebサーバーを使用することです。Githubでのこの非常に短いソリューションは 、Node.jsによるローカルWebサーバーで問題なく機能します。ソースコードを調べて、なぜ機能するのかを確認できます。
response.writeHead(200);
response.write(file, "binary");
response.end();
...そしてこのあたりのケースに必要なMIMEタイプに変更します。
このNode.jsローカルWebサーバーを実行する例(Windows):d:\>node.exe static_server.js
これがお役に立てば幸いです。