最近移動端項目用alert和confirm進行信息提示,但發現在iOS系統中,每次提示信息上面都會被添加一行URL地址。
那麼如何去掉地址提示呢,經查找和實現發現進行重寫alert和confirm方法可解決此問題。
代碼如下:
重寫alert方法:
window.alert = function(name){ var iframe = document.createElement("IFRAME"); iframe.style.display="none"; iframe.setAttribute("src", 'data:text/plain,'); document.documentElement.appendChild(iframe); window.frames[0].window.alert(name); iframe.parentNode.removeChild(iframe); };
重寫confirm方法:
window.confirm = function (message) { var iframe = document.createElement("IFRAME"); iframe.style.display = "none"; iframe.setAttribute("src", 'data:text/plain,'); document.documentElement.appendChild(iframe); var alertFrame = window.frames[0]; var result = alertFrame.window.confirm(message); iframe.parentNode.removeChild(iframe); return result; };
其中confirm方法要return子框架的結果。否則默認都是“取消”的效果。
衍生知識點:
html中data類型的url
針對於一些小的數據,可以在網頁中直接嵌入,而不是從外部文件載入,比如圖片。這樣的好處是可以減少一次http的請求,缺點是使得頁面內容變大。data類型的url格式在98年就已經提出了,現在絕大部分的浏覽器都能支持,比如使用IE6內核的國內浏覽器,chrome和firefox等,但IE8上使用有問題,圖片顯示不完整。
data類型的url有以下幾種形式:
data:,<文本數據> data:text/plain,<文本數據> data:text/html,<HTML代碼> data:text/html;base64,<base64編碼的HTML代碼> data:text/css,<CSS代碼> data:text/css;base64,<base64編碼的CSS代碼> data:text/javascript,<Javascript代碼> data:text/javascript;base64,<base64編碼的Javascript代碼> data:image/gif;base64,base64編碼的gif圖片數據 data:image/png;base64,base64編碼的png圖片數據 data:image/jpeg;base64,base64編碼的jpeg圖片數據 data:image/x-icon;base64,base64編碼的icon圖片數據
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持本站。