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

以下のソースを参照ください。
function openPage() {
newwin = window.open(”index_html”,”preview”,”toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes”);
newwin.moveTo(0,0);
newwin.resizeTo(screen.availWidth,screen.availHeight);
newwin.location.reload(true);
newwin.focus();
}
Win IE6ではばっちり動作するのですが、FirefoxではWin、Mac版ともに動作しません。ウィンドウが開き、最大化までするのですが、<html>の中身が空っぽになってしまいます。
単純に【newwin.location.reload(true);】を削除するとFirefoxでもうまく動きます。
Firefoxでもキャッシュを見ずに表示させる方法はありませんでしょうか?

●質問者: Kurobuchi
●カテゴリ:ウェブ制作
✍キーワード:firefox Focus IE6 Mac open
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● katzumi
●24ポイント

http://www.tohoho-web.com/js/index.htm

とほほのJavaScriptリファレンス

URLはダミーです。

キャッシュを無効化する為に表示するページへのアクセスをユニークなものにします。

例ではwindow.openでndex_htmlを表示させようとしていますが、このindex.htmlにGETパラメータを付加します。

例)

”index.html?time=” + escape(new Date())

timeのパラメータが表示する毎に変化するのがミソです。

◎質問者からの返答

ありがとうございます。

後ほどチャレンジしたいと思います。


2 ● english
●23ポイント

http://lounge.suepon.com/lounge.cgi?mode=log_view&no=1110101312

ラウンジ(兼FAQ掲示板)

function openPage() {

rand = Math.floor(Math.random()*1000000);

newwin = window.open(”index.html?” + rand,”preview”,”toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes”);

newwin.moveTo(0,0);

newwin.resizeTo(screen.availWidth,screen.availHeight);

newwin.focus();

}

のように、index.htmlのお知りにパラメータをつければURLが異なるものとブラウザは認識し、キャッシュからは読み込みません。Javascriptによるlocation.reload()もいりません。

また、本来、キャッシュ制御はメタタグによる設定や、リスポンス・ヘッダーによる制御によって行えばいいのではないでしょうか? ただのHTMLファイルの場合、リスポンス・ヘッダーによる制御は難しいでしょうが、メタタグは使えるのではないでしょうか?

http://www.atmarkit.co.jp/fjava/rensai2/webopt12/webopt12.html

@IT:事例に学ぶWebシステム開発のワンポイント(12)

◎質問者からの返答

englishさんありがとうございます。ばっちりです!

Javascript初心者なもので、感激しています!

ちなみに案件の都合上、HTMLファイル自体にメタタグを埋め込むのは回避したいなと思ってまして、JSファイルで制御したかった次第です。

この場を借りまして、katzumiさんありがとうございます。

時間をゲットする方法もばっちりでした。ためになるミソありがとうございました。


3 ● kibitaki
●23ポイント

http://www.htmq.com/html/meta.shtml

<META>-HTMLタグリファレンス

既に良い答えが出ていますので、それ以外で・・・。

リンク先のHTMLもご自分で作られているようであれば、

リンク先のHTMLで指定をかけてもよいと思います。

<META HTTP-EQUIV=”Cache-Control” CONTENT=”no-cache”>

<META HTTP-EQUIV=”Pragma” CONTENT=”no-cache”>

◎質問者からの返答

kibitakiさんありがとうございました。

HTMLファイル側で制御する機会まで、この技をとっておきたいと思います。

未熟な私にみなさんありがとうございました!

関連質問


●質問をもっと探す●



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