① js怎麼禁止瀏覽器窗口縮放
簡單的回答是:不能
從用戶角度講,這是他們應有的權利,它屬於操作系統中應用軟體的一部分,並不屬於頁面,你沒有辦法禁止用戶對窗口進行縮放。
有一個辦法可以保證頁面總是保持在你想要的尺寸:resizeTo
IE和Safari暫時還都支持在當前頁面使用resizeTo,其它瀏覽器都已經改為只支持在window.open打開的頁面上使用。所以要兼容全部瀏覽器,你的頁面必須使用window.open打開,並且在部分瀏覽器中要設置width和height屬性(否則窗口會在TAB中打開)。
index.html
<script type="text/javascript">
/* 或者在適當的情況使用 a onclick 調用 window.open */
window.open("w.html", "", "top=0,left=0,toolbar=1,menubar=1,"
+ "width=" + screen.width + ",height=" + screen.height);
</script>
main.html
<script type="text/javascript">
window.onresize = function() {
var window_width = window.innerWidth
|| document.documentElement.clientWidth
|| document.body.clientWidth;
if(window_width < 1000) {
// 部分瀏覽器需要延遲
setTimeout(function() {
// 窗口最大化
window.resizeTo(screen.width, screen.height);
// 窗口移動至 top=0, left=0
window.moveTo(0, 0);
}, 100);
}
};
</script>
注意即使在window.open和window.resizeTo中使用了screen.width和screen.height,但打開的窗口並不是我們平時看到的最大化,窗口離屏幕四周會有一定距離。
使用這種方法最大的問題就是會令訪問者產生反感,因為你強迫用戶使用指定尺寸的窗口大小。但這也是現在唯一的方法。
所以個人還是建議你當窗口過小的時候,mask掉整個頁面,給用戶一個提示,例如:您的瀏覽器窗口尺寸過小,為了正常訪問此頁面,請調整窗口尺寸。
② js:window.open()設置新打開的頁面的大小不可改變的問題
window.onload = function(){
window.resizeTo(800,600);//調整大小
window.moveTo(200,200);//移動位置}
但是這種方式好像只有在IE下有效,Firefox和Chrome無效,你自己試試。暫時不知道有什麼其他兼容性好的辦法。
③ JS控制瀏覽器網頁內容的百分比縮放
你可以讓頂部導航欄和其他部分分處不同的層,然後你只需要對其他部分版所處的層進行縮權放處理,導航欄不動,這樣就實現你的目的了。比如:
<div class=head>這是頂部導航欄</div>
<div class=body>這是其他主體部分</div>
然後js代碼就可以這樣:
$("div.body").css({"transform":"scale(0.8)","transform-origin":"50% 0"})
④ 如何用JS或者Jquery,禁用當前頁面的縮放。
window.addEventListener('mousewheel', function(event){
if (event.ctrlKey === true || event.metaKey) {
event.preventDefault();
}
},{ passive: false});
//firefox
window.addEventListener('DOMMouseScroll', function(event){
if (event.ctrlKey === true || event.metaKey) {
event.preventDefault();
}
},{ passive: false});