0

我试图将一个简单的 HTML 文件加载到画布中(浏览器 = ff 3.66)。

var canvas= document.getElementById('oneElement');
var ctx= canvas.getContext('2d');

var img= new Image();
ctx.drawImage(img, 0, 0, img.width, img.height);
img.src = 'data:text/html,<table><tr><td>data 1<td>data 2</td></tr>
<tr><td>data 3><td>data 4</td></tr>
<tr><td>data 5><td>data 6</td></tr>
</table>
'; 

我怎样才能解决这个问题?

4

2 回答 2

1

似乎您的 Javascript 字符串中有换行符——这是不允许的。

您应该删除这些换行符,将字符串仅放在一行中:

img.src = 'data:text/html,<table><tr><td>data1<td>data2</td></tr><tr><td>data 3><td>data 4</td></tr><tr><td>data 5><td>data 6</td></tr></table>'; 

或者,如果你想保持你的代码可读,一个解决方案可能是使用几个小字符串,并使用 strings-concatenation :

img.src = 'data:text/html,<table><tr><td>data 1<td>data 2</td></tr>' +
'<tr><td>data 3><td>data 4</td></tr>' +
'<tr><td>data 5><td>data 6</td></tr>' +
'</table>'; 
于 2010-07-19T04:46:51.947 回答
0

在带有单引号的行之前的每行末尾添加一个 '\' 字符应该可以工作。

img.src = 'here \
is an \
example';
于 2010-07-19T05:38:06.557 回答