我有一个位于0TM.CO的 WYSIWIG 编辑器,我目前正在实施 YouTube 视频功能。
问题是,一旦用户按下“发布”按钮,YouTube 嵌入就会消失,引擎会处理页面,就好像嵌入从未存在过一样。
处理发布的 JS 代码:
$("#publish").click(function () {
saveAll();
var e = $("display").html();
var t = '<form id="parse" action="engine.php" method="post"><input type="hidden" name="html" value="' + encodeURIComponent(e) + '"><input type="hidden" name="buttons" value="' + buttons + '"><input type="hidden" name="contents" value="' + contents + '"></form>';
$("display").html($("display").html() + t);
$("#parse").submit()
});
功能保存:
function saveAll() {
$("#title-holder").attr("id", "title");
$("#subtitle-holder").attr("id", "subtitle");
$("#title").text($("#set-title").val());
$("#subtitle").text($("#set-subtitle").val());
for (var e = 0; e < buttons; e++) {
$("#btn-" + e + "-holder").attr("id", "btn-" + e);
$("#btn-" + e).attr("val", $("#set-btn-" + e).val());
if (validateURL($("#set-btn-" + e).val())) {
$("#btn-" + e).attr("fhref", $("#set-btn-" + e).val());
$("#btn-" + e).attr("ftarget", "_blank");
$("#btn-" + e).attr("class", "btn btn-primary");
$("#btn-" + e).text($("#set-btn-" + e).val().replace(/.*?:\/\//g, ""))
} else {
$("#btn-" + e).text($("#set-btn-" + e).val())
}
}
for (var e = 0; e < contents; e++) {
if ($("#content-edit-" + e).length) {
$("#content-" + e).attr("onclick", "contentEdit(" + e + ")");
$("#content-" + e).attr("content", $("#content-edit-" + e).val());
$("#content-" + e).html($("#content-edit-" + e).val().replace(/(?:http:\/\/)?(?:www\.)?(?:youtube\.com|youtu\.be)\/(?:watch\?v=)?(.+)/g, '<iframe class="complimentary" width="420" height="345" src="http://www.youtube.com/embed/$1" frameborder="0" allowfullscreen></iframe>'))
}
}
}
我对 StackOverflow 比较陌生,如果我在这里做错了什么,对不起。