0

ユーザーが戻るボタンをクリックしたときに現在のページをリロードできますか?私がこれをやりたい理由を知るために、私の問題の背景を説明します。生成されたpdfファイルをajaxmodalpopに表示するasp.netWebアプリケーション3.5フレームワークがあります。このタスクを実行するのは簡単ではありません。これは、私が遭遇したいくつかのクロスブラウザーの問題が原因であり、それらすべてを処理することができ、この1つの問題しか残していませんでした。ajax modalpopup内のiframeにPDFファイルを表示できます。この設定は、Chrome、Firefox、Safari、Operaと互換性がありますが、IEでは互換性がありません。私はresponse.binarywriteを使用してIE964ビットで解決策を見つけることができました。pdfファイルはAdobeAcrobatReader(v11およびv10)の新しいインスタンスに表示されますが、IE9 32ビットではこれはpdfのレンダリング方法ではなく、現在のページ自体にレンダリングされます。そして私はしません そのようになりたいので、ユーザーがブラウザの戻るボタンをクリックすると、ボタンをクリックしてPDFを表示するページではなく、最後にアクセスしたページにリダイレクトされます。ブラウザを見ると、PDFをロードするトリガーが発生する現在のページがまだ表示されていることを認識しています。これで、戻るボタンをクリックして現在のページをリロードでき、PDFファイルが表示されていないページでリロードできますか。私がこれまでに行ったことについては、以下のコードを参照してください。これで、戻るボタンをクリックして現在のページをリロードでき、PDFファイルが表示されていないページでリロードできますか。私がこれまでに行ったことについては、以下のコードを参照してください。これで、戻るボタンをクリックして現在のページをリロードでき、PDFファイルが表示されていないページでリロードできますか。私がこれまでに行ったことについては、以下のコードを参照してください。

<script type="text/javascript">
  window.onunload = function {
     alert(document.URL);
     window.location = document.URL;
     window.history.go(-1);
  }
</script>

ブラウザに戻ろうとするとアラートボックスプロンプトが表示されますが、以下のコードは実行されません。実行された可能性がありますが、ページに影響はありません。よろしくお願いします。

4

4 に答える 4

1
function SetCookie (name, value) {
var argv=SetCookie.arguments;
 var argc=SetCookie.arguments.length;
 var expires=(argc > 2) ? argv[2] : null;
 var path=(argc > 3) ? argv[3] : null;
 var domain=(argc > 4) ? argv[4] : null;
 var secure=(argc > 5) ? argv[5] : false;
 document.cookie=name+"="+escape(value)+
  ((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
((path==null) ? "" : ("; path="+path))+
((domain==null) ? "" : ("; domain="+domain))+
((secure==true) ? "; secure" : "");

}

 function getCookie(c_name)
 {
var c_value = document.cookie;
var c_start = c_value.indexOf(" " + c_name + "=");
if (c_start == -1)
{
    c_start = c_value.indexOf(c_name + "=");
}
if (c_start == -1)
{
    c_value = null;
}
else
{
    c_start = c_value.indexOf("=", c_start) + 1;
    var c_end = c_value.indexOf(";", c_start);
    if (c_end == -1)
    {
        c_end = c_value.length;
    }
    c_value = unescape(c_value.substring(c_start,c_end));
}
return c_value;
 }   




 if (getCookie('first_load'))        
 {
if (getCookie('first_load')==true)
{
    window.location.reload(true); // force refresh page-liste
    SetCookie("first_load",false);
}
 }
  SetCookie("first_load",true);
于 2013-11-14T15:47:42.290 に答える
0

私はあなたが何を達成しようとしているのか完全には理解していませんが、可能な解決策は、ユーザーを目的のページに再ルーティングするという唯一の目的のためにそこにあるhtmlページに最初にユーザーを送ることです。戻るボタンをクリックすると、この再ルーティングHTMLページに移動し、基本的にループになります。

于 2013-03-07T09:04:43.370 に答える
0

私はこのテクニックを使用しています..

angular.element(document).ready(function() {
  var State = History.getState();
  //........ now use State variable 
});

これがお役に立てば幸いです。:-)

于 2015-06-11T15:39:26.537 に答える
0

ここ:

<script>    
history.pushState(null, null, document.URL);
   window.addEventListener('popstate', function () {
   history.pushState(null, null, document.URL);
   location.reload();
});
</script>
于 2017-07-18T15:05:28.747 に答える