
インラインフレームをサイトで使用しているのですが、
インラインフレームって、更新を押すと、最初に指定したページ
<iframe src=a.html></iframe> だと a.html
に戻ってしまうじゃないですか。
それをクッキーを使用して、更新を押しても現在見ているページを表示したいのですが。(クッキーでできるのかな?)
できますでしょうか?教えてください。
また、別の方法でも、上記が可能ならば、教えてください。お願いします。
iframe名を、fffff IDを、fffffid
iframeをおくページを、index.html
iframeで最初に表示されるページを、a.html
リンクでiframe内に表示されるページを、b.html としておきます。
No.3ベストアンサー
- 回答日時:
オンロードタイミングで行ってるので、これでも状況によっては一瞬 a.htmlが表示されます。
が、一応すぐ消して空になるので、試してみてください。
<script type="text/javascript">
var cook_key = "iframesrc"; /* クッキーのキーになる適当な名前 */
window.onload = function(){
if(cook_src) document.getElementById('fffffid').src = '';
var cook_src;
var cookies = document.cookie.split(';');
for(var i=0; i<cookies.length; i++){
if(cookies[i].indexOf(cook_key) >-1){ cook_src = cookies[i].split('='); break; }
}
document.getElementById('fffffid').src = cook_src? cook_src[1] : 'a.html';
}
function setCook(arg){ document.cookie = cook_key + '=' + arg + ';'; }
</script>
他にもJavaScriptからiframeを挿入したりcreateする等もありますが、何を使うにしてもJavaScriptOFFの場合の事を考えて先にiframeを書き込んでおく事を前提にした場合はオンロードタイミングで実行になるので状況によってa.htmlやブランクが表示される可能性はあります。
『一瞬でも表示させたくない』を全てに優先させるのであれば
iframeを打ち出す部分に このスクリプトを書く
<script type="text/javascript">
var cook_key = "iframesrc"; /* クッキーのキーになる適当な名前 */
var cook_src;
var cookies = document.cookie.split(';');
for(var i=0; i<cookies.length; i++){
if(cookies[i].indexOf(cook_key) >-1){ cook_src = cookies[i].split('='); break; }
}
var file = cook_src? cook_src[1] : 'a.html';
document.write('<iframe id="fffffid" name="fffff" src="',file,'"></iframe>')
function setCook(arg){ document.cookie = cook_key + '=' + arg + ';'; }
</script>
<noscript>
<iframe id="fffffid" name="fffff" src="./a.html"></iframe>
</noscript>
No.2
- 回答日時:
とりあえずサンプルです。
iframe表示用リンクが複数あるとして。
<script type="text/javascript">
var cook_key = "iframesrc";
window.onload = function(){
var cook_src;
var cookies = document.cookie.split(';');
for(var i=0; i<cookies.length; i++){
if(cookies[i].indexOf(cook_key) >-1){ cook_src = cookies[i].split('='); break; }
}
if(cook_src){ document.getElementById('fffffid').src = cook_src[1]; }
}
function setCook(arg){ document.cookie = cook_key + '=' + arg + ';'; }
</script>
<a href="./a.html" target="fffff" onclick="setCook(this.href)">test</a>
<a href="./b.html" target="fffff" onclick="setCook(this.href)">test</a>
<iframe id="fffffid" name="fffff" src="./a.html"></iframe>
次回訪問の時の事は書いてないのでクッキーの有効期限を付けていません。
ブラウザを終了させたら期限切れです。
この回答への補足
回答ありがとうございます!
サンプルどおりに設定すると、ちゃんとクッキー出来ました。
しかし、「iframeで最初に表示されるページa.html」が一度表示されてから、
「リンクでiframe内に表示されるページb.html」が表示されるようになります。
a.htmlを表示させずに、b.thmlをすぐに表示するにはどうすればよいでしょうか。
教えてください。
No.1
- 回答日時:
自ドメイン内でのiframeコンテンツとして、
fffffidのcontentWindow.location 属性をリンク命令を押すたびに、書き込み(onClickなどでいいかと思います。)、ページロードの際クッキーを読み出せばできると思います。
簡単にテストしてみましたがヤハリできてました。
この回答への補足
回答ありがとうございます。
javascript超初心者なもので、サンプルなど記載してもらわなければ、
全然わかりません。申し訳ないです。
よろしければ、サンプル等、記載よろしくおねがいします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- SEO WP内の検索で403エラーが出される問題について 1 2022/11/26 08:46
- JavaScript Javascript初心者|jQueryの.val()で値を取得し複数の要素を連結させる方法知りたい 2 2022/06/02 12:06
- HTML・CSS (Javascript)印刷するファイルに応じて印刷プレビュー画面で用紙を自動的に切り替えたい!! 2 2022/04/11 12:04
- HTML・CSS 自身のHPにYouTube動画を貼り付けるのが出来なくなり困ってます 1 2022/11/11 10:44
- アプリ Edgeを操作するアプリについて 4 2023/05/11 22:48
- PHP PHP MySql ページング 2 2022/09/20 06:38
- HTML・CSS HTMLを正しく表示させるには 2 2023/06/18 09:12
- HTML・CSS ホームページをちょっと加工する程度の無料または古くて安く購入できる作成ソフトを教えてください 5 2022/12/16 12:17
- ノートパソコン ページ番号の入れ方について 3 2023/02/16 17:11
- HTML・CSS 別サイトのHTML内にある情報を自動取得して、自分のサイトに組込む方法を教えてください。 例えば、Y 1 2023/06/15 08:09
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
window.openで値の渡し方を教え...
-
for文について
-
これはどんなJavaScriptなので...
-
setAttributeによる画像の差し替え
-
プログラムですけど、問題はsin...
-
画像をクリックすると別ウイン...
-
インラインフレームでのクッキ...
-
1枚の画像をクリックすると複数...
-
MAX関数を使ってからLEFT JOIN...
-
背景画像
-
jQueryでネスト構造の<li>がク...
-
javascript imageオブジェクト...
-
背景画像がつられてのびていく...
-
clear機能を失わずにファイルア...
-
JimdoでWebアイコンフォントの...
-
画像をフォルダに入れれば表示...
-
指定字数以降隠す
-
jspでcssが読み込めない
-
jQueryのeqで最後からn番目以降...
-
テキストボックスに入力された...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
window.openで値の渡し方を教え...
-
jQueryでサーバー上のファイル...
-
画像と文字を同時に切り替えたい
-
画像をクリックすると別ウイン...
-
Microsoftのクリップギャラリー...
-
画像の座標位置取得
-
リンクをオーバーマウスで画像表示
-
スライドショーにフェード効果...
-
javascript 画像切り替え ラン...
-
クリックしたらJavaScriptで数...
-
JavaScriptで画像置換えてクリ...
-
インラインフレームでのクッキ...
-
<img>タグの alt= の値をキャプ...
-
JavaScriptクリックした画像を...
-
画像クリックでクリックした画...
-
【jQuery】複数の画像の読み込...
-
画像の自動切り替えができなく...
-
imgのsrcに値を設定するには
-
クリックとダブルクリック
-
jQueryで画像を重ねる
おすすめ情報