Browser Zoom Level settings

Posted by Prashob under JavaScript on 11/7/2012 | Points: 10 | Views : 4016 | Status : [Member] | Replies : 3
Hi,

I need a code that sets IE8 browser zoom level as 100%. it should not increase or decrease for my application.
Is there any code for that.

maybe javascript or css.

Thanks in advance.




Responses

Posted by: Rajesh081725 on: 11/9/2012 [Member] Bronze | Points: 25

Up
0
Down
hi,
use this code

Now it's an even bigger mess than it was when this question was first asked. From reading all the responses and blog posts I could find, here's a summary. I also set up this page to test all these methods of measuring the zoom level.

Edit (2011-12-12): I've added a project that can be cloned: https://github.com/yonran/detect-zoom

IE8: screen.deviceXDPI / screen.logicalXDPI (or, for the zoom level relative to default zoom, screen.systemXDPI / screen.logicalXDPI)
IE7: var body = document.body,r = body.getBoundingClientRect(); return (r.left-r.right)/body.offsetWidth; (thanks to this example or this answer)
FF3.5 ONLY: screen.width / media query screen width (see below) (takes advantage of the fact that screen.width uses device pixels but MQ width uses CSS pixels--thanks to Quirksmode widths)
FF3.6: no known method
FF4+: media queries binary search (see below)
WebKit: measure the preferred size of a div with -webkit-text-size-adjust:none.
WebKit: (broken since r72591) document.width / jQuery(document).width() (thanks to Dirk van Oosterbosch above). To get ratio in terms of device pixels (instead of relative to default zoom), multiply by window.devicePixelRatio.
Old WebKit? (unverified): parseInt(getComputedStyle(document.documentElement,null).width) / document.documentElement.clientWidth (from this answer)
Opera: document.documentElement.offsetWidth / width of a position:fixed; width:100% div. from here (Quirksmode's widths table says it's a bug; innerWidth should be CSS px). We use the position:fixed element to get the width of the viewport including the space where the scrollbars are; document.documentElement.clientWidth excludes this width. This is broken since sometime in 2011; I know no way to get the zoom level in Opera anymore.
Other: Flash solution from Sebastian
Unreliable: listen to mouse events and measure change in screenX / change in clientX
Here's a binary search for Firefox 4, since I don't know of any variable where it is exposed:

<style id=binarysearch></style>
<div id=dummyElement>Dummy element to test media queries.</div>
<script>
var mediaQueryMatches = function(property, r) {
var style = document.getElementById('binarysearch');
var dummyElement = document.getElementById('dummyElement');
style.sheet.insertRule('@media (' + property + ':' + r +
') {#dummyElement ' +
'{text-decoration: underline} }', 0);
var matched = getComputedStyle(dummyElement, null).textDecoration
== 'underline';
style.sheet.deleteRule(0);
return matched;
};
var mediaQueryBinarySearch = function(
property, unit, a, b, maxIter, epsilon) {
var mid = (a + b)/2;
if (maxIter == 0 || b - a < epsilon) return mid;
if (mediaQueryMatches(property, mid + unit)) {
return mediaQueryBinarySearch(
property, unit, mid, b, maxIter-1, epsilon);
} else {
return mediaQueryBinarySearch(
property, unit, a, mid, maxIter-1, epsilon);
}
};
var mozDevicePixelRatio = mediaQueryBinarySearch(
'min--moz-device-pixel-ratio', '', a, b, maxIter, epsilon);
var ff35DevicePixelRatio = screen.width / mediaQueryBinarySearch(
'min-device-width', 'px', 0, 6000, 25, .0001);
</script>


Time is Gold
Thanks & Regards,
Rajesh Kumar,
9962038582.

Prashob, if this helps please login to Mark As Answer. | Alert Moderator

Posted by: Prashob on: 11/9/2012 [Member] Starter | Points: 25

Up
0
Down
Hi Rajesh,

Thanks for your reply.

Whether your code works in IE8. my application should not allow zooming.
always it should be in 100% only. is it possible in IE8. if the user zooms to 125 or 150 also it should come to default value 100%.

Thanks in advance.

Regards
Prashob.

Prashob, if this helps please login to Mark As Answer. | Alert Moderator

Posted by: Prashob on: 11/9/2012 [Member] Starter | Points: 25

Up
0
Down
Hi Rajesh,

Thanks for your reply.

Whether your code works in IE8. my application should not allow zooming.
always it should be in 100% only. is it possible in IE8. if the user zooms to 125 or 150 also it should come to default value 100%.

Thanks in advance.

Regards
Prashob

Prashob, if this helps please login to Mark As Answer. | Alert Moderator

Login to post response