天天看點

一個支援chrome、firefox的全屏插件

 話不多說,直接上demo,你可以點選下面的圖檔看效果。

一個支援chrome、firefox的全屏插件

  插件代碼

<code>(</code><code>function</code><code>(){</code>

<code>    </code><code>var</code> <code>fullScreenApi = {</code>

<code>            </code><code>supportsFullScreen:</code><code>false</code><code>,</code>

<code>            </code><code>isFullScreen:</code><code>function</code><code>() {</code><code>return</code> <code>false</code><code>; },</code>

<code>            </code><code>requestFullScreen:</code><code>function</code><code>() {},</code>

<code>            </code><code>cancelFullScreen:</code><code>function</code><code>() {},</code>

<code>            </code><code>fullScreenEventName:</code><code>''</code><code>,</code>

<code>            </code><code>prefix:</code><code>''</code>

<code>        </code><code>},</code>

<code>        </code><code>browserPrefixes =</code><code>'webkit moz o ms khtml'</code><code>.split(</code><code>' '</code><code>);</code>

<code>    </code><code>// check for native support</code>

<code>    </code><code>if</code> <code>(</code><code>typeof</code> <code>document.cancelFullScreen !=</code><code>'undefined'</code><code>) {</code>

<code>        </code><code>fullScreenApi.supportsFullScreen =</code><code>true</code><code>;</code>

<code>    </code><code>}</code><code>else</code> <code>{</code>

<code>        </code><code>// check for fullscreen support by vendor prefix</code>

<code>        </code><code>for</code> <code>(</code><code>var</code> <code>i = 0, il = browserPrefixes.length; i &lt; il; i++ ) {</code>

<code>            </code><code>fullScreenApi.prefix = browserPrefixes[i];</code>

<code>            </code><code>if</code> <code>(</code><code>typeof</code> <code>document[fullScreenApi.prefix +</code><code>'CancelFullScreen'</code> <code>] !=</code><code>'undefined'</code> <code>) {</code>

<code>                </code><code>fullScreenApi.supportsFullScreen =</code><code>true</code><code>;</code>

<code>                </code><code>break</code><code>;</code>

<code>            </code><code>}</code>

<code>        </code><code>}</code>

<code>    </code><code>}</code>

<code>    </code><code>// update methods to do something useful</code>

<code>    </code><code>if</code> <code>(fullScreenApi.supportsFullScreen) {</code>

<code>        </code><code>fullScreenApi.fullScreenEventName = fullScreenApi.prefix +</code><code>'fullscreenchange'</code><code>;</code>

<code>        </code><code>fullScreenApi.isFullScreen =</code><code>function</code><code>() {</code>

<code>            </code><code>switch</code> <code>(</code><code>this</code><code>.prefix) {</code>

<code>                </code><code>case</code> <code>''</code><code>:</code>

<code>                    </code><code>return</code> <code>document.fullScreen;</code>

<code>                </code><code>case</code> <code>'webkit'</code><code>:</code>

<code>                    </code><code>return</code> <code>document.webkitIsFullScreen;</code>

<code>                </code><code>default</code><code>:</code>

<code>                    </code><code>return</code> <code>document[</code><code>this</code><code>.prefix +</code><code>'FullScreen'</code><code>];</code>

<code>        </code><code>fullScreenApi.requestFullScreen =</code><code>function</code><code>(el) {</code>

<code>            </code><code>return</code> <code>(</code><code>this</code><code>.prefix ===</code><code>''</code><code>) ? el.requestFullScreen() : el[</code><code>this</code><code>.prefix +</code><code>'RequestFullScreen'</code><code>]();</code>

<code>        </code><code>fullScreenApi.cancelFullScreen =</code><code>function</code><code>(el) {</code>

<code>            </code><code>return</code> <code>(</code><code>this</code><code>.prefix ===</code><code>''</code><code>) ? document.cancelFullScreen() : document[</code><code>this</code><code>.prefix +</code><code>'CancelFullScreen'</code><code>]();</code>

<code>    </code><code>// jQuery plugin</code>

<code>    </code><code>if</code> <code>(</code><code>typeof</code> <code>jQuery !=</code><code>'undefined'</code><code>) {</code>

<code>        </code><code>jQuery.fn.requestFullScreen =</code><code>function</code><code>() {</code>

<code>            </code><code>return</code> <code>this</code><code>.each(</code><code>function</code><code>() {</code>

<code>                </code><code>if</code> <code>(fullScreenApi.supportsFullScreen) {</code>

<code>                    </code><code>fullScreenApi.requestFullScreen(</code><code>this</code><code>);</code>

<code>                </code><code>}</code>

<code>            </code><code>});</code>

<code>        </code><code>};</code>

<code>    </code><code>window.fullScreenApi = fullScreenApi;</code>

<code>})();</code>

  調用代碼

<code>$(</code><code>function</code><code>(){</code>

<code>    </code><code>$(</code><code>'#fullscreenbtn'</code><code>).click(</code><code>function</code><code>(){</code>

<code>        </code><code>if</code><code>(window.fullScreenApi.supportsFullScreen){</code>

<code>            </code><code>window.fullScreenApi.requestFullScreen(document.getElementById(</code><code>'fullscreenbox'</code><code>));</code>

<code>        </code><code>}</code><code>else</code><code>{</code>

<code>            </code><code>alert(</code><code>'就你這浏覽器,基本就告别全屏功能了'</code><code>);</code>

<code>    </code><code>});</code>

<code>});</code>

  HTML代碼結構

<code>&lt;</code><code>a</code> <code>id="fullscreenbtn"&gt;</code>

<code>    </code><code>&lt;</code><code>img</code> <code>id="fullscreenbox" style="display: block; margin-left: auto; margin-right: auto;" src="http://pic002.cnblogs.com/images/2012/277258/2012041400022949.gif" alt="" /&gt;</code>

<code>&lt;/</code><code>a</code><code>&gt;</code>

  基于fullscreen功能,我們就可以做出很多效果,比如相冊:

  又比如視訊中的全屏功能:

一個支援chrome、firefox的全屏插件
一個支援chrome、firefox的全屏插件

    本文轉自胡尐睿丶部落格園部落格,原文連結:http://www.cnblogs.com/hooray/archive/2012/04/14/2446593.html,如需轉載請自行聯系原作者

繼續閱讀