1

我有一个位于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>'))
        }
    }
}

点击这里查看完整的 JS 代码

我对 StackOverflow 比较陌生,如果我在这里做错了什么,对不起。

4

0 回答 0