Can I trigger a CSS event in mobile safari upon iphone orientation change?

后端 未结 6 2239
别那么骄傲
别那么骄傲 2020-12-03 14:12

I\'m trying to figure out how to change an embedded web page when the user rotates their phone from portrait to landscape mode - basically to load a view that is better suit

6条回答
  •  醉酒成梦
    2020-12-03 14:34

    The Safari mobile browser has support for the orientationchange event as well as the orientation property on the window, so you can do something like:

    window.onorientationchange = function() {
        switch(window.orientation) {
            case 0:   // Portrait
            case 180: // Upside-down Portrait
                // Javascript to setup Portrait view
                break;
            case -90: // Landscape: turned 90 degrees counter-clockwise
            case 90:  // Landscape: turned 90 degrees clockwise
                // Javascript to steup Landscape view
                break;
        }
    }
    

    I would add the upside-down because the iPad human interface guidelines say you should support all orientations, so I would expect Safari on the iPad (and possibly future iPhone versions) to support it.

提交回复
热议问题