好吧,我正在製作一個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之後,您不應該調用該方法*,否則會覆蓋內容。 –