2013-02-27 3 views
1

У меня проблемы с этим кодом (я работаю с моего локального ПК).Проблема с холстом на document.write

Thks для вашей помощи.

Мой код ниже:

<html> 
    <head> 
     <title>My Test</title> 
     <script src="../jquery/js/jquery-1.9.0.min.js"></script> 
    </head> 
    <body> 
     <script> 
      var _canvas = document.createElement('canvas'); 
      _canvas.width="100"; 
      _canvas.height="100"; 
      var _context = _canvas.getContext("2d"); 
      var _img = new Image(); 
      _img.src = "image/myImgTest.png"; 
      var _url; 

      _img.onload = function() { 
      DrawScreen(); // just some process: drawing image 
      _url = _canvas.toDataURL(); 
      alert("test"); **// this alert is printed on FF not on Chrome ???** 
      // window.location = url; **// With this command on FF, I show my Image** 
      document.write("<img src='"+url+"' >"); **// on FF, I show my image but when I would like to see the source code on my current page, there is nothing just blank ?? And on Chrome, I never show my image.** 

      **// In fact, I am expected to generate something like this: <img src="data:image/png;base64,iVBORw0KGgo....."> at this place ** 

      }; 
      function DrawScreen() { 
       // my process 
      } 

     </script> 

    </body> 
</html> 

* // На самом деле, я ожидал, чтобы сформировать что-то вроде этого: в этом месте *

+0

Хотя я бы настоятельно рекомендуем использовать 'document.write' в наше время ... Вы не показали' DrawScreen() ', где вы якобы скопировал' _img' к '_canvas' – devnull69

+0

Моя функция например: функция drawScreen() { \t _context.drawImage (_img, 20,20,100,100,0,0,100,100); }; – user2056649

+0

Моя функция такова: function drawScreen() {_context.drawImage (_img, 20,20,100,100,0,0,100,100); }; какая-то идея? – user2056649

ответ

0

Как «работают на локальном компьютере «... у вас есть веб-сервер на вашем локальном ПК или вы просто открываете HTML-файл прямо с вашего жесткого диска?

Возможно, вы захотите переместить назначение .src после обработчика события .onload, поскольку в противном случае возможно, что .onload никогда не запускается.

var _img = new Image(); 
var _url; 

_img.onload = function() { 
    ... 
}; 
_img.src = "image/myImgTest.png"; 
+0

Привет, Я работаю с жестким диском без веб-сервера для своих тестов, поэтому просто html-страницу. Я попробую с веб-сервером ... это будет bizare, если он будет работать. Более того, я попытался переместить _img.src после события onload: это тот же результат на FF, и у меня ничего нет на хроме. Спасибо, если у вас есть идея. – user2056649

Смежные вопросы