!!!FSWikiのyoutubeプラグイン改良版 当wikiでは、Youtubeの埋め込みに、以下のプラグインを利用していた。 http://fswiki.osdn.jp/cgi-bin/wiki.cgi?page=BugTrack-plugin%2F300 ところがyoutubeの仕様変更(というかChromeの仕様変更?)により、タブレット端末でYoutubeの埋め込みページ(例:[zenfone3基本事項|https://zenfone3-asus-wiki.fxtec.info/wiki.cgi?page=%B4%F0%CB%DC%BB%F6%B9%E0])を表示すると、flashファイルであるswfファイルが強制的にダウンロードされる不具合が出るようになってしまった。 そこで、自分で改良を施した。 以下をコピペでOK YouTube.pm ############################################################################### # #

指定したidのYouTube動画を張ります。

#
 #   {{youtube id}}
 # 
#

# 表示サイズを指定することもできます。標準は425x300です。 #

 #   {{youtube id, 320, 240}}
 # 
#

# ############################################################################### package plugin::youtube::YouTube; use strict; use LWP::UserAgent; #============================================================================== # コンストラクタ #============================================================================== sub new { my $class = shift; my $self = {}; return bless $self,$class; } #============================================================================== # パラグラフメソッド #============================================================================== # ================================================================================ sub getYouTubeVideoID { my ($str) = @_; if (!($str =~ m/https:\/\/www\.youtube\.com\/watch\?/) && !($str =~ m/https:\/\/jp\.youtube\.com\/watch\?/) ) { return $str; } my $vid = ""; my @ar = split(/\?/, $str); return "" if($ar[1] eq ""); my @ar2 = split(/\&/, $ar[1]); my $i; for ($i=0; $i< $#ar2+1; $i++){ if ($ar2[$i] =~ m/^v=/) { $vid = substr($ar2[$i], 2, length($ar2[$i])-2); } } return $vid; } sub embed_youtube { my $item = shift; my $width = shift; my $height = shift; my $id = &getYouTubeVideoID($item); my $src = "https://www.youtube.com/embed/" . $id; my $buf = "\n"; return $buf; } # ================================================================================ sub getNicoID { my $item = shift; my $id; if ( $item =~ m/https:\/\/www\.nicovideo\.jp\/watch\/(sm[0-9]*)/ ) { $id = $1; } return $id; } sub embed_nicovideo { my $item = shift; my $width = shift; my $height = shift; my $nicoID = getNicoID($item); my $buf = ""; return $buf; } sub paragraph { my $self = shift; my $wiki = shift; my $item = shift; my $width = shift; my $height = shift; my $buf = ""; $item = Util::escapeHTML($item); if (($item =~ m/^https:\/\/www\.nicovideo\.jp/ )) { $width = ($width eq "")? 312 : int($width); $height = ($height eq "")? 176 : int($height); $buf = embed_nicovideo($item, $width, $height); } else { # default : YouTube $width = ($width eq "")? 360 : int($width); $height = ($height eq "")? 355 : int($height); $buf = embed_youtube($item, $width, $height); } return $buf; } 1;