人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ある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」
というアドレスのページを、新たに開いたウィンドウのフレームに読み込ませることはできるでしょうか?
可能であれば、そのコードを教えていただけないでしょうか。

●質問者: nagahito
●カテゴリ:コンピュータ
✍キーワード:HTML JavaScript アドレス ウィンドウ コード
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● zizz_walla
●100ポイント

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>


2 ● zizz_walla
●400ポイント

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>

◎質問者からの返答

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


3 ● aki73ix
●400ポイント

http://nifberry.727.net/test/hatena117/hatena117.lzh

こちらはソース一覧

http://nifberry.727.net/test/hatena117/base117.htm

サンプルです

[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>


4 ● nazooooo
●400ポイント

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”>

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

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

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

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

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

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

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

http://www.hatena.ne.jp/</a>

</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を使う方がいいかと思います。

◎質問者からの返答

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ