初めて質問させていただきます。情報に不足があったらすみません。
追加表示させていただきます。
色々調べましたが、Javascriptで、どうしても、実現できないので、
どなたか、ご教授いただけませんでしょうか・・・。
XHTMLのファイルだと、IEだとちゃんと表示されないので、
IEとIE以外のブラウザで下記のようにリンク先ファイルの種類をかえたいとおもっています。
(1)IE以外 : A.html これは → <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio …
(2)IE :B.html これは→ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
クリックするとリンク先が開くヘルプファイルのようなものなのですが、
ブラウザによって、クリックしたときに開くHTMLファイルを変えたいのですが
可能でしょうか・・・。
色々調べましたがどうしてもわかりませんでした。
どなたかご教授いただけたら、本当にとてもありがたいです。
どうぞよろしくお願いします。
No.4ベストアンサー
- 回答日時:
1さんのスクリプトはbodyの中です。
丸々コピーすればそのまま使えるはずです。ちょっと無理やり互換モードを達成する方法を見つけました。暫定的処置ですが、IEは互換モード、それ以外は標準準拠モードになります。
まず、xml宣言有りのxhtmlを用意します。
これをhead内に追加。
<meta http-equiv="X-UA-Compatible" content="IE=5"/>
xml宣言の中央にある区切りは通常半角スペースですが、これをtabの空白に置き換えます。
<?xml version="1.0"encoding="UTF-8"?>
↑ここです。(回答ではただの半角になってしまうので、コピーではなく直に編集してください)
ネット上にはいろいろCSSのバグ関連の記事が転がっていると思うので、それを調べておくと作るときに悩むことが少なくなりますよ。
http://adp.daa.jp/web.html
できました!!!ありがとうございます!!!
本当に助かりました!!!!
ありがとうございました!!
バグについてもじぜんに調べることにしました。
ご教授いただいたページは、とてもわかりやすかったです。
本当にありがとうございました
No.3
- 回答日時:
表示に使用されているブラウザの種類を調べて、出力するHTMLを変えたいと言うことでしょうか?。
基本的にはサーバーサイドのプログラム(CGI、Servlet等)でブラウザタイプ(HTTPリクエストヘッダより判別出来るはず)を調べてHTML出力を制御するのではないでしょうか?。
参考まで。
この回答への補足
すみません、知識が無さ過ぎて、おっしゃってくれたことの意味をちゃんと理解することができませんでした・・・。
サーバサイドのプログラムというのは、今回で言うと、私のHTMLをおくサーバのプログラムということでしょうか?
つまり、CGI、Servlet等で、ブラウザを調べるプログラムを組まないといけないということでしょうか・・・・?
「表示に使用されているブラウザの種類を調べて、出力するHTMLを変えたいと言うことでしょうか?」
↑まさにおっしゃるとおりです。
なぜなら、作ったJ-queryではIEでは上手く動作してくれなかったからです・・。
しかし、私では、そのJ-queryをIE対応に直す技術がないということもわかりました。
そこで表示させるHTMLファイル自体の名前を変えて、2ファイル作り、リンクをブラウザによって分けようとおもった次第でした。
No.2
- 回答日時:
ちゃんと表示されないということはCSSでしょうか?
DTD宣言を変更するより、条件付コメントを利用してcssを読み込み、IEでも標準準拠モードで表示できるように上書きしてみてはどうでしょうか。
http://www.respect-pal.jp/coding-text/tips/07.php
ありがとうございます!!!
そうです、CSSなんです!!!
マウスオンで、別のテキストが表示されるようなJ-queryをくみましたがHTMLだとIEでは動作し、その他のブラウザでレイアウトが崩れてしまいます。
そしてXHTMLだと、IEでは動作が変で、他のブラウザではちゃんと動作するのです。
そこで、IEとその他のブラウザで開くHTMLファイルを変えようかとおもった次第でした。
すみません、全然説明が不足しておりました。
条件付コメントですね!
ありがとうございます!!!
ちょっとやってみます、できたらまたご報告いたします。
取り急ぎお礼させていただきました
本当にありがとうございました!!
No.1
- 回答日時:
よくわからん話ですが、クリックしたときに開くHTMLファイルを変えたいのなら、
「XHTML1.0 traditionalで作ったページと、HTML4.01 strict で作ったページを別のファイル名にしておくしかない!クリックされたらIEのjscriptの条件付コンパイルで、リンク先のURLを変える」と、思うんですがそおいう質問じゃ無いですよね。
<a href="A.html" id="hoge">Jump</a>
<script type="text/javascript">
var url = /*@cc_on@if(1) B.html;@else@*/ A.html;/*@end@*/
document.getElementById("hoge").href = url;
</script>
それとも、条件付きTAGの話でしょうか、例えばIEの時だけ別の外部CSSを使うんなら
<link rel="stylesheet" href="other.css" type="text/css" media="screen" />
<!--[if IE]>
<link rel="stylesheet" href="IE.css" type="text/css" media="screen" />
<![endif]-->
みたいなのもありますけど..
この回答への補足
すみません、とても基本的な質問をさせていただいていいでしょうか。たぶんご説明いただいた前者のソースで実現できそうなのですが、
var url = /*@cc_on@if(1) B.html;@else@*/ A.html;/*@end@*/
document.getElementById("hoge").href = url;
この部分はどのように記述したらよいのでしょうか・・・。
またこれで、ブラウザを判断している部分はどこになるのでしょうか。*や@はJAVAで見たことがないのですが、そのまま書き込んでしまっていいのでしょうか?
すみません、ご教授お願いできますでしょうか。
ありがとうございます!!
すみません、情報が不足しておりました。
「XHTML1.0 traditionalで作ったページと、HTML4.01 strict で作ったページを別のファイル名にしておくしかない!クリックされたらIEのjscriptの条件付コンパイルで、リンク先のURLを変える」
ということでした!すみません。
CSSを利用したXHTMLファイルがありますが、それを
HTMLのDTD宣言をすると、IEではうまくいき、IE以外では上手く行かず、
XHTMLのDTD宣言をすると、IEではうまくいかず、IE以外で上手くいく
という状況です・・・。
つまりなぜ上手くいっていて、なぜ上手く行かないのかがわからないので
宣言内容を変えて、おっしゃられるとおりにファイルを2つにわけようと考えた次第でした。
よく考えてみると条件付CSSだと、私にはIEで上手くいかない理由がさっぱりわからないので、条件をつけても、IEで動作させるCSSを作ってあげることができません・・・
つまりyyr446さんのおっしゃるXHTML1.0 traditionalで作ったページと、HTML4.01 strict で作ったページを別のファイル名にしておくしかない!クリックされたらIEのjscriptの条件付コンパイルで、リンク先のURLを変えるという方法で、実現できるとおもいました!
全く説明がわかりずらくてすみませんでした。
ちょっとやってみます!!
取り急ぎお礼させていただきました。
本当にありがとうございました!!!
できたらまたご報告させていただきます!
ありがとうございました!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ASP・SaaS FC2 BLOG <AUDIO TAGを入れプレビューはOk テーンプレートを更新すると ✖ 1 2023/08/14 11:40
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- Windows 10 パソコン初期化の件です 2 2022/06/05 11:05
- その他(パソコン・周辺機器) EXCELで「WEBオプションの対象ブラウザ」を変更する方法 2 2023/04/12 15:44
- HTML・CSS cssが効かなくて困ってます 1 2023/01/01 23:57
- Excel(エクセル) 【エクセルマクロ】既に開いているIEの、サイズや表示位置を変更するには 4 2022/12/01 22:57
- その他(ブラウザ) IE・edgeで日増しに観られるサイトが減ってくる。 1 2022/10/04 22:40
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- InternetExplorer(IE) Microsoft edgeのIEモードを解除したいのですが。 3 2023/04/09 13:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フレーム内の要素へのXPATHはど...
-
AjaxでSJISファイル読み込みす...
-
javascriptからのphpクラス...
-
JavascriptからPHPへのAjax通信...
-
要素内を常に一番下を表示させたい
-
jQueryを使いformでsubmitした...
-
C言語の 配列の中 出力について
-
変数にドットをいれることはか...
-
.txtファイルの読み込み
-
<input>のvalue値をプルダウン...
-
二つのbxsliderをレスポンシブ...
-
Selenium4でボタンをクリックで...
-
Googleマップに複数のピンを立...
-
リンク付きの画像をクリックす...
-
Javascriptを使ってQRコード読...
-
プルダウン内容に応じてラジオ...
-
カンマ区切りのデータを配列に...
-
Ajaxでフォームデータを連続登...
-
IndexedDB を使ってファイルア...
-
bxsliderで画像毎に表示時間を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
インラインフレームを自動更新...
-
jQuery toggle() 戻るで開いた...
-
jQueryで追加した要素がマウス...
-
AjaxでSJISファイル読み込みす...
-
$.postとPerlのデータ受け渡し...
-
jQueryでloadした部分に.jsが効...
-
Folder.selectDialog()について
-
リンク元のURLのパラメータでペ...
-
div要素の入れ替え。半透明イメ...
-
一定時間ごとに表示内容を切り...
-
毎日午前0時にhtmlを切り替えた...
-
Safariでの onload="getData()"...
-
jQuery loadで要素差し替え
-
phpからget送信で持ってきたデ...
-
Fire Foxで作動しないscriptが...
-
location.replaceでの移動
-
XMLHttpRequest()で、読み込む...
-
日付が変わると自動更新
-
jQueryのloadメソッドが時々反...
-
slideToggleを複数のボタンで適...
おすすめ情報