2010-07-19 2 views
0

Я попытался загрузить простой HTML-файл в холст (browser = 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> 
'; 

Как я могу обойти эту проблему?

ответ

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>'; 

Или, если вы хотите сохранить ваш код читаемым, решение может быть использовать несколько небольших строк, и использовать строки -concatation:

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>'; 
+0

Паскаль, спасибо. с техникой конкатенации строк, я сделал правильный синтаксис. Однако функция не удалась, то есть ни var tm = document.createElement ('img'); tm.src = 'data: text/html, {html code here}; и не используя холст методом DrawImage затем сопоставьте его SRC к выше аналогичного вызова HTML данных будет работать с FF 3,66 я застрял. Что теперь? Дон –

0

Добавление символа '\' в конце каждой строки перед тем, как линия с закрывающейся одинарной кавычкой должна работать.

img.src = 'here \ 
is an \ 
example'; 
Смежные вопросы