通过Vue绑定zoom样式值实现禁止页面放大缩小

本文介绍了一种通过监听窗口的onresize事件并调整页面元素的zoom属性来阻止用户使用Ctrl+和Ctrl-进行页面缩放的方法。这种方法适用于需要保持固定布局设计的网页。

思路:禁止浏览器通过CTRL+与CTRL-放大与缩小页面比例,我们可以通过当页面放大(会触发window.onresize事件)时控制样式属性zoom按相应比例缩小(同理缩小窗体时zoom放大)来实现。

以下是示例代码

 

<div id="app"  v-loading="loading" v-cloak :style="{ zoom: zoom + '%' }">

…………

</div>

<script type="text/javascript">

var opt = {
            i18n:$i18n,
            data: function () {
                return {loading: false, zoom:100, };
            },

           mounted: function() {
                var pThis = this;

                this.$nextTick(function() {
                    pThis.loadData();;
                });

                //定时刷新数据:

                clearInterval(this.timer);

                this.timer=setInterval(()=>{pThis.loadData();}, 60000);


                // document.body.clientHeight document.body.clientWidth  window.innerWidth window.innerHeight
                //pThis.zoom = 100*document.body.clientHeight/1200,
                pThis.zoom = 100 * window.innerHeight / 853;      //853为设计页面时根据相应设置的适当分辨率高度值而定
                //pThis.zoom = 100*document.body.clientWidth/1920,
                window.onresize = () => {
                    return (() => {

                        //pThis.zoom = 100*document.body.clientHeight/1200;
                        pThis.zoom = 100 * window.innerHeight / 853;      //853为设计页面时根据相应设置的适当分辨率高度值而定
                        //pThis.zoom = 100*document.body.clientWidth/1920;
                    })()
                };

            },

            watch:{
                zoom: function (val, oldVal) {
                    console.log('new: %s, old: %s', val, oldVal)
                    this.zoom=val;
                },

            },
            methods: {

                loadData:function(){

                      …………

                }

            }

};

new JVue(opt).$mount('#app');

</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值