わかりました、明らかにここに何かが欠けています(何が欠けているのかわかりません)。私はdivの内容を次のように取得するための基本的なスクリプトに取り組んできました:
<div class="sxvideo">1745623935001,640,360</div>
<div class="sxvideo">1745605281001</div>
<div class="sxvideo">1745623933001,900</div>
次に、これを (ページの下部にロードして) innerHTML (ビデオ ID、幅、および高さ) を取得し、それらを交換し、データをカンマで分割し、高さと幅の両方が未定義のままにしてから、innerHTML を完全な埋め込みコードに置き換え、変数を適切な場所にドロップします。
<script language="JavaScript" type="text/javascript" src="http://admin.brightcove.com/js/BrightcoveExperiences.js"></script>
<script type="text/javascript">
$("div.sxvideo").each(function () {
"use strict";
var bcid = this.innerHTML.split(",");
if (bcid[1] === undefined) {
bcid[1] = "720";
}
if (bcid[2] === undefined) {
bcid[2] = "404";
}
this.innerHTML = '<center><div style="margin-bottom:15px; height: ' + bcid[2] + 'px; width: ' + bcid[1] + 'px;"><object id="myExperience' + bcid[0] + '" class="BrightcoveExperience"><param name="bgcolor" value="#172531" /><param name="width" value="' + bcid[1] + '" /><param name="height" value="' + bcid[2] + '" /><param name="playerID" value="68593058001" /><param name="playerKey" value="AQ~~,AAAACmfZzQE~,c2ejuULn_boEBJAb-NiqNIQuC2o543gE" /><param name="isVid" value="true" /><param name="isUI" value="true" /><param name="dynamicStreaming" value="true" /><param name="@videoPlayer" value="' + bcid[0] + '" /></object></div></center>';
});
</script>
<script type="text/javascript">brightcove.createExperiences();</script>
編集された追加事項: 物事を少し明確にするために (これが問題である可能性があります)、埋め込みコードは情報を取得し、スクリプトによってビデオを呼び出します (これは、最後の行 brightcove.createExperiences() が行うことです)。埋め込みコードは問題ありません。その形式を使用して投稿すると (変数をデータに置き換えて)、問題なく動作し、ビデオが読み込まれます。
スクリプトの外で brightcove .js を呼び出しているからですか? の各インスタンスを置き換え、コンテンツを置き換えずに、brightcove.createExperiences() を呼び出し、div ごとに呼び出す必要がありました (ページごとに 1 回だけ呼び出す必要があります)。
それが適切な順序で行われたことを確認する準備ができている文書で書かれるべきですか? 脳がスクランブルした。
または、これをより効率的に/より良く行う方法についてより良い提案がある場合は、お気軽にここに投稿してください。ありがとう!