
はじめまして、勉強になります。色々調べてやってみたのですがどうしてもうまく動作してくれません。
やりたい内容は、あるページから同一ドメイン内のあるページに飛ばした時にアンカー情報(#~)付きで渡して、渡したページ先のインラインフレーム内のアンカーに移動させたいのです。
下のソースでstr変数がうまく渡っていないのか、受け取り側のスクリプトがまずいのかが分かりません。(ちなみに途中で変数をモニターする方法があるのでしょうか?)
一応次のページのURLバーには?以降のアンカー情報付きで表示されてはいるのですが、その?以降のアンカー情報がインラインフレームのURLに渡っていないような状態です。
以下省略ソースです。
【送信元】
<SCRIPT Language="JavaScript">
<!--
html1 = "飛ばす先.htm";
function watasu(str){
location.href = html1 + "?"+ str;
}
//-->
</SCRIPT>
</head>
<body ~
<img src="画像.jpg" onClick="watasu('#2')">
【受信側 親ページ】
<script language="JavaScript" type="text/javascript">
<!--
url1 = "liveevent_test.htm";
function jump2(){
url2 = "読み込むインラインフレーム.html";
str = location.search.substr(1,location.search.length-1);
top.インラインフレーム名.location.href = url2+str;
//top.インラインフレーム名.location.hash = #アンカー; <--ちなみにこの一行を上の一行と差し替えたら動きました。ですがここは前ページからの変数渡しにしたいのです。
}
// -->
</SCRIPT>
<body ~ onLoad="jump2()">~
<IFRAME SRC="読み込むページ.html" name="インラインフレーム名" >~</IFRAME>
どなたかヒントでもいいのでお力添えください…もしかして根本的なやり方がまずいのでしょうか。
よろしくお願いいたします。
No.4ベストアンサー
- 回答日時:
何度もすみません。
読解力無さすぎですね。おれ。
・a.html
・b.html
・ifame.html
-- a.html --
<html>
<head>
</head>
<body>
a.htmlです。
<div>
<span><a href="#" onclick="location.href('./b.html?a');">aへ</a></span>
<span><a href="#" onclick="location.href('./b.html?b');">bへ</a></span>
<span><a href="#" onclick="location.href('./b.html?c');">cへ</a></span>
<span><a href="#" onclick="location.href('./b.html?d');">dへ</a></span>
<span><a href="#" onclick="location.href('./b.html?e');">eへ</a></span>
<span><a href="#" onclick="location.href('./b.html?f');">fへ</a></span>
</div>
</body>
</html>
-- b.html --
<html>
<head>
<script>
function hoge(){
hoge = location.search.substring(1);
url = './iframe.html#' + hoge;
window.open(url, 'iframe_area');
}
</script>
</head>
<body onload="hoge();">
b.htmlです。
<iframe name="iframe_area" style="width:100%;height:50%">
</body>
</html>
iframe.htmlは、#2と同じ。
あーーーー出来ました。window.openを使うんですか~!!自分にとっては発想の大転換です。(window.openは別窓を開くのに使うものとばかり思ってました)
出来る人にとっては初歩的な所だと思うのですが、今回は大変勉強になりました。これを機に初歩的なところから勉強しようとつくづく思いました。何度も付き合って頂きありがとうございました。
No.3
- 回答日時:
a.htmlとb.htmlはフレーム分けされているのですか?
こんな感じで。
・parent.html(フレーム定義をするhtml)
・a.html(上フレームに表示される)
・b.html(下フレームに表示される)
・ifame.html(b.html内でiframeに表示される)
-- parent.html --
<html>
<frameset rows="60px,*">
<frame name="control_frame" src="./a.html"/>
<frame name="body_frame" src="./b.html"/>
</frameset>
</html>
-- a.html --
<html>
<head>
</head>
<body>
a.htmlです。
<div>
<span><a href="./iframe.html#a" target="iframe_area">aへ</a></span>
<span><a href="./iframe.html#b" target="iframe_area">bへ</a></span>
<span><a href="./iframe.html#c" target="iframe_area">cへ</a></span>
<span><a href="./iframe.html#d" target="iframe_area">dへ</a></span>
<span><a href="./iframe.html#e" target="iframe_area">eへ</a></span>
<span><a href="./iframe.html#f" target="iframe_area">fへ</a></span>
</div>
</body>
</html>
-- b.html --
<html>
<head>
</head>
<body>
b.htmlです。
<iframe name="iframe_area" style="width:100%;height:50%">
</body>
</html>
iframe.htmlは、#2と同じ。
度々ありがとうございます。
a.htmlとb.htmlはフレーム分けではなく、全くの別ページなので、a.htmlから直接target属性でiframeのnameを指定するとiframe.htmlが全画面で表示されてしまいます。
やりたいのはこのときに、b.html内のiframeのアンカーポイントに移動させたいのです。
<イメージ図>
■a.html─■b.html
└iframe.html
※a.htmlに<a href="./iframe.html#a"~など表記してます
うまく説明できてないかもしれません。すみません。とにかくありがとうございます。
No.2
- 回答日時:
やりたいのは、こういうことですか?
2つのhtmlファイルを作ってください。
・main.html
・iframe.html
です。
-- main.html --
<html>
<head>
</head>
<body>
<div>
<span><a href="./iframe.html#a" target="iframe_area">aへ</a></span>
<span><a href="./iframe.html#b" target="iframe_area">bへ</a></span>
<span><a href="./iframe.html#c" target="iframe_area">cへ</a></span>
<span><a href="./iframe.html#d" target="iframe_area">dへ</a></span>
<span><a href="./iframe.html#e" target="iframe_area">eへ</a></span>
<span><a href="./iframe.html#f" target="iframe_area">fへ</a></span>
</div>
<iframe name="iframe_area" style="width:100%;height:50%">
</body>
</html>
-- iframe.html --
<html>
<head>
<style>
tr{
height : 100px;
}
</style>
</head>
<body>
<table>
<tr><td style="background:red;"><a name="a">aです。</a></td></tr>
<tr><td style="background:blue;"><a name="b">bです。</a></td></tr>
<tr><td style="background:red;"><a name="c">cです。</a></td></tr>
<tr><td style="background:blue;"><a name="d">dです。</a></td></tr>
<tr><td style="background:red;"><a name="e">eです。</a></td></tr>
<tr><td style="background:blue;"><a name="f">fです。</a></td></tr>
</table>
</body>
</html>
回答ありがとうございます。試してみます。
私の説明が分かりずらいからかもしれないのですが、やりたいことがうまく伝わっていない可能性がありますので補足させていただきます。
A.html と b.htmlがあり、b.htmlの中でインラインフレームiframe.htmlを読み込んでいます。で、a.htmlのリンクに<a href="iframe.html#アンカー>と表記したのですが、アンカーポイントに飛びませんでした。b.htmlから<a href="iframe.html#アンカー>と書けば何も問題ないかとは思うのですが、どうしてもa.htmlから飛ばす必要がありますので、#アンカー部分を変数にしてb.html、iframe.htmlに渡せないかなと考えた次第です。
ご参考までに具体的なサイトのurlを貼っておきます。
http://www.leilandgrow.com/leilandgrow/index_js_ …
ここのindex.htmからliveevent.htmに飛ばし、cgiで生成したiframe内のアンカーポイント"#2"に飛ばしたいのです。よろしくお願いいたします。
No.1
- 回答日時:
単純にHTMLだけで以下の感じでやったらいけました。
--全体ページ(abc.html)--------------
<html>
<body>
aaaa<br>
<IFRAME SRC="bbb.html#tobu"></IFRAME><br>
bbbb<br>
</body>
</html>
--IFRAMEページ(bbb.html)--------------
<html>
<body>
aaa<br>
bbb<br>
ccc<br>
ddd<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br id="tobu">
kokonitobu?<br>
<br>
<br>
<br>
</body>
</html>
abc.htmlを開くとkokonitobu?の箇所に飛ぶはずです。
ただ、インナーフレーム自体あまり推奨されてなかったと記憶していますが。
回答ありがとうございます。できればhtmlのみでやりたいので試してみます。
私の説明が分かりずらいからかもしれないのですが、やりたいことがうまく伝わっていない可能性がありますので補足させていただきます。
A.html と b.htmlがあり、b.htmlの中でインラインフレームiframe.htmlを読み込んでいます。で、a.htmlのリンクに<a href="iframe.html#アンカー>と表記したのですが、アンカーポイントに飛びませんでした。b.htmlから<a href="iframe.html#アンカー>と書けば何も問題ないかとは思うのですが、どうしてもa.htmlから飛ばす必要がありますので、#アンカー部分を変数にしてb.html、iframe.htmlに渡せないかなと考えた次第です。
ご参考までに具体的なサイトのurlを貼っておきます。
http://www.leilandgrow.com/leilandgrow/index.htm
ここのindex.htmからliveevent.htmに飛ばし、cgiで生成したiframe内のアンカーポイント"#2"に飛ばしたいのです。よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フレームをこえるポップアップ
-
スマホ上で、左右スワイプで次...
-
フレーム リロード
-
PHPのないサーバーでの動的なペ...
-
フレームの大きさを変更する 等
-
リロードとの違い
-
LYCOS(WiseNut)のプレビュー機...
-
別ページのインラインフレーム...
-
上と左にフレームわけされてい...
-
<a href="#" …>の意味を教えて...
-
JavaScriptでiframeの内容を「...
-
Vbscriptで自分自身のウィンド...
-
MovableTypeで月間ログを表示し...
-
JavaScriptでのEnterキーとAlt+...
-
横スクロールを右から左へ・・・
-
リアルタイムに時計を表示する...
-
初歩的な文字入力フォームの添...
-
お気に入りアイコン設置の別な...
-
ポップアップウィンドウの位置
-
(Javascript)印刷するファイル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スマホ上で、左右スワイプで次...
-
openerは使えないのでしょうか?
-
フレームでの右クリック禁止
-
親ウィンドウの別フレームを子...
-
ブラウザのURLアドレス文字表記...
-
フレームのことで
-
submitボタンで他のフレームを...
-
フレームを跨ぐドロップダウン...
-
別ページのインラインフレーム...
-
Safariで<iframe>のinnerHTMLを...
-
インラインフレームで表示され...
-
textarea入力された文字をjump...
-
子フレームの自動リロードは可...
-
右フレームのテキストに、値を...
-
フレーム分割領域のサイズを変...
-
ブラウザごとに違うとは思いま...
-
2つ親のフレームにアクセスしたい
-
showModalDialog()による新規ウ...
-
フレームを分けたときに共通で...
-
名前が定義されていないiFrame...
おすすめ情報