0

我在空闲时间学习 Javascript。作为一个小项目的一部分,我想使用 html 表单获取用户的 Youtube 视频 ID、宽度和高度,然后最终使用它们以以下格式编写。

例如,如果用户输入 width = 640, height = 360 和 video id = IboGovrkfjE,最终输出如下:

<iframe width="INPUT_WIDTH" height="INPUT_HEIGHT" src="http://www.youtube.com/embed/INPUT_VIDEOID?rel=0" frameborder="0" allowfullscreen></iframe>

当我使用下面的 document.write 时,它​​没有被处理,因为 2 个双引号放在一起。

document.write "<iframe width="";

所以,我使用 HTML ASCII " 作为双引号

document.write "<iframe width=&#34;";

现在的问题是;

The ASCII for ; is &#59;

我完全不知所措,不知道如何进行,已经为此工作了一周。

很抱歉没有提问题,在这方面的任何帮助或替代方法将不胜感激。

谢谢!

4

3 回答 3

3

要么逃避双引号:

document.write("<iframe width=\"");

或使用不同类型的引号:

document.write('<iframe width="');

或者:

document.write("<iframe width='");

您还忘记了参数列表周围的括号。

对于第二个问题,解决方案是使用 & 符号的实体代码:

The ASCII for ; is &amp;#59;
于 2013-05-21T15:03:56.703 回答
1

您可以改用 sinqle 引号:

document.write('<iframe width="');

或者

document.write("<iframe width='");

或者转义双引号:

document.write("<iframe width=\"");
于 2013-05-21T15:03:52.790 回答
0

使用单引号或转义它们。

var str = "<iframe src='foo'>";
var str = "<iframe src=\"foo\">";
于 2013-05-21T15:03:50.290 回答