[英]How To disable Print Preview feature of Chrome browser using Javascript or c#
[英]How to disable browser feature
我正在開發一個項目,用戶可以在其中獲得一個構想頁面。 我希望用戶不要單擊返回或關閉選項卡或重新加載。 現在,我需要禁用瀏覽器功能或返回按鈕,關閉選項卡事件或將事件重新加載到Java腳本,以便可以采取必要的步驟來防止數據丟失。 我用了這個:
window.onbeforeunload = function()
{
return "Try This";
};
但這即使在我單擊重定向頁面的按鈕時也會被調用。
如果您只想接收警報,請了解用戶最終將控制住並可以繞過警報,然后執行您正在做的事情,但是使用一個在導航且不希望接收警報時將其禁用的標志。 例如:
var warnWhenLeaving = true;
window.onbeforeunload = function() {
if (warnWhenLeaving) {
return "your message here";
}
};
然后在點擊處理程序上的鏈接/按鈕/將用戶移動到的所有內容(不希望其彈出):
warnWhenLeaving = false;
在評論中,您詢問:
我可以知道使用此功能生成警報時用戶單擊了什么。 那可以知道用戶單擊了什么(離開此頁面/留在頁面上)
答案是: 有點 ,但不是真的。 幾乎可以肯定,最好不要嘗試。
但是:如果您看到onbeforeunload
函數正在運行,那么您就知道用戶正在離開頁面,瀏覽器可能會向他們顯示您的消息。 我熟悉的瀏覽器會像alert
一樣處理彈出窗口:彈出窗口在那里時,頁面上的所有JavaScript代碼都會被阻止。 因此,如果您通過setTimeout
安排回調,則當它們離開時將不會得到該回調,而如果它們停留則將得到該回調:
window.onbeforeunload = function() {
if (warnWhenLeaving) {
setTimeout(function() {
display("You stayed, yay!");
}, 0);
return "No, don't go!";
}
};
因此,從理論上講,如果您獲得回調,則它們會保留下來; 如果看到unload
事件,他們就離開了。 (請注意,有極少數的事情,你可以在做unload
事件。)
我已經在當前的Chrome,當前的Firefox,IE8和IE11上進行過嘗試:它適用於所有這些。 任何人都懷疑它是否將在其中任何一個的下一個版本中起作用。 它是否必須在移動瀏覽器上可靠運行是您必須測試的問題,並且可能會再次發生變化。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.