生成一个从预览表格的URL中嵌入iframe的框架
问题描述:
因此,我创建了一个表单,人们可以在其中输入各种描述配方的数据。其中一种数据类型是YouTube视频网址。我想将用户放入URL框中的数据与视频生成一个iframe,以便预览并确保它是正确的。这是我使用的代码:生成一个从预览表格的URL中嵌入iframe的框架
function makeVideoPreview(aTable, aTextBox)
{
\t var aVideo = document.createElement("iframe");
\t aVideo.setAttribute("width", "560");
\t aVideo.setAttribute("height", "315");
\t var theURL = aTextBox.value;
\t var idIndex = theURL.indexOf("v=") + 2;
\t var vidID = theURL.slice(idIndex, theURL.length );;
\t var embedLink = "https://www.youtube.com/embed/"+ vidID;
\t aVideo.setAttribute("src", embedLink);
\t aVideo.setAttribute('allowfullscreen', 'true');
aVideo.setAttribute('frameborder', "0");
\t aTable.appendChild(aVideo);
}
如果我使用调试器和单步执行代码时,iframe被放置在正确的地方,开始加载,然后我得到一个405方法不允许错误,并重新加载整个页面。
如果我从调试器复制生成的iframe并将其粘贴到html源代码中,它工作正常。世界正在发生什么?
我不是一个网络人。我主要做本地iOS开发,但是我将其作为资源,以便我为该应用创建的公司可以添加配方内容。我确信这是我对平台不了解的东西。
谢谢。
答
我刚找到答案!我认为。显然,每个元素“按钮”默认提交。我认为提交是一个提交,按钮是一个动作少的元素,除非有特定的onclick或类似的功能。显然,必须将按钮类型设置为按钮或默认提交。
如何通过表单或类似的提交事件调用此函数?听起来像你没有正确地阻止默认的提交过程,所以POST请求被设置为一个“静态”URL(例如HTML文件,web服务器通常被配置为拒绝该URL)。如果这些提示没有帮助,请创建一个[mcve]。 – CBroe
Youtube提供了一个播放器API,也许使用它会更合适? [Youtube API文档](https://developers.google.com/youtube/iframe_api_reference) – NewToJS
提供的代码工作没有任何隔离问题.... – Alexandr