wordpress引入土豆优酷视频真正实现自适应宽高

发布时间:2012-10-07 21:50:57

最近录制了几套易语言大漠制作游戏外挂的视频,发布在了土豆,在引入自己的网站时,由于设置了视频的高度,宽度,在移动端浏览时出现了高度无法自适应,给浏览者带来极大的不舒服,缺乏体验性,百度了半天,调试了半天,大约有两个角度来解决,一个是js,一个是css,最后不得不大声说,伟大的css,使用css控制及方便又不影响加载速度,总之看到网上铺天盖地的文章也不知道谁是原创,更不知道站长测试了没有,总之我只有css的方法成功!强烈推荐css的方法,以下方法来源网络,不知道谁是原创了,无法保留版权。

一、CSS方法
在主题引入的css文件中,干脆直接在style.css文件中引入以下内容:(以下方法来自空气网络)

.rat0-video {
position:relative;
padding-bottom:56.25%;
height:0;
overflow:hidden;
}
.rat0-video iframe,.rat0-video object,.rat0-video embed {
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
}
以iframe方式引入视频一般有三种方法,我们要想在移动端支持,我们要采用Html5,及通用方式的引入方法,以土地为例:

<iframe src=”http://www.tudou.com/programs/view/html5embed.action?type=0&code=1Uu2flzzMhw&lcode=&resourceId=0_06_05_99″ allowtransparency=”true” allowfullscreen=”true” allowfullscreenInteractive=”true” scrolling=”no” border=”0″ frameborder=”0″ style=”width:480px;height:400px;”></iframe>
我们把它修改为以下模式:
也就是加入一个class为rat0-video的p标签:

<p class=”rat0-video”><iframe src=”视频网站提供的iframe方式里的src链接” frameborder=”0″ allowfullscreen=”allowfullscreen”></iframe></p>
最终引入样式如下:

<p class=”rat0-video”><iframe src=”http://www.tudou.com/programs/view/html5embed.action?type=0&code=1Uu2flzzMhw&lcode=&resourceId=0_06_05_99″ frameborder=”0″ allowfullscreen=”allowfullscreen”></iframe></p>
二方法扩展:给后台文章文本编辑器添加按钮的方法
建议你阅读:把WP-GeSHi-Highlight代码高亮插件集成到wordpress文本编辑器
在functions.php文件中加入,就可以在后台文本编辑器上面加上下面这些短代码了:

/**
* 使插入的FLASH视频自适应长宽及为后台编辑器添加自定义按钮
* http://www.rat0.com/253.html
*/
// wordpress后台HTML编辑器添加自定义快捷标签按钮
add_action(‘after_wp_tiny_mce’, ‘bolo_after_wp_tiny_mce’);
function bolo_after_wp_tiny_mce($mce_settings) {
?>
<script type=”text/javascript”>
QTags.addButton( ‘youkushipinjm’, ‘youku’,
‘<p class=”rat0-video”><iframe src=”http://player.youku.com/embed/视频特征ID” frameborder=”0″ allowfullscreen=”allowfullscreen”></iframe></p>\n’, “” );
QTags.addButton( ‘acfunshipinjm’, ‘AcFun’,
‘<p class=”rat0-video”><iframe src=”http://cdn.aixifan.com/player/ACFlashPlayer.out.swf?type=page&url=http://www.acfun.tv/v/视频特征ID” id=”ACFlashPlayer-re” frameborder=”0″></iframe></p>\n’, “” );
QTags.addButton( ‘qqshipinjm’, ‘QQ’,
‘<p class=”rat0-video”><iframe frameborder=”0″ src=”通用代码中的src地址” allowfullscreen></iframe></p>\n’, “” );
QTags.addButton( ‘iqiyishipinjm’, ‘爱奇艺’,
‘<p class=”rat0-video”><iframe src=”通用代码中的src” frameborder=”0″ allowfullscreen=”true”></iframe></p>\n’, “” );
QTags.addButton( ‘yinyuetaishipinjm’, ‘音悦台’,
‘<p class=”rat0-video”><embed src=”代码中的src” quality=”high” align=”middle” allowScriptAccess=”sameDomain” allowfullscreen=”true” type=”application/x-shockwave-flash”></embed></p>\n’, “” );
QTags.addButton( ‘souhushipinjm’, ‘搜狐’,
‘<p class=”rat0-video”><iframe src=”通用代码中的src” frameborder=”0″ allowfullscreen=”allowfullscreen”></iframe></p>\n’, “” );
QTags.addButton( ’56shipinjm’, ’56’,
‘<p class=”rat0-video”><iframe src=”http://www.56.com/iframe/视频特征ID” frameborder=”0″ allowfullscreen=””></iframe></p>\n’, “” );
QTags.addButton( ‘tudoushipinjm’, ‘tudou’,
‘<p class=”rat0-video”><iframe src=”iframe代码中的src” frameborder=”0″ allowfullscreen=”allowfullscreen”></iframe></p>\n’, “” );
function bolo_QTnextpage_arg1() {
}
</script>
<?php
}
三、不负责的一种方法
在网上搜到很多以下版本,测试没有成功,不过可能是自己的某些设置导致,你完全可以试一下:

// 自动生成支持自适应的土豆视频代码
function wavelpc_iframe_handler_tudou( $matches, $attr, $url, $rawattr ) {
if( wp_is_mobile() ){ $height = 250; } else { $height = 400; }
$iframe = ‘<iframe width=”100%” height=”‘. $height .’px” src=”http://www.tudou.com/programs/view/html5embed.action?code=’. esc_attr($matches[1]) .'” frameborder=”0″ allowfullscreen></iframe>’;
return apply_filters( ‘iframe_tudou’, $iframe, $matches, $attr, $url, $ramattr );
}
wp_embed_unregister_handler(‘tudou’);
wp_embed_register_handler( ‘tudou_iframe’, ‘#http://www.tudou.com/programs/view/(.*?)/#i’, ‘wavelpc_iframe_handler_tudou’ );
// 自动生成支持自适应的优酷视频代码.
function wavelpc_iframe_handler_youku( $matches, $attr, $url, $rawattr ) {
if( wp_is_mobile() ){ $height = 250; } else { $height = 400; }
$iframe = ‘<iframe width=”100%” height=”‘. $height .’px” src=”http://player.youku.com/embed/’. esc_attr($matches[1]) .'” frameborder=”0″ allowfullscreen></iframe>’;
return apply_filters( ‘iframe_youku’, $iframe, $matches, $attr, $url, $ramattr );
}
wp_embed_unregister_handler(‘youku’);
wp_embed_register_handler( ‘youku_iframe’, ‘#http://v.youku.com/v_show/id_(.*?).html#i’, ‘wavelpc_iframe_handler_youku’ );
解释:250是移动端高度预设,400是pc端高度预设,自己根据需要改动。

相关文章

写给所有做网站的朋友的一封信

写给所有做网站的朋友的一封信

现在就开始执行“1+N”营销推广和没有开始执行的人,一两天看不出任何区别; 一两个月看来差异也是微乎其微的;但在2-5年的长远时间来看的时候,你的高质 量询盘不断增加,你的互联网资产已经建立完成,对手已经很难匹敌,现在你看到这段文字的时候就是最好的开始,现在就是最好的时候,马上开始“1+N”体系的整体营销推广吧,我们和你一起,开创互联网营销大未来!

点击查看详情

准备开启WordPress网站建设推广?

我们相信高端漂亮的网站不应该是昂贵的,这就是wordpress对每个人都是免费的原因
wordpress建站免费入门,并提供价格合理的wordpress建站套餐。