WEBページ作成初心者?(独学ではや6年以上…)です。
ちょこっとJavaScriptを使ったページを作ってます。
余り意味は理解していません。こう言うのにはこれって感じです…

普通にXHTML1.0ですとiframeを使って、画面を作りだし、リンクをクリックすると
リンク内のtarget指定によりiframe内に違う情報(ページの変更)を出せます。
これをXHTML1.1においてobject要素だけでは無理なようです。
(object要素に違うページは表示できますがリンククリックしても新しいwindowでしか出ません)
これをJavaScriptを利用して、以前の様なフレーム構造を実現するコードを調べているのですが
さっぱり見つける事が出来ません…
かつ自分で開発する知識も無く、申し訳ないのですが、お知恵をお借りしたいと思い投稿しました。
色々別ページを操作するJavaScriptは調べて試してみたのですが、
何分知識と書籍が無く(中身を見ないと有益な情報かどうかわかりませんし、
田舎な物でこう言った専門的な参考書が殆ど売ってません…)
どうかお知恵をお貸し下さい。お願い致します…

このQ&Aに関連する最新のQ&A

A 回答 (9件)

外部サイトのflashやmovieは表示出来るので、


classidで外部サイトのhtmlが表示出来るかと
思たんだけど。
classidの載ってるサイトで、
IE6用なんて書いてあったけど、IE6も
classidを使わなくても表示出来る。

<script>
function changeObj(fname){
document.getElementById("objarea").innerHTML = ('<object data=" '+fname+' " type="text/html" width="80%" height="400"></object>');
}
</script>

<div id="objarea" style="position:absolute;left:100px;width:800px;height:400px">
<object data="0.html" type="text/html" width="800" height="400">
</object>
</div>

<div id="ul">
<li><a class="p1" href="#" onclick="changeObj('./1.html');">1.html</a>
<li><a class="p2" href="#" onclick="changeObj('./2.html');">2.html</a>
<li><a class="p3" href="#" onclick="changeObj('./3.html');">3.html</a>
<li><a class="p4" href="#" onclick="changeObj('./4.html');">4.html</a>
</div>

cssで位置決めすれば、好きな所に配置出来るから。

http://www.geocities.jp/n_a_o11/obj.html

この回答への補足

IE9ではしっかりpbject要素を普通に表示できるようになっている事を祈って
この質問を締めたいと思います。ありがとうございました。

補足日時:2011/04/23 20:58
    • good
    • 0
この回答へのお礼

度々ありがとうございました。私最近firefoxとかsafariとかダウンロードして使ってるんですが、そちらでは普通に外部(さっきのyahoo)も普通に見られました…
一体いつになったらIEはまともに対応するんでしょうか…
私の環境ではclassidのあのコードみたいなのを入れないと確か・・・
無地画面だったようなきがします。
classid使ってやっと画面が出た(インラインは表示されていたが、真っ白画面から目的ページが表示)気します。色々とありがとうございました。

お礼日時:2011/04/23 20:56

ご免間違えた。


http://www.geocities.jp/n_a_o11/obj2.html
classidとpでやってみたけど、自分のIEで表示されない。

この回答への補足

で、なんですが、その自分がアップロードしたページファイルだけを対象に、
その画面に出すにはオンクリックでやればよいということでしょうか?
非常に参考になりました!しかも私の求めていた情報です。
大変ありがとうございました。

補足日時:2011/04/23 14:47
    • good
    • 0
この回答へのお礼

外部はやはり表示出来ないのですね。
私の画面でもyahooは表示されなくて、1で赤2で黄色画面が表示され、
上記グラデーションをマウスオンするとその色に背景が変化しました。
あやふやな書き込みをしてしまいすいませんでした…

お礼日時:2011/04/23 14:39

classidでも外部のサイトは表示出来なかったけど。


XP IE8
其れで、下記で確認して見て。
http://www.geocities.jp/n_a_o11/obj.html
アクセス時はOKWave
Yahooと1.htmmlと2.html
どのように見えるか。
    • good
    • 0
この回答へのお礼

書き込みありがとうございます。すいません書くのを忘れていたのですが…一部補足ですが、objectを使ってこの方法だとアップロードで同一ディレクトリ内にある別のページ画面は読み込めますが全く違うサイトのページは読み込めません。
すいません、言い方が曖昧でした…
ですが同一ディレクトリ内というか自分のページはちゃんと表示されます。

お礼日時:2011/04/23 14:31

IEはobjectで外部サイトのページは表示出来ないよね。


IEはobject 内のdataの書き換えだけでchange出来ない。
他のブラウザはWINもMacも出来るけど。
IEの内部のページの変更は<object ~></object>を書き換える。

> object自体を、firefox、safari、opera
辺りですと表示出来ませんでした…

> しかもIEでかつどこかのサイトに落ちていたclassidという属性の

> 英語と数字の集まりを入力しないとIE8でも表示しませんでした

classidでIE8で外部サイトのページを表示したと言う事?
classidを使うと他のブラウザは表示出来なくなるよね。
もしclassidでIE8で外部サイトのページを表示したのならば、
ソースを見せてくれる?

この回答への補足

自分なりに調べた結果他人様のサイトでこう言う物を見つけました
<p>
<!--[if IE]>
<object type="text/html" classid="clsid:25336920-03F9-11CF-8FD0-00AA00686F13" data="./ph.html" width="285px" height="200px">
<p>non object</p>
</object>
<![endif]-->
<!--[if !IE]> <-->
<object type="text/html" data="./ph.html">
<p>non object</p>
</object>
<!--> <![endif]-->
</p>
これにて私のwin7IE8環境で外部データを只表示する事は出来ています。
逆に言うとfirefoxとかだとこのままだとなんだか表示されません。
重要なのが<p></p>とかで全体を囲う。あとはIE用のcassidです。
classid無いだけでさっぱり駄目です。さらにclassidあっても
<p></p>で囲わないと表示されません。という状況です。

補足日時:2011/04/23 09:24
    • good
    • 0
この回答へのお礼

回答ありがとうございます。一応他人様の知識でですがここまではきました。
ちなみにclassidは不変です。替える必要は無いみたいです。
そのままで問題なかったので。
ここからさらに外部を…と思ってしまったのでかなり悩みました。
なかなかfremeの様には扱えないようですね…

お礼日時:2011/04/23 09:27

javascriptで外部のhtmlを読み込むことは出来ます。



が、しかし、所詮javascriptなので検索エンジンには、
外部のhtmlの内容は認識されません。
SEO的によろしくないということになります。

ですので少々文字量が多いからといって、
外部ファイルにして、javascriptで読み込むというのはいかがなものかと思います。

管理や更新の問題でやっぱ外部ファイルにしたいんだけど。というときは、
phpなどのサーバーサイド言語を使います。
サーバーサイド言語なら検索エンジンに認識されます。


一番手っ取り早いのは外部ファイル化しないでタブ化するのが楽。

この回答への補足

軽~く齧った程度ですが、HTML5ではJavaScriptとHTMLの組み合わせで将来的に色々な事が出来る様になるらしい…(曖昧ですいません)ので、
色々とJavaScriptで対処していく方向の方がよいのかな?とも思っていました。
FlashやSilverlightもJavaScriptで代替できるようになり、Flashなどが
要らなくなるらしいのです。まぁAdobeさんは大反対らしいんですが・・・
こんな話をネットでみたもので、ちょっと色々いじってみようかとおもっています。

補足日時:2011/04/23 09:45
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
なるほど、JavaScriptだとそういう弊害もあるんですね。
PHPですか。perlはちょっと勉強しようと思って参考書あるんですが
そっちで頑張ってみます。
何となく色々な利用の可能性がobjectにはあるのかな?とおもって
そうなら上手く使えるようになりたいと思って色々がんばっております。
ありがとうございました。
サーバーサイドでも色々調べてみます。

お礼日時:2011/04/23 09:39

こういう仕組みの時ってobjectタグって使わないと思うんですよね。



普通は「タブ切り替え」という仕組みを使います。
http://www.0yen-coding.com/js-demo/demo/css04.html

この回答への補足

度々ありがとうございます。
なるほど…こういう方法があるのですね。
ですがその改変文字列がページ1枚分の量になった場合はやはり
無難にframeなどで別ページを読み込むのがベターなんですかね?
それともこれって外部ページも出力できますか?
試せばいいんですが…どうでしょうか?

補足日時:2011/04/21 07:41
    • good
    • 0
この回答へのお礼

何となくurl指定すると外部も行けそうな気もするんですがあくまで同一ページ内の記述の入れ替えだけですか?ほとんどJavaScriptの知識が無い物ですいません。回答ありがとうございました。

お礼日時:2011/04/21 07:45

何を実現したいのかもう少しはっきりと説明してもらえますか?



http://www.0yen-coding.com/test/object01/
こう言うことですか?

--------------------------------------------------
・Aをクリック
→Aの内容が<object>...</object>の中に表示する。

・Bをクリック
→Bの内容が<object>...</object>の中に表示する。

この回答への補足

そういう事です!!良くフレームレイアウトにある、メニューの画面と
ディスプレイとして使う画面が有り、その2個の別の画面を
メニュー側のリンクをクリックするとobject今まで出ていたページアドレスでなく
新しいリンクのアドレスを表示させる方法が知りたいです。
出来ればどのような方法で実現できるのか教えて下さい。

補足日時:2011/04/19 14:45
    • good
    • 0
この回答へのお礼

少々お礼が遅れて申し訳ありませんでした…様はそういう事が知りたいです。
target属性が使えないので、何を使うと実現できるのかがさっぱり分からなかったので、これはJavaSciptか?と安易ではありますが質問しております。
たった4,5日間、1日6時間位いじってもうへろへろです…
何となくarea属性を使うのかとかも考えましたが違う様な感じですし…
頭がおかしくなりそうです…
タグの基本的な事を理解していない為に怒るのかもしれませんが…
出来ればもう少しよろしくお願い致します

お礼日時:2011/04/19 14:51
    • good
    • 0
この回答へのお礼

またまたありがとうございます。
こちらの方は殆どのサイトのJavaScriptを質問前に試しましたが、結果、
フレーム要素ではなく、只ページ上にインライン要素としてスペースを作り、
別の情報、HTML、img、その他色々な物を出せるみたいですので、
今後はこう言う方面での使用が期待される物の様です。
やはり勉強でもして開発でもしないとむりなんですかね…
恐らくJavaScriptを使えば可能かと思ったもので。
やはりJavaScriptでDOM(というのがある位の知識です)を
操作する事により実現する可能性があると思います。
たぶん…ありがとうございました。
もうちょっとまってみます。
あ・・・私がIE8という環境なのが原因なんですかね??
とりあえず私の環境ですと、object自体を、firefox、safari、opera
辺りですと表示出来ませんでした…
しかもIEでかつどこかのサイトに落ちていたclassidという属性の
英語と数字の集まりを入力しないとIE8でも表示しませんでした…
この要素ってまだまだ使えないのでしょうか?
…お礼なんだかなんだかよくわからなくなりました
ありがとうございました

お礼日時:2011/04/15 22:00
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
この検索で見る限りHTML5においてはa要素およびarea要素は無くならず、
target属性もiframeの有用性から廃止される可能性がまずない(予定)のようで
わざわざobject要素で無理やり使用する事も無いようです。参考になりました。
ありがとうございます。

お礼日時:2011/04/15 21:50

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング

おすすめ情報