No.6ベストアンサー
- 回答日時:
自分自身が保持しているフレーム内の操作を行うだけなら、JavaScript は必要ありません。
単純に、
<A href="#02" target="inframe">
と書いてしまえばいいんです。
この JavaScript が必要なのは、あくまで全く無関係なページからいきなり飛んできた場合だけです。
最初に
<A href="#02" target="inframe">
書いていたんですけど、動かなかったんですよ・・・。
多分、IEでの動作不具合だと思います・・。
それか、私が、登録している無料HPさんが、JavaScriptを受付けないのかもしれません・・・。
これからは、ラベルで区切るのではなく、1ページづつに分けようと思います・・。
いろいろアドバイスしてくださってありがとうございました・・。
ぺこ <(_ _)>
No.7
- 回答日時:
補足見ました。
で、いろいろと試してみたんですが、IEでご指摘のような問題が出る事を確認しました。補足内容のようにインラインフレーム内にpage01.htmlを読み込んである状態で、main.htmlの側のリンクからpage01.html内のラベル位置に移動するようにソースを記述しても、IEではそのリンクがうまく働かないようです。 これはおそらく、IEのバグなのではないかと思います(NetscapeやOperaで動作を確認しましたが、こちらはいずれのブラウザも狙い通りの動作をしています)。
なお、インラインフレーム内に、既に表示されているページとは別のページを、ラベル位置を指定して読み出す場合には、IEでもラベル位置に正常に移動するようです。
この異常は、ブラウザのバグのようですので、これに対する根本的な対策は難しいのではないかと思います。
一応、小手先でごまかすような方法ですが、インラインフレーム内のページのラベル位置へ飛ばすリンクのタグ内に、「onClick="if (document.all){parent.inframe.location.href=null;}"」というソースを追加すると、問題を回避できるかもしれません。 ただし、これが勧められるような手法かどうかについては自信がありません。
あまり参考にならないかもしれませんが…失礼しました。
この回答への補足
回答ありがとうございます。
いろいろ、試してみてくれたんですね・・・。
ありがとうございます。ぺこ <(_ _)>
私もいろいろしたんですけど、どの方法でもムリだったんですよ・・・。
IEでの動作が出来ないのですね・・・。
↑のソースを追加してみたのですが、一回押すとエラー表示のhtmlが表示されて、そのまま二回目押すと指定したラベルへ飛べました・・。しかし、エラー表示が出てきてしまうので・・・。
ラベルで区切るのではなく、1ページづつ分けようと思います・・。
いろいろ調べてくださってありがとうございます・・。
ぺこ <(_ _)>
No.5
- 回答日時:
具体的には、スクリプトエラーが出るんでしょうか? それとも全く動かないのでしょうか? あるいは意図しない内容が表示されてしまうんでしょうか。
仮に意図しない内容が表示されるとすれば、具体的にどんなページが表示されるのでしょうか。
それによって対処の仕方も変わってきますので、その辺を補足してみてください。
この回答への補足
エラーは出てないみたいなんですけど、ラベルへリンクを貼ってるボタンを押しても、ラベルを貼ってる所へ、行かずに、動きません・・。ページが何も変わりません・・。
↓詳しくは、下のURLへ行ってみて下さい。
//jzx100.ifdef.jp/newpage1.html
No.4
- 回答日時:
俺の環境だとまんま動いてますが……。
具体的にはどういう症状だったんでしょうか?
この回答への補足
初期画面はページ1が表示されてるようにして、
横のボタンを押すとリンク先がインフレームの中のページ2に飛ばしたいのですが・・。そう設定してるつもりなのですけどね・・。
どこがいけないのか分かりません・・・。
オネガイします・・ぺこ <(_ _)>
No.3
- 回答日時:
えーと……。
x = location.search.substring(1);
if ( x != '' ) inframe.location.href="#"+x;
</SCRIPT> タグの1つ上の行に、この2行を追加してみてください。
で、".../main.html?label" という呼び出し方をすると、"inframe.htm#label" と記述したのと同じ動作をするはずです。
ただしこの手法は、HTMLファイルをサーバーにアップロードした状態でないと動作しません。
この回答への補足
回答ありがとうございます。
さっそく2行を追加してみて、
"page01.html?02"と記述し、アップロードしてみたのですが、出来ませんでした・・・。
出来れば、もう少し詳しくオネガイします・・。
No.2
- 回答日時:
どのようにページを作成していて、どのようなソースを書いて、どのような不具合が出ているのか、そのあたりの具体的な情報がないので、かなり曖昧なアドバイスになってしまいますが…
インラインフレーム内に呼び出すページにラベルをしてあり、インラインフレーム外のリンクからそのラベル位置を直接呼び出したいということで良いでしょうか。
どうしてもできないと言われても、どのような不具合があるのか解らないので、具体的な対策までは言及できませんが…
とりあえず、基本的なことから確認してみてはいかがでしょうか。
・ラベル位置の呼び出しは、<a href="***.htm#hoge">hogeへ</a>というように、呼び出すページのパスに続けて、「#ラベル名」を記述します(ページ内リンクの場合は、href="#hoge"となります)。
・インラインフレーム外のリンクから、インラインフレーム内のページのラベル位置に直接飛ばしたい場合は、<a href="***.htm#hoge" target="インラインフレーム名">hogeへ</a>と、target属性でiframe要素で設定したnameの値を指定します。
・なお、ブラウザによっては、ラベル名に2バイト文字を使うと不具合があるケースもあるそうです。 いろいろなブラウザで閲覧される可能性のあるページでしたら、ラベル名にひらがな・カタカナ・漢字・外字などは使わないようにするのが無難なようです。
一応、以上のような基本的なところから、落ち着いて確認してみると良いと思います。
リンクのイメージにロールオーバーを設定していても、それがハイパーリンクの動作に支障をきたす事はないように思います。 直接の関係はないのではないでしょうか。 ロールオーバーに問題があるかないかを確認するには、そのリンクの中の画像を、テキストに置き換えて動作をチェックしてみるのが良いでしょう。 リンクイメージをテキストに置き換えた時に、問題が解消されるようであれば、ロールオーバー機能が干渉しているということになるでしょうけど、テキストに置き換えても問題が残るようであれば、ロールオーバーは無関係と言う事が確認できます。
とりあえずは、リンクのソースの記述の確認(ラベル名が間違っていないかどうかなど)、ラベル名の設定のし直しなどを試してみるのが良いと思います。
どうしても問題が解消しない場合は、具体的にどのようなソースを書いていて、どのような動作を狙っていて、どのような不具合があるのかの具体的な現象(そのリンクをクリックした時にどういう動作をするのか)等を補足してみてください。
参考になれば…
この回答への補足
回答してくださってありがとうございます!
やっぱり文章だけだと伝わりにくいですよね・・・。
ということで、ソースを表示します。
HPビルダーで作成してるので、複雑だとは思いますが・・。
//main.html
<HTML>
<HEAD>
<TITLE>参考</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<META name="GENERATOR" content="IBM WebSphere Homepage Builder Version 6.0.2.1 for Windows">
<META http-equiv="Content-Style-Type" content="text/css">
<SCRIPT language="JavaScript">
<!--
// HpbImgPreload:
function HpbImgPreload(){
var appVer=parseInt(navigator.appVersion);
var isNC=(document.layers && (appVer >= 4));
var isIE=(document.all && (appVer >= 4));
if (isNC || isIE){
if (document.images){
var imgName = HpbImgPreload.arguments[0];
var cnt;
swImg[imgName] = new Array;
for (cnt = 1; cnt < HpbImgPreload.arguments.length; cnt++){
swImg[imgName][HpbImgPreload.arguments[cnt]] = new Image();
swImg[imgName][HpbImgPreload.arguments[cnt]].src = HpbImgPreload.arguments[cnt];
}
}
}
}
// HpbImgFind:
function HpbImgFind(doc, imgName){
for (var i=0; i < doc.layers.length; i++){
var img = doc.layers[i].document.images[imgName];
if (!img) img = HpbImgFind(doc.layers[i], imgName);
if (img) return img;
}
return null;
}
// HpbImgSwap:
function HpbImgSwap(imgName, imgSrc){
var appVer=parseInt(navigator.appVersion);
var isNC=(document.layers && (appVer >= 4));
var isIE=(document.all && (appVer >= 4));
if (isNC || isIE){
if (document.images){
var img = document.images[imgName];
if (!img) img = HpbImgFind(document, imgName);
if (img) img.src = imgSrc;
}
}
}
var swImg; swImg=new Array;
//-->
<!--
HpbImgPreload('sankou', 'sankou01.gif', 'sankou011.gif');
//-->
</SCRIPT>
</HEAD>
<BODY>
<TABLE>
<TR>
<TD valign="top" width="90"><BR>
<A href="page01.html#02" onmouseout="HpbImgSwap('sankou', 'sankou01.gif');" onmouseover="HpbImgSwap('sankou', 'sankou011.gif');" target="inframe">
<IMG src="sankou01.gif" width="90" height="15" border="0" name="sankou">
</A><BR>
</TD>
<TD background="bgimage.gif">
<IFRAME name="inframe" src="page01.html" style="border:none;filter:Alpha(opacity=80);" frameborder="1" width="300" height="300" scrolling="yes"></IFRAME>
</TD>
</TR>
</TABLE>
<BR>
</BODY>
</HTML>
//page01.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>ページ</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<META name="GENERATOR" content="IBM WebSphere Homepage Builder Version 6.0.2.1 for Windows">
<META http-equiv="Content-Style-Type" content="text/css">
</HEAD>
<BODY>
<A name="01"><BR></A>
<FONT size="2">ページ1<BR></FONT>
<BR>
<BR>
<BR>
<BR>
<A name="02"><BR></A>
<FONT size="2">ページ2<BR></FONT>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
</BODY>
</HTML>
↑こんな感じです。 よろしくお願いします・・。
No.1
- 回答日時:
外からインラインフレーム内の情報を直接参照するということは、通常であれば、そのインラインフレームが全面に表示されてしまうということです。
そうでなく、外からリンクしてきた際に、インラインフレーム内の特定のラベル位置が表示されているようにしたいということであれば、
<iframe src="inframe.htm#label">
といったふうに、最初からラベルを指定しておく方法があります。
インラインフレーム内のどのラベル位置が初期表示されているかを外部からコントロールしたいという場合には、JavaScript による制御が必要です。
この回答への補足
回答ありがとうございます。
最初に、ラベル指定をしたら、ちゃんと出来ました。
ですが、そのあとの、ラベルへの切り替えが出来ませんでした・・。
外のリンクが何個かあり、それを押すことで指定しているラベルへ、飛ばしたいと思っております・・。
JavaScriptを、あまり記述したことがないので、JavaScriptによる制御をどう記述していいのか、分かりません・・。
アドバイスお願い致します・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ハッキング・フィッシング詐欺 フィッシング詐欺 1 2023/05/12 03:59
- ハッキング・フィッシング詐欺 フィッシング詐欺 1 2023/05/12 18:24
- レディース トップスをインするファッション、どう思いますか? 5 2022/06/17 11:48
- 出会い・合コン マッチングアプリに長い時間インしてるのに、「交通事故にあって緊急搬送された」って本当だと思いますか? 2 2022/04/23 07:00
- F1・モータースポーツ バイクレース シュワンツ、ローソン、ガードナー、レイニー… 80年代〜90代初頭にロードレースに夢中 1 2023/05/18 19:52
- その他(お金・保険・資産運用) マイナポイントについて! 申請した方、どのように使いましたか? 見たら、コンビニは全店、近鉄百貨店、 6 2023/01/31 20:38
- アルバイト・パート すき家 バイト 早朝バイト 高校生は5時から入れないと聞いました。 6時からイン 「1」 5:30か 1 2022/10/06 19:06
- レディース 白いチュールスカートを履く際に、下着は透けないようにペチパンツで対応しています。 しかしトップスをイ 2 2023/03/12 00:13
- 事件・犯罪 職質の時のボディチェックの仕方が、イマイチ意味不明です。スボンと上着のポケット触るのは分かるんですが 1 2022/06/02 17:58
- レディース オーバーサイズのトップスに、スキニーはダサいの? 4 2022/10/17 15:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
リンク先を新しいタブで開けな...
-
ブラウザの戻るを押しても戻ら...
-
スマホでボタンがhoverの状態か...
-
Googleフォームの回答リンクに...
-
被リンクZからメールが来ました
-
サイト構築の方法を教えてください
-
被リンクを無料で増やすための...
-
「戻る」を押しても戻らないweb...
-
HPを作りたいと考えているので...
-
WordPressに関しまして。WordPr...
-
自分のHPにアメブロのタイムラ...
-
Wordで文字を打ってEnterを押す...
-
入力窓にカーソルを合わせると...
-
Twitterでマルウェアの可能性の...
-
拡張子が<.mid><.rmi>のファイ...
-
WordPressに関しまして。WordPr...
-
htaccessでのアクセス拒否が効...
-
白紙の次ページを削除できない...
-
検索結果項目の年月日を表示さ...
-
webサイトを簡単に作成する方法...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ホームページ制作で教えてくだ...
-
個人hp 外部ページへのリンク...
-
サーチコンソールで被リンクを...
-
画面のどこかをクリックすると
-
HTMLのリンクの色をクリックす...
-
ページ内リンクでアコーディオ...
-
ペナルティを受けない被リンク
-
スマホでボタンがhoverの状態か...
-
リロードした時にページの一番...
-
Googleフォームの回答リンクに...
-
メールにURLリンクを記載し送信...
-
戻るボタンで戻れない
-
逆マウスストーカーってあります?
-
C++で作成したDLLを vb.net か...
-
jquery loadでページを読み込...
-
jQuery Cycle Pluginについて
-
GOOGLEのページランクについて
-
a:hoverで設定した内容をクリッ...
-
サイト内投票ボタン(いいね等)...
-
リンク先を新しいタブで開けな...
おすすめ情報