使用Javascript来CTRL+;在Firefox&;铬

使用Javascript来CTRL+;在Firefox&;铬,javascript,firefox,google-chrome,Javascript,Firefox,Google Chrome,我想让用户能够增加/减少web应用程序中内容的呈现大小 Chrome和Firefox的CTRL+和CTRL-功能(或CTRL1到CTRL9)非常方便,但是JavaScript有没有办法执行这些功能呢 澄清: 我希望用户能够通过鼠标点击而不是按键来实现这一点,所以类似这样: function resize_rendering() { // code that executes ctrl+ or crtl- } John Resig的这个库是一个jQuery插件,应该可以完成这项工作。有一

我想让用户能够增加/减少web应用程序中内容的呈现大小

Chrome和Firefox的CTRL+和CTRL-功能(或CTRL1到CTRL9)非常方便,但是JavaScript有没有办法执行这些功能呢

澄清: 我希望用户能够通过鼠标点击而不是按键来实现这一点,所以类似这样:

function resize_rendering() {
    // code that executes ctrl+ or crtl-
}

John Resig的这个库是一个jQuery插件,应该可以完成这项工作。有一些样品。连接按键组合也很容易。

您可以在常规按键事件处理程序(例如在
窗口
对象上)中拦截击键,检查它是否是您要查找的按键,如果是,则调用事件参数上的
stopPropagation()
(并返回false)防止浏览器自行处理它

然后,您必须自己执行大小调整操作,例如使用JavaScript修改样式表

window.addEventListener( 'keydown', function( e ) {
    if ( /* check e.keyCode etc. */ ) {
        // modify global style to increase/decrease font size
        e.stopPropagation();
        return false;
    } );

你是不允许被设计的。您不能通过Javascript更改用户的浏览器设置

您还可以做其他事情,比如修改页面上的所有CSS以缩小所有内容,以模拟
CTRL-
,但仅此而已


在某些浏览器中,您可以在浏览器之前捕获CTRL+/-,从而阻止这些事件的发生。但是您不能执行oppisite-您不能通过自己的脚本导致这些事件发生。

浏览器缩放级别是一个用户设置,用于访问目的;网站开发人员永远不会知道或关心缩放级别是什么,所以我希望您在做您想要的事情时会遇到困难。当然,要用一种跨浏览器工作的方式来实现它是很困难的

通常的方法是使用一个调整大小的小工具来更改基本字体大小

如果站点中的所有字体大小都是
em
单位,那么您可以通过一次CSS更改来更改站点上所有文本的大小

因此,站点上有一组按钮,它们使用Javascript将
元素的
字体大小设置为(例如)12、14、16或18像素,具体取决于单击的元素


这里有一篇关于这项技术的评论:

我认为你不能模仿浏览器的这项功能,因为它是浏览器中的个人设置。CTRL+/-实际上可以放大所有零件甚至图像。要使用javascript实现这一点,您必须增加站点上图像和文本的大小。我所看到的是,人们只是使用Javascript增加字体大小。。但不是图像。我实际上是在寻找一种方法来做到这一点,而用户不必使用按键(可能是滑块,或者他们可以使用的其他类似工具)啊,对不起,误解了这个问题。按照我的建议,使用网页上的控件修改基本样式表当然是可能的。但我不知道是否有可能真正调用浏览器的本机功能。你没有误解,这是我的错。我重新阅读了我的问题,它是模糊的,所以我补充了澄清。谢谢你的回答。这就是我想的,这是一个令人沮丧的问题。谢谢:(