OpenPNE 3.8.16 で YouTube の動画を引用する方法

この記事は公開されてから時間が経っています

OpnePNE で SNS を用意しましたが、最近の OpnePNE では YouTube の動画は引用できません!と利用者に言われてしまいました
調べで解ったので簡単な対処法を備忘録として残しておきます

YouTube の URI が http から https へ変更したからで、本家でそのうち対応するだろうと思いますので、自分のサイトは応急処置だけして対応します

小窓機能のディレクトリに或る www.youtube.com.js を開いて 最初の match の http を https に変更します

    if (!url.match(/^http:\/\/(?:www\.|)youtube\.com\/watch\?(?:.+&)?v=([a-zA-Z0-9_\-]+)/)) {

たぶんこれだけでいけると思います
jp.youtube.com って言う URI はまだあるか解りませんが、過去の記事にあると困りますので併せて変更した方が良いかもしれませんね.
※ http://jp.youtube.com でアクセスすると https://www.youtube.com へリダイレクトされるようです

それと、シェアー機能で短縮URL の https://youtu.be/ での記事も変換されませんので、www.youtube.com.js を youtu.be.js へコピーし
内容を変更しました

 

function url2cmd(url) {
    if (!url.match(/^https:\/\/youtu\.be\/([a-zA-Z0-9_\-]+)/)) {
        pne_url2a(url);
        return;
    }
    var id = RegExp.$1;
    var width = 560;
    var height = 315;
    main(id, width, height);
} function main(id, width, height) {
    if (!id.match(/^[a-zA-Z0-9_\-]+$/)) {
        return;
    }
    if (!width) width = 0; else width = parseInt(width);
    if (!height) height = 0; else height = parseInt(height);
    if (width <= 0 || width > 560) {
        width = 560;
    }
    if (height <= 0 || height > 315) {
        height = 315;
    }
    var html = '<iframe width="'
            + width
            + '" height="'
            + height
            + '" src="//www.youtube.com/embed/'
            + id
            + '" frameborder="0" allowfullscreen="allowfullscreen"></iframe>';
    document.write(html);
}

こんな感じ…
最近の動画はワイドなので、面倒なのでワイド固定にしてしまいました
ちょうど、記事の幅くらいになっているようです ^^

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


reCaptcha の認証期間が終了しました。ページを再読み込みしてください。