あるhtmlファイルがあって、その中に、タグで囲むなり、記号で囲むなりした形で、「http://xxxxxxxx」というアドレスを記述してあります(どのように記述するのが最適なのかは分かりませんが、とにかく、マークアップした形で記述することができます)。


そして、このページから別途JavaScriptで
<html><head><title> </title></head>
<frameset rows=70%,30%>
<frame src=”http://xxxxxxxx”>
<frameset cols=15%,85%>
<frame src=”aaaaaaa”>
<frame src=”bbbbbbbb”>
</frameset>
</frameset>
</html>
というあらかじめ用意しておいたファイルを開きたいのですが、この場合、元のページにあった「http://xxxxxxxx
というアドレスのページを、新たに開いたウィンドウのフレームに読み込ませることはできるでしょうか?
可能であれば、そのコードを教えていただけないでしょうか。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/01/31 22:10:29
  • 終了:--

回答(4件)

id:zizz_walla No.1

zizz_walla回答回数121ベストアンサー獲得回数02005/01/31 22:45:38

ポイント100pt

http://www.hatena.ne.jp/1107177029#

人力検索はてな - あるhtmlファイルがあって、その中に、タグで囲むなり、記号で囲むなりした形で、「http://xxxxxxxx」というアドレスを記述してあります(どのように記述するのが最適なの..

以下のhtmlを試してみてください。

name=”test” で動的に変更するフレームを指定しています。

<html>

<head><title> </title>

<script type=”text/javascript”>

<!--

function func() {

document.all.test.src = ”c.html”;

}

// -->

</script>

</head>

<frameset rows=”70%,30%” onload=”func()” >

<frame name=”test” src=””>

<frameset cols=15%,85%>

<frame src=”a.html”>

<frame src=”b.html”>

</frameset>

</frameset>

</html>

id:zizz_walla No.2

zizz_walla回答回数121ベストアンサー獲得回数02005/01/31 23:28:44

ポイント400pt

http://www.tohoho-web.com/js/element.htm

エレメント(Element)

先ほどの回答は早とちりで外部ファイルという条件が抜けていました。すみませんでした。

外部に次のようなdata.htmlファイルがあるとすると

--- data.html ---

<html>

<body>

<p id=”file”>c.html</p>

</body>

</html>

--- data.html ここまで---

次のようなJavaScriptでフレームのソースを動的に変更することができます。

<html>

<head><title> </title>

<script type=”text/javascript”>

<!--

function func() {

temp=window.open(”data.html”,””,”left=10000,width=100,height=100”);

file=temp.document.all.item(”file”).innerText;

temp.close();

document.all.test.src = file;

}

// -->

</script>

</head>

<frameset rows=”70%,30%” onload=”func()” >

<frame name=”test” src=””>

<frameset cols=15%,85%>

<frame src=”a.html”>

<frame src=”b.html”>

</frameset>

</frameset>

</html>

id:washita

ありがとうございます。ただ、これだとdata.htmlというファイル名は固定ですよね? 開く元の外部ファイル名もそれぞれ異なるので、そのファイル名を取得させて欲しいのですが… いかがでしょうか?

2005/02/01 00:22:12
id:aki73ix No.3

aki73ix回答回数5224ベストアンサー獲得回数272005/02/01 02:20:45

ポイント400pt

こちらはソース一覧

サンプルです

[base117.htm]

<html>

<head>

<title>テスト</title>

</head>

<BODY>

<A HREF=”h117_1.htm”>テスト1</A>

<A HREF=”h117_2.htm”>テスト2</A>

<A HREF=”h117_3.htm”>テスト3</A>

</BODY>

</html>

それぞれのリンクにとぶとフレームつきで再構築されます

[h117_1〜3.htm]共通

<html>

<head>

<title>テスト</title>

</head>

<BODY BGCOLOR=”#ff80ff”>

<SCRIPT LANGUAGE=”JavaScript”>

<!--

if(parent == self )location.href=”hatena117.htm?ここに固有のURLを入れます”;

//-->

</SCRIPT>

この部分にそれぞれの内容を書きます

</BODY>

</html>

[h117a/b.htm]

<html>

<head>

<title>テスト</title>

</head>

<BODY>

<SCRIPT LANGUAGE=”JavaScript”>

<!--

if(parent == self )location.href=”hatena117.htm?h117a.htm”; // <- aやbのフレームのURL

//-->

</SCRIPT>

A/Bのフレームの内容です

</BODY>

</html>

これが本体です

[hatena117.htm]

<html><head><title>

</title></head>

<SCRIPT LANGUAGE=”JavaScript”>

<!--

document.write(’<frameset rows=70%,30%>’);

document.write(’<frame src=”h117.htm” NAME=”TOP”>’);

document.write(’<frameset cols=15%,85%>’);

document.write(’<frame src=”h117a.htm” NAME=”LEFT”>’);

document.write(’<frame src=”h117b.htm” NAME=”RIGHT”>’);

document.write(’</frameset>’);

document.write(’</frameset>’);

if(location.search==””){

}

else{

link=location.search.substring(1,999);

if(link==”h117a.htm”){

top.LEFT.location.href =link;

}

else if(link==”h117b.htm”){

top.RIGHT.location.href =link;

}

else top.TOP.location.href =link;

}

// -->

</script>

</html>

id:nazooooo No.4

nazooooo回答回数26ベストアンサー獲得回数02005/02/01 16:44:01

ポイント400pt

http://www.tohoho-web.com/js/dom.htm

ドキュメントオブジェクトモデル(DOM)

今ひとつやりたい事が判らなかったのですが、一応こんな感じでどうでしょうか。

----- list.html -----

<html>

<head>

<title>list</title>

<script type=”text/javascript”>

<!--

function go(oid) {

nw = window.open(”frame.html?”+oid,”hoge”);

nw.focus();

}

// -->

</script>

</head>

<body>

<a href=”#” onClick=”go(’1’)” id=”1”>

<a href=”#” onClick=”go(’2’)” id=”2”>

<a href=”#” onClick=”go(’3’)” id=”3”>

http://www.infoseek.co.jp/</a>

楽天が運営するポータルサイト : 【インフォシーク】Infoseek

<a href=”#” onClick=”go(’4’)” id=”4”>

</body>

</html>

----- frame.html -----

<html>

<head>

<title>frame</title>

<script type=”text/javascript”>

<!--

function go() {

url = location.href;

oid = url.substring(url.indexOf(’¥?’)+1);

elem = window.opener.document.getElementById(oid);

openUrl = elem.firstChild.nodeValue;

tgt.location.href=openUrl;

}

// -->

</script>

</head>

<frameset rows=”70%,30%” onLoad=”go()”>

<frame name=”tgt” src=””>

<frameset cols=”15%,85%”>

<frame src=””>

<frame src=””>

</frameset>

</frameset>

</html>

外部ファイルは任意で同じ書式になっていればいいはずです。

あとdocument.allやelement.innerTextはIE依存なのでdocument.getElementById()やelement.firstChild.nodeValueを使う方がいいかと思います。

id:washita

みなさまありがとうございます。おかげさまで、実現できました。

2005/02/01 20:31:58

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません