問題 tumblr がビデオの幅を最大 500 に制限していることを知っています。助言がありますか?
1332 次
2 に答える
2
このコードは便利な出発点でしたが、embed タグのサイズも変更していないため、すべてのブラウザーで機能するとは限りません。
<script type="text/javascript">
$(document).ready(function() {
var embedTag;
$('.video').each(function(index) {
$( this ).contents().each( function ( index ) {
if ($(this).is('object') || $(this).is('embed') || $(this).is('iframe')) {
var orgWidth = $(this).attr('width');
var orgHeight = $(this).attr('height');
var scale = orgHeight/orgWidth;
var targetWidth = 474;
var targetHeight = targetWidth * scale;
$(this).attr('width', targetWidth);
$(this).attr('height', targetHeight);
$(this).find('embed').attr('width', targetWidth);
$(this).find('embed').attr('height', targetHeight);
}
});
});
});
</script>
EDIT:他の要素に埋め込まれているものは何でも、あなたのビデオ/メディアの場合に備えて、さらなる改訂:
<script type="text/javascript">
$(document).ready(function() {
var embedTag;
$('.video, .media').each(function(index) {
$( this ).find('object, embed, iframe').each( function ( index ) {
var orgWidth = $(this).attr('width');
var orgHeight = $(this).attr('height');
var scale = orgHeight/orgWidth;
var targetWidth = 474;
var targetHeight = targetWidth * scale;
$(this).attr('width', targetWidth);
$(this).attr('height', targetHeight);
$(this).find('embed').attr('width', targetWidth);
$(this).find('embed').attr('height', targetHeight);
});
});
});
</script>
于 2011-02-14T17:36:13.927 に答える
0
Tumblr 用に設計/開発したテーマ (ridiculouslyawesome.com) でも同じことをしなければなりませんでした。Tumblr が課すと思われる最大幅 500px を回避するために、ページ内のすべての object/embed/iframe タグを見つけて、テーマに合わせて適切にサイズ変更する小さな JavaScript ハックを思い付きました。この例では jQuery を使用していますが、好きな JS フレームワークに変更できます。
$(document).ready(function() {
var embedTag;
$('div.video_container').each(function(index) {
$( this ).contents().each( function ( index ) {
if ($(this).is('object') || $(this).is('embed') || $(this).is('iframe')) {
var orgWidth = $(this).attr('width');
var orgHeight = $(this).attr('height');
var scale = orgHeight/orgWidth;
var targetWidth = 960;
var targetHeight = targetWidth * scale;
$(this).attr('width', targetWidth);
$(this).attr('height', targetHeight);
}
});
});
});
これまでのところ、これは、テストしたすべてのブラウザーで私のテーマに対してかなりうまく機能しています。うまくいけば、それもあなたにとってもうまくいくでしょう。問題が発生した場合はお知らせください。
ライアン
于 2011-01-25T17:01:50.730 に答える