0

我有一个 textarea 字段,用户可以在其中输入 youtube 嵌入代码,然后在提交时我抓取 textarea 的 val 并将其附加到正文。我想将 ?id=123 添加到嵌入代码中 src 的末尾,然后再将其附加到正文。最简单的方法是什么。附加的值应该是带有修改后的 src 的 iframe 代码

嵌入代码看起来像

<iframe title="YouTube video player" width="480" height="390" src="http://www.youtube.com/embed/aemXgP-2xyg" frameborder="0" allowfullscreen></iframe>

更新代码

                var value = $('textarea').val();
                var wmode = '?id=123';
                var value1 = $(value).attr("src", $(value).attr("src") + wmode);                 
                var code = $('<div class="abs embed" id="embedId">' + value1 + '<span class="move"></span></div>');                 
                $(code).appendTo(...
4

4 回答 4

2
var code = $("#TEXTAREA").val();
var appCode = $(code);
appCode.attr("src", appCode.attr("src") + "?id=123").appendTo($("#parentDiv"));
于 2011-02-06T03:47:38.710 回答
1
var iframe = $($("textarea").val());
iframe.attr("src", function(i,v) { return v + '?id=123'; }).appendTo("body");

(更新了 Šime Vidas 的解决方案)

编辑:如果您有萤火虫,在此页面上,您可以将 iframe 代码复制/粘贴到 textarea 中,然后在控制台中运行此代码:

var lol = $("textarea").val()
var iframe = $(lol);
var test = iframe.attr("src", function(i,v) { return v + '?id=123'; })
test.appendTo("body");

并且应该在页面末尾插入 youtube 视频。

编辑2:要在更新中执行您想要的操作,请尝试:

var value = $('textarea').val(),
wmode = '?wmode=transparent',
value1 = $(value).attr("src", $(value).attr("src") + wmode),
span = $('<span class="move"></span>'),
div = $('<div class="abs embed" id="embedId"></div>');
div.append(value1).append(span).appendTo("body");
于 2011-02-06T03:47:37.557 回答
0

所有发布的解决方案都很好并且可以工作,但我宁愿只删除 src(如果存在),然后查看它是否真的是有效的视频源。如果你让他们输入html,你会冒很大的风险!

看看Facebook,你可以输入一个链接,他会认出它是什么,这对用户来说更好,如果他可以直接传递youtube链接,而不是搜索整个嵌入代码!安全第一!

于 2011-02-06T03:52:42.503 回答
0
$(ta.value).attr('src', function(i,v) { return v + s; }).appendTo('body'); 

...s您要添加到 src 属性的字符串在哪里
...和ts​​TEXTAREA 元素

于 2011-02-06T03:58:32.703 回答