javascript - 在这种情况下,document.createElement 或 document.write 哪个更好?

标签 javascript html canvas

好的,我正在制作一个 html5 canvas/javascript 游戏。我正在考虑通过一个链接到外部 js 文件的小脚本片段,让任何想要将游戏放在自己网站上的人都可以使用它。

在外部 js 文件中,整个游戏都包含在内,我只需要找到通过 javascript 代码创建 Canvas 标签的最佳方法。

外部js链接:

<script src="http://host.com/game.js"></script>

这是我需要插入到文档中的单行 Canvas 代码:

<canvas id="canvas" style="display:block;margin:0px auto;" width="600" height="550">Your browser does not support the HTML5 canvas element.</canvas>

<强>1。我的第一个选择是使用..

document.write('<canvas id="canvas" style="display:block;margin:0px auto;" width="600" height="550">Your browser does not support the HTML5 canvas element.</canvas>');

但是,据我所知,document.write 是不受欢迎的。

<强>2。我的下一个选择是使用..

document.createElement(canvas);
document.setAttribute(.....);
document.appendChild(....);

但是,此选项意味着我必须包含一个 div 或一些带有外部 js 链接的元素,以便我可以将 Canvas 附加到它。

<强>3。我最后一个已知的选择是使用..

document.getElementById('divWrapper').innerHTML('my canvas code');

但是,这个选项也意味着我必须包含一个带有外部 js 链接的 div,这样我才能找到 div 的 id,并通过 innerHTML 在其中写入。

最后提示:人们将能够复制外部 js 链接并将其粘贴到自己网站的正文中,(它不会在头部),如果我的选项需要带有脚本链接的 div 标签,这很好。我打算让人们必须复制/粘贴的字符最少。

那么您会推荐什么选项?还有其他我没有提到的更好的方法吗?

最佳答案

我应该把这个作为答案。

如果document.write [docs]在解析 HTML 时调用(似乎是这种情况),那么使用它就完全没问题了。

我不会用它写更长的 HTML 代码,但是一行 HTML 就可以了。

document.write 的优点:(在本例中)

用户更容易添加到他的页面(只需复制和过去)。

innerHTML 的优点:

您可以为用户提供选项来指定要将 Canvas 附加到的元素的 ID。这增加了用户的灵 active ,但需要额外的步骤。

关于javascript - 在这种情况下,document.createElement 或 document.write 哪个更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6929594/

相关文章:

javascript - Canvas 不会在它告诉的地方画线

javascript - ajax改变html后如何维护jquery?

javascript - Skycons,不能两次显示相同的图标吗?

javascript - 如何淡入我的 CSS 元素的效果?

javascript - 如何使用jquery在按钮单击时显示表单?

javascript var.className 不是很懂

javascript - 在 Angular 中显示来自 Rest Api 的数据的正确方法

html - DNS 预取 Google webfonts - 哪个域?

android - 在Android中将 Canvas 保存为图像

javascript - 图片未加载到网站上