-
Notifications
You must be signed in to change notification settings - Fork 8
/
test8.php
103 lines (83 loc) · 3.31 KB
/
test8.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<?php
//create a unique id so we cachebust
$id = uniqid(rand(),true);
?>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Media Query Test: Background Image with Cascade Override and Media Query Overlap</title>
<meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0" />
<link rel="stylesheet" href="_css/style.css" />
<!-- Test 4 Styles -->
<style type="text/css">
#test8 {background-image:url('images/desktop.png?<?php echo $id; ?>');width:200px;height:75px;}
@media all and (max-width: 599px) {
#test8 {background-image:url('images/test8-599.png?<?php echo $id; ?>');}
}
@media all and (max-width: 600px) {
#test8 {background-image:url('images/test8-600.png?<?php echo $id; ?>');}
}
</style>
</head>
<body>
<h1>Media Query Image Download Test</h1>
<p>Thanks to <a href="http://zomigi.com/">Zoe Gillenwater</a> for the suggestion!</p>
<h2 id="t4">Test Eight: Background Image with Cascade Override and Media Query Overlap</h2>
<p>
In this test, we start with a css background image that is a desktop version of the image. Then we use a css media query (max-width: 599px) to replace that background image with a mobile version of the image. We also have another media query (max-width: 600px) that overlaps. The goal is to discover if one, two or all three images are download when both media queries apply.
</p>
<div id="test8"></div>
<h4>HTML Code</h4>
<code><div id="test8"></div>
</code>
<h4>CSS Code</h4>
<code><style type="text/css">
#test8 {background-image:url('images/desktop.png?<?php echo $id; ?>');width:200px;height:75px;}
@media all and (max-width: 599px) {
#test8 {background-image:url('images/test8-599.png?<?php echo $id; ?>');}
}
@media all and (max-width: 600px) {
#test8 {background-image:url('images/test8-600.png?<?php echo $id; ?>');}
}
</style>
</code>
<div id="loaded">
<h2>Results</h2>
</div>
<?php include('includes/testLinks.inc.php'); ?>
<script type="text/javascript" src="_js/imageTest.js"></script>
<script type="text/javascript" charset="utf-8">
var _bTestResults = {};
window.onload = function() {
//set the domain prefix so we can just pass image names
prefix = 'images/';
//set our suffix
//needed because setting image.src fires request
//this helps us avoid caching messing with the results
suffix = '<?php echo $id; ?>';
//get the div where we'll spit out the results
target = document.getElementById('loaded');
var images = [
['desktop.png', 'Loaded (large screen)'],
['test8-599.png', 'Loaded (599)'],
['test8-600.png', 'Loaded (600)']
];
_bTestResults = imageTest(images);
_bTestResults['Screen Width'] = screen.width;
_bTestResults['Outer Width'] = window.outerWidth;
// Fetch the Browserscope script that sucks the results from _bTestResults
(function() {
var _bTestKey = 'agt1YS1wcm9maWxlcnINCxIEVGVzdBiWvt0QDA';
var _bScript = document.createElement('script');
_bScript.src = 'http://www.browserscope.org/user/beacon/' + _bTestKey;
_bScript.src += '?sandboxid=6830885b48af78b';
_bScript.setAttribute('async', 'true');
var scripts = document.getElementsByTagName('script');
var lastScript = scripts[scripts.length - 1];
lastScript.parentNode.insertBefore(_bScript, lastScript);
})();
}
</script>
</body>
</html>