Permalink
Browse files

changed safari open page to blog entry, fixed under construction page

  • Loading branch information...
1 parent a092d1a commit 7dc6dd4f7996fdef93f35ccfbb2858c3211508c4 @altryne committed Jan 10, 2011
View
8 app.php
@@ -33,11 +33,13 @@
</script>
</div>
<div class="grid_18 push_1" >
- <h1>I have yet to implement this app in this ipad experiment. soon.</h1>
+ <h1 style="font-size:18px">This app wasn't yet implemented in this experiment.</h1>
<h3 style="margin-bottom:15px !important;">
- In the meanwhie, you are welcome to checkout my blog : <a href="http://alexw.me/">alexw.me</a> <br />
+ In the meanwhie, you are welcome to checkout my blog : <a href="http://alexw.me/">alexw.me</a> <br /><br />
You can also fork this at <a href="https://github.com/altryne/Ipad-Simulator">https://github.com/altryne/Ipad-Simulator</a> <br/>
- and hack on this and do cool stuff because open souce rulez
+ and hack on this and do cool stuff because open source rulez
+ <br/><br/>
+ If your an iPad app developer, and would like to feature your app here, contact me ipad@alexw.me
</h3>
<h4>
Things that work :
View
BIN img/ajax-loader.gif
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN img/hold.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
3 index.php
@@ -42,6 +42,9 @@
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="This is a jquery iPad simulator, this is only an experiment of what can be done with javascript in ast browsers">
<meta name="keywords" content="Ipad, ipad simulator, apple ipad, alexw.me, altryne, alex wolkov, ipad javascript simulator">
+ <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"/>
+ <meta name="apple-mobile-web-app-capable" content="yes" />
+ <meta name="apple-mobile-web-app-status-bar-style" content="black" />
<link rel="stylesheet" href="style/ipad.css" type="text/css" media="screen"/>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script>!window.jQuery && document.write(unescape('%3Cscript src="js/jquery-1.4.4.min.js"%3E%3C/script%3E'))</script>
View
2 js/ipad.js
@@ -307,7 +307,7 @@ function launchApp(app_id){
flag = confirm("!! important !! in order to simulate a browser in browser, I'm parsing all websites you may try to access, please DO NOT post any personal info via this simulator! (your browser may warn you about this site being reported phishing attac, this is because I use techniques that may be used for harm, again DO NOT POST any PERSONAL info!");
if(!flag) return false;
}
- if(app_id == 'photos') return false;
+ if(app_id == 'photos') app_id = 'photos_not_ready';
animateDock('out');
_appToLaunch = '?appid='+app_id || null;
View
135 js/jquery.css.rotate.js
@@ -0,0 +1,135 @@
+(function ($) {
+ // Monkey patch jQuery 1.3.1+ to add support for setting or animating CSS
+ // scale and rotation independently.
+ // 2009-2010 Zachary Johnson www.zachstronaut.com
+ // Updated 2010.11.06
+ var rotateUnits = 'deg';
+
+ $.fn.rotate = function (val)
+ {
+ var style = $(this).css('transform') || 'none';
+
+ if (typeof val == 'undefined')
+ {
+ if (style)
+ {
+ var m = style.match(/rotate\(([^)]+)\)/);
+ if (m && m[1])
+ {
+ return m[1];
+ }
+ }
+
+ return 0;
+ }
+
+ var m = val.toString().match(/^(-?\d+(\.\d+)?)(.+)?$/);
+ if (m)
+ {
+ if (m[3])
+ {
+ rotateUnits = m[3];
+ }
+
+ $(this).css(
+ 'transform',
+ style.replace(/none|rotate\([^)]*\)/, '') + 'rotate(' + m[1] + rotateUnits + ')'
+ );
+ }
+
+ return this;
+ }
+
+ // Note that scale is unitless.
+ $.fn.scale = function (val, duration, options)
+ {
+ var style = $(this).css('transform');
+
+ if (typeof val == 'undefined')
+ {
+ if (style)
+ {
+ var m = style.match(/scale\(([^)]+)\)/);
+ if (m && m[1])
+ {
+ return m[1];
+ }
+ }
+
+ return 1;
+ }
+
+ $(this).css(
+ 'transform',
+ style.replace(/none|scale\([^)]*\)/, '') + 'scale(' + val + ')'
+ );
+
+ return this;
+ }
+
+ // fx.cur() must be monkey patched because otherwise it would always
+ // return 0 for current rotate and scale values
+ var curProxied = $.fx.prototype.cur;
+ $.fx.prototype.cur = function ()
+ {
+ if (this.prop == 'rotate')
+ {
+ return parseFloat($(this.elem).rotate());
+ }
+ else if (this.prop == 'scale')
+ {
+ return parseFloat($(this.elem).scale());
+ }
+
+ return curProxied.apply(this, arguments);
+ }
+
+ $.fx.step.rotate = function (fx)
+ {
+ $(fx.elem).rotate(fx.now + rotateUnits);
+ }
+
+ $.fx.step.scale = function (fx)
+ {
+ $(fx.elem).scale(fx.now);
+ }
+
+ /*
+
+ Starting on line 3905 of jquery-1.3.2.js we have this code:
+
+ // We need to compute starting value
+ if ( unit != "px" ) {
+ self.style[ name ] = (end || 1) + unit;
+ start = ((end || 1) / e.cur(true)) * start;
+ self.style[ name ] = start + unit;
+ }
+
+ This creates a problem where we cannot give units to our custom animation
+ because if we do then this code will execute and because self.style[name]
+ does not exist where name is our custom animation's name then e.cur(true)
+ will likely return zero and create a divide by zero bug which will set
+ start to NaN.
+
+ The following monkey patch for animate() gets around this by storing the
+ units used in the rotation definition and then stripping the units off.
+
+ */
+
+ var animateProxied = $.fn.animate;
+ $.fn.animate = function (prop)
+ {
+ if (typeof prop['rotate'] != 'undefined')
+ {
+ var m = prop['rotate'].toString().match(/^(([+-]=)?(-?\d+(\.\d+)?))(.+)?$/);
+ if (m && m[5])
+ {
+ rotateUnits = m[5];
+ }
+
+ prop['rotate'] = m[1];
+ }
+
+ return animateProxied.apply(this, arguments);
+ }
+})(jQuery);
View
226 js/jquery.css.transform.js
@@ -0,0 +1,226 @@
+(function ($) {
+ // Monkey patch jQuery 1.3.1+ css() method to support CSS 'transform'
+ // property uniformly across Webkit/Safari/Chrome and Firefox 3.5.
+ // 2009-2010 Zachary Johnson www.zachstronaut.com
+ // Updated 2010.11.06
+ function getTransformProperty(element)
+ {
+ // Try transform first for forward compatibility
+ var properties = ['transform', 'WebkitTransform', 'MozTransform'];
+ var p;
+ while (p = properties.shift())
+ {
+ if (typeof element.style[p] != 'undefined')
+ {
+ return p;
+ }
+ }
+
+ // Default to transform also
+ return 'transform';
+ }
+
+ var proxied = $.fn.css;
+ $.fn.css = function (arg, val)
+ {
+ // Find the correct browser specific property and setup the mapping using
+ // $.props which is used internally by jQuery.attr() when setting CSS
+ // properties via either the css(name, value) or css(properties) method.
+ // The problem with doing this once outside of css() method is that you
+ // need a DOM node to find the right CSS property, and there is some risk
+ // that somebody would call the css() method before body has loaded or any
+ // DOM-is-ready events have fired.
+ if
+ (
+ typeof $.props['transform'] == 'undefined'
+ &&
+ (
+ arg == 'transform'
+ ||
+ (
+ typeof arg == 'object'
+ && typeof arg['transform'] != 'undefined'
+ )
+ )
+ )
+ {
+ $.props['transform'] = getTransformProperty(this.get(0));
+ }
+
+ // We force the property mapping here because jQuery.attr() does
+ // property mapping with jQuery.props when setting a CSS property,
+ // but curCSS() does *not* do property mapping when *getting* a
+ // CSS property. (It probably should since it manually does it
+ // for 'float' now anyway... but that'd require more testing.)
+ //
+ // But, only do the forced mapping if the correct CSS property
+ // is not 'transform' and is something else.
+ if ($.props['transform'] != 'transform')
+ {
+ // Call in form of css('transform' ...)
+ if (arg == 'transform')
+ {
+ arg = $.props['transform'];
+
+ // User wants to GET the transform CSS, and in jQuery 1.4.3
+ // calls to css() for transforms return a matrix rather than
+ // the actual string specified by the user... avoid that
+ // behavior and return the string by calling jQuery.style()
+ // directly
+ if (typeof val == 'undefined' && jQuery.style)
+ {
+ return jQuery.style(this.get(0), arg);
+ }
+ }
+
+ // Call in form of css({'transform': ...})
+ else if
+ (
+ typeof arg == 'object'
+ && typeof arg['transform'] != 'undefined'
+ )
+ {
+ arg[$.props['transform']] = arg['transform'];
+ delete arg['transform'];
+ }
+ }
+
+ return proxied.apply(this, arguments);
+ };
+})(jQuery);
+
+(function ($) {
+ // Monkey patch jQuery 1.3.1+ to add support for setting or animating CSS
+ // scale and rotation independently.
+ // 2009-2010 Zachary Johnson www.zachstronaut.com
+ // Updated 2010.11.06
+ var rotateUnits = 'deg';
+
+ $.fn.rotate = function (val)
+ {
+ var style = $(this).css('transform') || 'none';
+
+ if (typeof val == 'undefined')
+ {
+ if (style)
+ {
+ var m = style.match(/rotate\(([^)]+)\)/);
+ if (m && m[1])
+ {
+ return m[1];
+ }
+ }
+
+ return 0;
+ }
+
+ var m = val.toString().match(/^(-?\d+(\.\d+)?)(.+)?$/);
+ if (m)
+ {
+ if (m[3])
+ {
+ rotateUnits = m[3];
+ }
+
+ $(this).css(
+ 'transform',
+ style.replace(/none|rotate\([^)]*\)/, '') + 'rotate(' + m[1] + rotateUnits + ')'
+ );
+ }
+
+ return this;
+ }
+
+ // Note that scale is unitless.
+ $.fn.scale = function (val, duration, options)
+ {
+ var style = $(this).css('transform');
+
+ if (typeof val == 'undefined')
+ {
+ if (style)
+ {
+ var m = style.match(/scale\(([^)]+)\)/);
+ if (m && m[1])
+ {
+ return m[1];
+ }
+ }
+
+ return 1;
+ }
+
+ $(this).css(
+ 'transform',
+ style.replace(/none|scale\([^)]*\)/, '') + 'scale(' + val + ')'
+ );
+
+ return this;
+ }
+
+ // fx.cur() must be monkey patched because otherwise it would always
+ // return 0 for current rotate and scale values
+ var curProxied = $.fx.prototype.cur;
+ $.fx.prototype.cur = function ()
+ {
+ if (this.prop == 'rotate')
+ {
+ return parseFloat($(this.elem).rotate());
+ }
+ else if (this.prop == 'scale')
+ {
+ return parseFloat($(this.elem).scale());
+ }
+
+ return curProxied.apply(this, arguments);
+ }
+
+ $.fx.step.rotate = function (fx)
+ {
+ $(fx.elem).rotate(fx.now + rotateUnits);
+ }
+
+ $.fx.step.scale = function (fx)
+ {
+ $(fx.elem).scale(fx.now);
+ }
+
+ /*
+
+ Starting on line 3905 of jquery-1.3.2.js we have this code:
+
+ // We need to compute starting value
+ if ( unit != "px" ) {
+ self.style[ name ] = (end || 1) + unit;
+ start = ((end || 1) / e.cur(true)) * start;
+ self.style[ name ] = start + unit;
+ }
+
+ This creates a problem where we cannot give units to our custom animation
+ because if we do then this code will execute and because self.style[name]
+ does not exist where name is our custom animation's name then e.cur(true)
+ will likely return zero and create a divide by zero bug which will set
+ start to NaN.
+
+ The following monkey patch for animate() gets around this by storing the
+ units used in the rotation definition and then stripping the units off.
+
+ */
+
+ var animateProxied = $.fn.animate;
+ $.fn.animate = function (prop)
+ {
+ if (typeof prop['rotate'] != 'undefined')
+ {
+ var m = prop['rotate'].toString().match(/^(([+-]=)?(-?\d+(\.\d+)?))(.+)?$/);
+ if (m && m[5])
+ {
+ rotateUnits = m[5];
+ }
+
+ prop['rotate'] = m[1];
+ }
+
+ return animateProxied.apply(this, arguments);
+ }
+})(jQuery);
View
1 js/jquery.loadImages.1.0.1.min.js
@@ -0,0 +1 @@
+(function(c){var h=[];c.loadImages=function(a,d){a instanceof Array||(a=[a]);for(var e=a.length,f=0,g=e;g--;){var b=document.createElement("img");b.onload=function(){f++;f>=e&&c.isFunction(d)&&d()};b.src=a[g];h.push(b)}}})(jQuery);
View
166 photos.php
@@ -0,0 +1,166 @@
+<!DOCTYPE html>
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <title>Ipad simulator</title>
+ <meta name="description" content="This is a jquery iPad simulator, this is only an experiment o what can be done with javascript in ast browsers">
+ <meta name="keywords" content="Ipad, ipad simulator, apple ipad, alexw.me, altryne, alex wolkov, ipad javascript simulator">
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <link rel="stylesheet" href="style/grid.css" type="text/css" media="screen"/>
+ <link rel="stylesheet" href="style/main.css" type="text/css" media="screen"/>
+ <script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
+ <script>!window.jQuery && document.write(unescape('%3Cscript src="js/jquery-1.4.4.min.js"%3E%3C/script%3E'))</script>
+ <script type="text/javascript" src="js/jquery.css.transform.js"></script>
+<!-- <script type="text/javascript" src="js/jquery.css.rotate.js"></script>-->
+ <script type="text/javascript" src="js/jquery.loadImages.1.0.1.min.js"></script>
+ <script type="text/javascript">
+ album = Array();
+ album[0] = ["photos/ipad_photos (1).jpg", "photos/ipad_photos (2).jpg", "photos/ipad_photos (3).jpg", "photos/ipad_photos (4).jpg", "photos/ipad_photos (5).jpg", "photos/ipad_photos (6).jpg", "photos/ipad_photos (7).jpg", "photos/ipad_photos (8).jpg", "photos/ipad_photos (9).jpg", "photos/ipad_photos (10).jpg", "photos/ipad_photos (11).jpg", "photos/ipad_photos (12).jpg", "photos/ipad_photos (13).jpg", "photos/ipad_photos (14).jpg", "photos/ipad_photos (15).jpg", "photos/ipad_photos (16).jpg", "photos/ipad_photos (17).jpg", "photos/ipad_photos (18).jpg", "photos/ipad_photos (19).jpg", "photos/ipad_photos (20).jpg", "photos/ipad_photos (21).jpg", "photos/ipad_photos (22).jpg", "photos/ipad_photos (23).jpg", "photos/ipad_photos (24).jpg", "photos/ipad_photos (25).jpg"];
+ album[1] = ["photos/ipad_photos (1).jpg", "photos/ipad_photos (2).jpg", "photos/ipad_photos (3).jpg", "photos/ipad_photos (4).jpg", "photos/ipad_photos (5).jpg", "photos/ipad_photos (6).jpg", "photos/ipad_photos (7).jpg", "photos/ipad_photos (8).jpg", "photos/ipad_photos (9).jpg", "photos/ipad_photos (10).jpg", "photos/ipad_photos (11).jpg", "photos/ipad_photos (12).jpg", "photos/ipad_photos (13).jpg", "photos/ipad_photos (14).jpg", "photos/ipad_photos (15).jpg", "photos/ipad_photos (16).jpg", "photos/ipad_photos (17).jpg", "photos/ipad_photos (18).jpg", "photos/ipad_photos (19).jpg", "photos/ipad_photos (20).jpg", "photos/ipad_photos (21).jpg", "photos/ipad_photos (22).jpg", "photos/ipad_photos (23).jpg", "photos/ipad_photos (24).jpg", "photos/ipad_photos (25).jpg"];
+ album[2] = ["photos/ipad_photos (1).jpg", "photos/ipad_photos (2).jpg", "photos/ipad_photos (3).jpg", "photos/ipad_photos (4).jpg", "photos/ipad_photos (5).jpg", "photos/ipad_photos (6).jpg", "photos/ipad_photos (7).jpg", "photos/ipad_photos (8).jpg", "photos/ipad_photos (9).jpg", "photos/ipad_photos (10).jpg", "photos/ipad_photos (11).jpg", "photos/ipad_photos (12).jpg", "photos/ipad_photos (13).jpg", "photos/ipad_photos (14).jpg", "photos/ipad_photos (15).jpg", "photos/ipad_photos (16).jpg", "photos/ipad_photos (17).jpg", "photos/ipad_photos (18).jpg", "photos/ipad_photos (19).jpg", "photos/ipad_photos (20).jpg", "photos/ipad_photos (21).jpg", "photos/ipad_photos (22).jpg", "photos/ipad_photos (23).jpg", "photos/ipad_photos (24).jpg", "photos/ipad_photos (25).jpg"];
+
+ album_screen = true;
+ $(document).ready(function(){
+ $.loadImages(["img/hold.jpg","img/ajax-loader.gif"],function(){
+ _temp = Array();
+ $.each(album,function(i){
+ _temp[i] = '';
+ $.each(album[i],function(j){
+ _temp[i] += '<img alt="" data-src="'+album[i][j]+'"/>';
+ })
+ });
+ $('.album').each(function(i){
+ $(this).append($(_temp[i]));
+ });
+ album_cache = $('.album img');
+ album_cache.each(function(i){
+ $(this).data({'left':$(this).position().left,'top':$(this).position().top});
+ })
+ });
+
+ });
+
+ $(window).load(function() {
+ $.loadImages(album[0].concat(album[1],album[2]), albumLoaded());
+ });
+
+ $('.album img:last-child').live('mouseenter mouseleave click',function(e){
+ _cache = $(this).parent().find('img');
+ _top_cache = _cache.slice(-4,-1);
+ switch(e.type){
+ case 'mouseenter':
+ expand(_top_cache);
+ break;
+ case 'click':
+ expand_full(_cache);
+ break;
+ case 'mouseleave':
+ contract(_top_cache);
+ break;
+ }
+ });
+ function expand(obj_arr){
+ if (album_screen) {
+ obj_arr.each(function(i) {
+ $(this).data({'orig_rot':$(this).rotate(),'orig_pos':$(this).position()})
+ .rotate($(this).rotate()).css({'left':$(this).position().left,top:$(this).position().top})
+ .animate({
+ rotate:(Math.floor(Math.random() * 120) - 60) + 'deg',
+ left:$(this).position().left + (Math.floor(Math.random() * 60) - 10),
+ top:$(this).position().top + (Math.floor(Math.random() * 60))
+ }, 500);
+ });
+ }
+ }
+ function expand_full(obj_arr) {
+ album_screen = false;
+ obj_arr.each(function(i) {
+ $(this).rotate($(this).rotate()).css({'left':$(this).position().left,top:$(this).position().top})
+ .animate({
+ rotate:0,
+ left:$(this).data('left') + (($(this).data('left')-$(this).position().left) / 40),
+ top:$(this).data('top') + (($(this).data('top') - $(this).position().top) / 40),
+ width:98,
+ height:57
+ }, 700)
+ .animate({
+ left:$(this).data('left'),
+ top:$(this).data('top')
+ }, 200);
+ });
+ }
+ function contract(obj_arr){
+ if (album_screen) {
+ obj_arr.each(function(i) {
+ $(this).stop().clearQueue().animate({
+ rotate:$(this).data('orig_rot'),
+ left:$(this).data('orig_pos').left,
+ top:$(this).data('orig_pos').top
+ }, 500);
+ });
+ }
+ }
+
+ function albumLoaded() {
+ $('.album').addClass('loaded');
+
+ _album_cache = $('.album img');
+ _album_cache.each(function(i) {
+ $(this).attr('src', $(this).data('src'))
+ .addClass('stacked')
+ .css({'position':'absolute'});
+ _index = $(this).parent().children().index($(this));
+
+ switch ($(this).parent().children().length - _index) {
+ case 3:
+ $(this).rotate('10deg');
+ break;
+ case 2:
+ $(this).rotate('-10deg');
+ break;
+ case 1:
+ $(this).addClass('main');
+ break;
+ default:
+ break;
+ }
+ })
+
+ setTimeout(remove_hold,5000);
+ };
+ function remove_hold(){
+ $("#please_hold").toggle(800);
+ }
+ </script>
+ </head>
+ <body>
+ <div id="photos">
+ <div id="navbar">
+
+ </div>
+ <div id="please_hold"></div>
+ <div id="photos_cont">
+
+ <div id="album0" class="album" data-index="0">
+
+ </div>
+ <div id="album1" class="album" data-index="1">
+
+ </div>
+ <div id="album2" class="album" data-index="1">
+
+ </div>
+
+ </div>
+
+ <script>
+ var _gaq = [['_setAccount', 'UA-7437527-1'], ['_trackPageview']];
+ (function(d, t) {
+ var g = d.createElement(t),
+ s = d.getElementsByTagName(t)[0];
+ g.async = true;
+ g.src = ('https:' == location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+ s.parentNode.insertBefore(g, s);
+ })(document, 'script');
+ </script>
+</body>
+</html>
View
BIN photos/ipad_photos (1).jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN photos/ipad_photos (10).jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN photos/ipad_photos (11).jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN photos/ipad_photos (12).jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN photos/ipad_photos (13).jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN photos/ipad_photos (14).jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN photos/ipad_photos (15).jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN photos/ipad_photos (16).jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN photos/ipad_photos (17).jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN photos/ipad_photos (18).jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN photos/ipad_photos (19).jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN photos/ipad_photos (2).jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN photos/ipad_photos (20).jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN photos/ipad_photos (21).jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN photos/ipad_photos (22).jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN photos/ipad_photos (23).jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN photos/ipad_photos (24).jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN photos/ipad_photos (25).jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN photos/ipad_photos (3).jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN photos/ipad_photos (4).jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN photos/ipad_photos (5).jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN photos/ipad_photos (6).jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN photos/ipad_photos (7).jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN photos/ipad_photos (8).jpg
Diff not rendered.
View
BIN photos/ipad_photos (9).jpg
Diff not rendered.
View
2 safari.php
@@ -96,7 +96,7 @@ function openTabs(){
<div id="add" class="icon">+</div>
<div id="urlCont">
<form id="urlgo">
- <input type="text" id="url" value="http://www.alexw.me"/>
+ <input type="text" id="url" value="http://alexw.me/2011/01/ipad-simulator-in-html-and-js/"/>
</form>
<div id="refresh">R</div>
<div id="stop">S</div>

0 comments on commit 7dc6dd4

Please sign in to comment.