Changes

Jump to navigation Jump to search
1,073 bytes added ,  13:31, 21 March 2012
General improvements, updated the dual screen view code and added a little of my own research
Line 25: Line 25:  
*CSS 3 (some functionality is unavailable)
 
*CSS 3 (some functionality is unavailable)
 
*DOM Levels 1-3
 
*DOM Levels 1-3
*ECMAScript
+
*ECMAScript (partial support for ECMA-262 5th Edition)
*XMLHttpRequest
+
*XMLHttpRequest Level 2
 
*Canvas Element (some functionality is unavailable)
 
*Canvas Element (some functionality is unavailable)
   Line 62: Line 62:     
  <script type="text/javascript">
 
  <script type="text/javascript">
      window.onload=function()
+
    if (navigator.userAgent.indexOf('Nintendo 3DS') == -1) { //If the UserAgent is not "Nintendo 3DS"
      {
+
        location.replace('http://www.3dbrew.org'); //Redirect to an other page
          if (navigator.userAgent.indexOf('Nintendo 3DS') == -1) //If the UserAgent is not "Nintendo 3DS"
+
    }
          {
  −
                location.replace('http://www.3dbrew.org'); //Redirect to an other page
  −
          }
  −
      }
   
  </script>
 
  </script>
   −
* You can check navigator.platform=="Nintendo 3DS" as well (harder to spoof).
+
* You can check <em>navigator.platform=="Nintendo 3DS"</em> as well.
    +
=== Scrolling ===
   −
=== Key Codes ===
+
Scrolling can be altered by modifying <em>document.body.scrollTop</em> and <em>document.body.scrollLeft</em>.  However, there are drawbacks related to working with these properties:
 +
 
 +
* Both properties return 0 when accessed
 +
* Setting one property resets the other property's scroll position
 +
 
 +
In order to set both at the same time (without either resetting to 0), use <em>window.scrollTo</em>.
 +
 
 +
=== Events ===
 +
==== Key Events ====
 +
The following buttons trigger the <em>onkeydown</em>, <em>onkeypress</em> and <em>onkeyup</em> events:
    
{|class="wikitable" width="20%"
 
{|class="wikitable" width="20%"
Line 89: Line 95:  
| 40 || Down
 
| 40 || Down
 
|}
 
|}
 +
 +
The events cannot have their default action cancelled.  Other buttons do not trigger key events.
 +
 +
==== Touch/Mouse Events ====
 +
<em>onmousedown</em>, <em>onmouseup</em> & <em>onclick</em> are all triggered by the browser.  However, the <em>onmousedown</em> event doesn't trigger until you've held the stylus on the screen for ~2 seconds, which is when text selection mode is activated.  The events cannot have their default action cancelled.
 +
 +
The <em>onmousemove</em> and common touch/gesture events are not supported.
    
== Screen Resolution ==
 
== Screen Resolution ==
Line 99: Line 112:     
== Using Both Screens ==
 
== Using Both Screens ==
  −
Here's how your webpage can span both screens:
  −
  −
# Ensure that your page takes up exactly 320x432 pixels.
  −
# Add the following JavaScript just before the </body> tag:
  −
  −
<script>document.body.scrollTop = 220;</script>
      
Generally the easiest way to accomplish the correct layout is to create HTML elements that "contain" the top and bottom screens. Here's an example:
 
Generally the easiest way to accomplish the correct layout is to create HTML elements that "contain" the top and bottom screens. Here's an example:
Line 111: Line 117:  
  <html>
 
  <html>
 
   <head>
 
   <head>
     <meta name="viewport" content="width=320">
+
     <meta name="viewport" content="width=400">
 
     <style>
 
     <style>
 
       body { margin: 0px; }
 
       body { margin: 0px; }
       #topscreen { width: 320px; height: 220px; overflow: hidden; }
+
       #topscreen { width: 400px; height: 220px; overflow: hidden; }
       #bottomscreen { width: 320px; height: 212px; overflow: hidden; }
+
       #bottomscreen { width: 320px; height: 212px; overflow: hidden; margin: 0 auto; }
 
     </style>
 
     </style>
 
   </head>
 
   </head>
Line 124: Line 130:  
  </html>
 
  </html>
   −
This scheme allows the page to be easily manipulated through JavaScript.
+
This scheme allows the page to be easily manipulated through JavaScript.  In order to have the window snap to the correct position, use the following JavaScript code:
 +
 
 +
window.setInterval(function () {
 +
    window.scrollTo(40, 220); 
 +
}, 50);
 +
 
 +
This automatically resets the position if the user accidentally scrolls the page.
    
==Example Sites==
 
==Example Sites==
10

edits

Navigation menu