好吧,我正在制作一个html5 canvas/javascript游戏。我正在玩弄想让任何想要把游戏放在自己网站上的人通过一个链接到外部js文件的小脚本片段。在这种情况下,document.createElement或document.write有什么更好?
在外部js文件中,整个游戏都包含在内,我需要的是找到通过javascript代码创建画布标签的最佳方式。
外部JS链接:
<script src="http://host.com/game.js"></script>
这里是帆布一行代码,我需要插入到文档:
<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链接一些元素,这样我可以追加画布它。
3,我的最后一个已知选项是使用..
document.getElementById('divWrapper').innerHTML('my canvas code');
但是,此选项也意味着我必须包括与外部JS链接一个div,这样我可以找到的标识div,并通过innerHTML写入它。
最后提示:人们将能够复制外部js链接并将其粘贴到自己的网站中(不会在头部),并且如果我的选项需要使用div标签脚本链接,这很好。我要尽可能少地复制/粘贴人物。
那么你会推荐什么选项?还有没有更好的方法,我没有提到?
如果在分析HTML时调用了document.write,那就没问题了。 –
你的意思是通过在外部包含外部js链接,它会在html页面被加载时解析它,这会不错吧? – Jacob
是的.....甚至可以在头部很好(但在那里是没有意义的('head'中的'canvas'元素))。但是,在解析DOM之后,您不应该调用该方法*,否则会覆盖内容。 –