屏幕定位API使用JavaScript來旋轉(zhuǎn)屏幕
媒體查詢?cè)试S的網(wǎng)站,這取決于智能手機(jī)或平板電腦的屏幕方向調(diào)整布局。但有時(shí)你可能想讓你的網(wǎng)站鎖定到一個(gè)特定的方向,縱向或橫向。本地應(yīng)用程序的格式可以在這種情況下,指定。該應(yīng)用程序?qū)⒅伙@示在預(yù)設(shè)的格式–獨(dú)立于實(shí)際的定位裝置。通過使用HTML5的屏幕定位API,你可以在JavaScript中定義屏幕方向。
定義一個(gè)文檔的屏幕方向
屏幕方向可以通過screen.orientation財(cái)產(chǎn)和lock()方法調(diào)整。該方法的默認(rèn)值是“任何”。這使得該設(shè)備適用于任何方向取決于設(shè)備的物理定位。值“自然”的網(wǎng)站顯示在設(shè)備的自然取向,隨設(shè)備的不同而不同。智能手機(jī)通常使用肖像模式,而片喜歡景觀模式。
屏幕取向。鎖具(“自然”);
在上面的例子中,這套裝置的自然取向。
當(dāng)然,屏幕方向API還允許你定義一個(gè)個(gè)人取向。你可以選擇之間的四個(gè)值,其中包括移動(dòng)設(shè)備,所有可能的方向。這些是:“肖像,肖像”的主要“中等”,“景觀主”,和“中學(xué)景觀”。
屏幕取向。鎖具(“像主”);
同樣,“中學(xué)景觀”和“景觀主要在180°旋轉(zhuǎn)。
你也可以不用“主要”和“次要的”,并用“肖像”或“景觀”為關(guān)鍵詞。這使得該裝置顯示取向模式。
如果你想刪除定義的取向,叫unlock()方法。
屏幕取向。解鎖();
Advertisement
只為全屏幕模式
有通過screen.orientation定義定位要求。首先,通過lock()鎖只能如果瀏覽器已經(jīng)切換到全屏模式下通過requestfullscreen()。第二個(gè)要求是緊密相連的:第一種為全屏幕模式需要用戶請(qǐng)求而不是自動(dòng)啟動(dòng),這適用于屏幕定位API,太。
因此,你應(yīng)該綁定的方法點(diǎn)擊事件的調(diào)用。
文件使用方(“按鈕”)。注冊(cè)偵聽器(“點(diǎn)擊”, 功能() {文件文檔元素]。requestfullscreen();屏幕取向。鎖具(“像主”);
}, 假);
在應(yīng)用lock()方法啟動(dòng)全屏模式是很重要的,如上面的例子。結(jié)束的全屏幕模式將釋放鎖定位。
如果你在瀏覽器中,打開一個(gè)新文檔為例,調(diào)用一個(gè)鏈接時(shí),定義的取向隨著全屏模式將終結(jié)。屏幕定位API只在當(dāng)前HTML文檔。
閱讀取向
你不會(huì)總是想預(yù)定義取向。有時(shí)你只想知道一個(gè)智能手機(jī)或平板電腦的定位。在這種情況下,你可以讓屏幕定位API讀取方向。類型的屬性顯示一個(gè)定位關(guān)鍵詞。
警報(bào)(屏幕取向。類型);
但你也可以用角度屬性顯示的方位角。
警報(bào)(屏幕取向。角);
0°角對(duì)應(yīng)的自然傾向,這主要是“肖像主”智能手機(jī)。90°對(duì)應(yīng)”景觀小學(xué)”,180°“肖像中學(xué)”,和“270°中學(xué)景觀”。這取決于設(shè)備的角度,可以代表不同的關(guān)鍵詞。
為了查詢定位,瀏覽器需要運(yùn)行在全屏模式。
應(yīng)對(duì)改變屏幕方向改變的事件也有可能通過。只需添加addeventlistener()和功能定位性能。
屏幕取向。注冊(cè)偵聽器(“改變”, 功能(E) {警報(bào)(屏幕取向。類型 + “” +屏幕取向。角);
}, 假);
定位的每個(gè)變化觸發(fā)警報(bào),這顯示目前定位為關(guān)鍵詞和角度。
瀏覽器支持
屏幕定位API支持Chrome和Opera 25 + 38 +供應(yīng)商無前綴。當(dāng)然,在移動(dòng)設(shè)備上的API只能。你可以使用if語句來找出如果瀏覽器支持的API。
如果 (“定位” 進(jìn)入屏幕) {…}
然后,您可以顯示瀏覽器不支持將設(shè)備變成一個(gè)特定的方向 API的通知手動(dòng) 。此外,桌面瀏覽器不支持的API不顯示錯(cuò)誤消息,如果是在這個(gè)查詢API調(diào)用。
屏幕方向是相對(duì)較新的API。該API使用一些不同的方法名稱的早期發(fā)展階段。例如:lockorientation()代替lock()和unlockorientation()代替unlock()。你不應(yīng)該使用舊名稱為Chrome和Opera。
這些都是在Internet Explorer 11和Firefox 33 +支持;然而,他們需要適當(dāng)?shù)那熬Y–MS Internet Explorer,F(xiàn)irefox MOZ。
屏幕mslockorientation。鎖具(“像主”);屏幕mozlockorientation。鎖具(“像主”);
檢測(cè)一個(gè)方向變化的事件的名稱也不同于目前的API名稱。而不是用“改變”,你需要使用“適當(dāng)?shù)那熬Yorientationchange”。
如果你想覆蓋所有的瀏覽器,你沒有選擇,但同時(shí)使用,舊的和新的名字,并關(guān)注供應(yīng)商前綴舊名稱。
最后一件事你應(yīng)該記住當(dāng)使用屏幕定位API:它只能在全屏API,你不應(yīng)該使用它的網(wǎng)站或類似的設(shè)計(jì)。它為瀏覽器游戲或其他需要全屏模式的應(yīng)用更好。