我正在研究一個評估系統,在哪個候選人嘗試參加考試。因此,呈現問題及其選擇的頁面是iframe
的頁面,其中問題是獲取呈現。包含iframe
的頁面包含JavaScript
定時器。限制用戶刷新並返回,在任何瀏覽器中轉發
因此,當問題在瀏覽器上呈現限制刷新時,我寫了F5
和ctrl+F5
阻止代碼,因此候選人無法使用鍵盤快捷鍵進行刷新,但在瀏覽器窗口中,仍然可以使用刷新按鈕或後退按鈕。有什麼辦法可以禁用它嗎?我知道玩瀏覽器功能並不是很好的做法,那麼有沒有什麼辦法可以擺脫這種困擾。
我正在研究一個評估系統,在哪個候選人嘗試參加考試。因此,呈現問題及其選擇的頁面是iframe
的頁面,其中問題是獲取呈現。包含iframe
的頁面包含JavaScript
定時器。限制用戶刷新並返回,在任何瀏覽器中轉發
因此,當問題在瀏覽器上呈現限制刷新時,我寫了F5
和ctrl+F5
阻止代碼,因此候選人無法使用鍵盤快捷鍵進行刷新,但在瀏覽器窗口中,仍然可以使用刷新按鈕或後退按鈕。有什麼辦法可以禁用它嗎?我知道玩瀏覽器功能並不是很好的做法,那麼有沒有什麼辦法可以擺脫這種困擾。
上document.ready
我加入這行..
window.history.forward(-1)
它不在鉻瀏覽器中工作。如果可以的話再提供demo(jsfiddle) –
試試這個來禁用後退按鈕。
<script type="text/javascript">
window.history.forward();
function noBack() { window.history.forward(); }
</script>
</head>
<body onload="noBack();"
onpageshow="if (event.persisted) noBack();" onunload="">
或者,我們可以從工具欄中刪除這些
window.open ("URL",
"mywindow","status=1,toolbar=0");
你可以試試這個...: -
window.open ("http://viralpatel.net/blogs/",
"mywindow","status=1,toolbar=0");
這將打開工具欄沒有一個窗口... NO工具欄沒有按鈕..:D
很容易挫敗在Chrome瀏覽器http://i.imgur.com/wvzX9xU.png –
@sankalp米什拉如果我們使用你說的方式,然後在mozilla它要求的權限打開一個新的彈出窗口。如果允許,那麼只有其開放 – 2013-08-01 05:27:41
試試這個:
function disableF5(e) { if ((e.which || e.keyCode) == 116) e.preventDefault(); };
bool IsPageRefresh = false;
//this section of code checks if the page postback is due to genuine submit by user or by pressing "refresh"
if (!IsPostBack)
{
ViewState["ViewStateId"] = System.Guid.NewGuid().ToString();
Session["SessionId"] = ViewState["ViewStateId"].ToString();
}
else
{
if (ViewState["ViewStateId"].ToString() != Session["SessionId"].ToString())
{
IsPageRefresh = true;
}
Session["SessionId"] = System.Guid.NewGuid().ToString();
ViewState["ViewStateId"] = Session["SessionId"].ToString();
}
請嘗試一下本作中的所有最新的瀏覽器限制後退按鈕。
history.pushState({ page: 1 }, "Title 1", "#no-back");
window.onhashchange = function (event) {
window.location.hash = "no-back";
};
history.pushState(null, null, document.URL);
window.addEventListener('popstate', function() {
history.pushState(null, null, document.URL);
});
這樣可以防止瀏覽器返回 –
歡迎使用堆棧溢出:-) 請看[答]。您應該提供一些信息,說明爲什麼您的代碼可以解決問題。 僅有代碼的答案對社區沒有用處。 – JimHawkins
雖然此代碼片段可能會解決問題,但[包括解釋](// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)確實有助於提高帖子的質量。請記住,您將來會爲讀者回答問題,而這些人可能不知道您的代碼建議的原因。也請儘量不要用解釋性註釋來擠佔代碼,這會降低代碼和解釋的可讀性! –
這是不可能的。如果不希望人們通過「返回」來查看舊頁面,則禁用緩存,但他們看到的所有內容都是他們剛剛看到的內容,因此不會產生任何影響。人們一直在問20年如何禁用後退按鈕,到目前爲止,我從來沒有看到後退按鈕被禁用的網站。
但這裏是一招
感謝
window.location.hash="no-back-button";
window.location.hash="Again-No-back-button";//again because google chrome don't insert first hash into history
window.onhashchange=function(){window.location.hash="no-back-button";}
您可以訪問這個。 http://stackoverflow.com/questions/8078650/can-we-disable-browsers-buttonsback-forward-refresh-by-javascript –
@BindiyaPatoliya任何替代... – Amogh
不,我沒有任何alternative.Sorry :) –