すべてのYouTubeオブジェクトタグをiFrameに置き換えるJavascriptコードを作成しようとしています。代わりに、私が作成した関数は最初の関数を置き換え<object>
、その後停止して、上記の後にすべてのコンテンツを破棄します<object>
。
改行などの別の要素を使用すると、すべてのタグ<br>
が正常に置き換えられ、コンテンツが失われることはありません。<object>
<br>
function editVideoObjects(htmlContent) {
// Index all the objects and add ID tags
var objectTags = htmlContent.querySelectorAll("object");
var numberOfObjects = objectTags.length;
for (var r = 0; r < numberOfObjects; r += 1) {
objectTags[r].setAttribute("id", "video" + r)
}
for (var j = 0; j < numberOfObjects; j += 1) {
var currentObject = htmlContent.getElementById("video" + j);
var videoEmbed = currentObject.querySelector("embed");
if (videoEmbed != null) {
var videoSrc = videoEmbed.getAttribute("src");
//Script specific for YouTube videos.
if (videoSrc.split(".")[1] == "youtube") {
var newSrc = videoSrc.replace("/v/", "/embed/");
var iFrame = document.createElement("iframe");
iFrame.setAttribute("src", newSrc);
iFrame.setAttribute("height", currentObject.getAttribute("height"));
iFrame.setAttribute("width", currentObject.getAttribute("width"));
iFrame.setAttribute("frameborder", "0");
iFrame.setAttribute("allowfullscreen");
iFrame.setAttribute("id", "iFrameVideo" + j);
$(currentObject, htmlContent).replaceWith(iFrame);
}
}
}
}