- PR -

IFRAME内のアンカー

1
投稿者投稿内容
ビギ
ベテラン
会議室デビュー日: 2006/04/03
投稿数: 56
投稿日時: 2008-04-08 15:07
下記のようなことをしたいのですが、うまくいきません。

1.CGIプログラムで情報をはきだす。
 その中にIFRAMEあり。
2.はきだした内容にonLoad関数をいれ、IFRAMEの中に情報をはきだす。
 最初はblank.htmlのようにセットしているが、onLoad関数で正しい情報を
 表示させる。
 iframe内の情報は多いため、scroll表示あり。
3.最初に表示させた部分にアンカーを貼り、IFRAME内の希望場所を
 表示できるようにする。


つまり、IFRAME内に表示するのがファイルとして存在するhtmlファイルであれば
<A HREF="bbb.html#3"> などのようにすればできるのですが、
htmlファイルではないので指定できません。

何か方法はないでしょうか。
rain
ぬし
会議室デビュー日: 2006/10/19
投稿数: 549
投稿日時: 2008-04-08 18:37
アンカーではなく、座標を使えばできるかも?
http://www.htmq.com/js/window_scrollby.shtml
ビギ
ベテラン
会議室デビュー日: 2006/04/03
投稿数: 56
投稿日時: 2008-04-08 20:43
rainさん、ありがとうございます。
座標を使ってscrollさせることができました。
後は、それぞれ表示させたい座標を確実に計算で取得することができればいいのですが
状態によって表示行数が変動するのでなかなか難しそうです。

で、せっかくIDをセットしているので
その位置(?)を取得できれば・・と思い試してますが
なかなかうまくいきません。
IFRAME内の IDの位置が取得できません。
そのような事はできないのでしょうか。



function tobu(pt) {
var obj = document.getElementById('AAA'); <-- IFRAMEのID
var idoc = obj.contentWindow.document;  <-- IFRAME内のdocument
var ptr = "ID" + pt;
var elme = idoc.getElementById(ptr); <-- IFRAME内の それぞれの場所
obj.contentWindow.scrollTo(elme);
}

親.HTML
<table><tr>
<td width="20"><A HREF="javascript:tobu(1)"><small><b>1</a></td>
<td width="20"><A HREF="javascript:tobu(2)"><small><b>2</a></td>
・・・
</tr></table>


IFRAME内

<A ID="ID1">
<TABLE><TR><TD>abc</TD></TR></TABLE>
<TABLE><TR><TD>def</TD></TR></TABLE>
   ・・・
<A ID="ID2">
<TABLE><TR><TD>uvw</TD></TR></TABLE>
<TABLE><TR><TD>xyz</TD></TR></TABLE>
・・・

のようになっています。
引き続き、アドバイスをよろしくお願いします。

Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2008-04-08 23:06
HTML にしたらええんちゃうん?

なんも、静的な HTML ファイルでないとあかん、ってことは、あらへんのやし。
1

スキルアップ/キャリアアップ(JOB@IT)