天天看点

一个支持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,如需转载请自行联系原作者

继续阅读