当我把它放在服务器上时 JavaScript 不起作用

阿尔贝托

我有一个代码,当我从 PC 的任何部分运行它而不将它放在服务器上时,它可以完美运行,但是当我将它放在服务器上并调用它时,它给了我以下错误:

未捕获的 ReferenceError:在加载时未定义 crearLienzo ((index):81)

我不明白为什么会发生这种情况。谢谢你们!

<html>
<head>
<script type="text/javascript" src="jquery-3.2.1.min.js"></script>
<script type="text/javascript" >
    var movimientos = new Array();
    var pulsado;
    function crearLienzo() {
    var canvasDiv = document.getElementById('lienzo');
canvas = document.createElement('canvas');
canvas.setAttribute('width', 200);
canvas.setAttribute('height', 200);
canvas.setAttribute('id', 'canvas');
canvasDiv.appendChild(canvas);
if(typeof G_vmlCanvasManager != 'undefined') {
    canvas = G_vmlCanvasManager.initElement(canvas);
}
context = canvas.getContext("2d");

    $('#canvas').mousedown(function(e){
      pulsado = true;
      movimientos.push([e.pageX - this.offsetLeft,
          e.pageY - this.offsetTop,
          false]);
      repinta();
    });

    $('#canvas').mousemove(function(e){
      if(pulsado){
          movimientos.push([e.pageX - this.offsetLeft,
              e.pageY - this.offsetTop,
              true]);
        repinta();
      }
    });

    $('#canvas').mouseup(function(e){
      pulsado = false;
    });

    $('#canvas').mouseleave(function(e){
      pulsado = false;
    });
    repinta();

}


    function repinta() {
        // función para dibujar en el lienzo los movimientos del ratón que hemos
        // recogido en la variable "movimientos"
         canvas.width = canvas.width; // Limpia el lienzo

  context.strokeStyle = "#0000a0";
  context.lineJoin = "round";
  context.lineWidth = 6;

  for(var i=0; i < movimientos.length; i++)
  {     
    context.beginPath();
    if(movimientos[i][2] && i){
      context.moveTo(movimientos[i-1][0], movimientos[i-1][1]);
     }else{
      context.moveTo(movimientos[i][0], movimientos[i][1]);
     }
     context.lineTo(movimientos[i][0], movimientos[i][1]);
     context.closePath();
     context.stroke();
  }
}
function convertCanvasToImage(canvas) {
       var image = new Image();
       image.src = canvas[0].toDataURL("image/png");
        alert(image);
       return image;
}
</script>
</head>
<body style="background: #eee;" onload="crearLienzo()">
<div id="lienzo" style="width: 200px; height: 200px; background: #fff;"></div>
<button type="button" onclick="convertCanvasToImage($('#canvas'));">aa</button>

</body>
</html>
Chandrakant Thakkar

将您的脚本标签放在 body 中以首先加载它

    <html>
    <head>
    <script type="text/javascript" src="jquery-3.2.1.min.js"></script>

    </head>
    <body style="background: #eee;" onload="crearLienzo()">
<script type="text/javascript" >
        var movimientos = new Array();
        var pulsado;
        function crearLienzo() {
        var canvasDiv = document.getElementById('lienzo');
    canvas = document.createElement('canvas');
    canvas.setAttribute('width', 200);
    canvas.setAttribute('height', 200);
    canvas.setAttribute('id', 'canvas');
    canvasDiv.appendChild(canvas);
    if(typeof G_vmlCanvasManager != 'undefined') {
        canvas = G_vmlCanvasManager.initElement(canvas);
    }
    context = canvas.getContext("2d");

        $('#canvas').mousedown(function(e){
          pulsado = true;
          movimientos.push([e.pageX - this.offsetLeft,
              e.pageY - this.offsetTop,
              false]);
          repinta();
        });

        $('#canvas').mousemove(function(e){
          if(pulsado){
              movimientos.push([e.pageX - this.offsetLeft,
                  e.pageY - this.offsetTop,
                  true]);
            repinta();
          }
        });

        $('#canvas').mouseup(function(e){
          pulsado = false;
        });

        $('#canvas').mouseleave(function(e){
          pulsado = false;
        });
        repinta();

    }


        function repinta() {
            // función para dibujar en el lienzo los movimientos del ratón que hemos
            // recogido en la variable "movimientos"
             canvas.width = canvas.width; // Limpia el lienzo

      context.strokeStyle = "#0000a0";
      context.lineJoin = "round";
      context.lineWidth = 6;

      for(var i=0; i < movimientos.length; i++)
      {     
        context.beginPath();
        if(movimientos[i][2] && i){
          context.moveTo(movimientos[i-1][0], movimientos[i-1][1]);
         }else{
          context.moveTo(movimientos[i][0], movimientos[i][1]);
         }
         context.lineTo(movimientos[i][0], movimientos[i][1]);
         context.closePath();
         context.stroke();
      }
    }
    function convertCanvasToImage(canvas) {
           var image = new Image();
           image.src = canvas[0].toDataURL("image/png");
            alert(image);
           return image;
    }
    </script>
    <div id="lienzo" style="width: 200px; height: 200px; background: #fff;"></div>
    <button type="button" onclick="convertCanvasToImage($('#canvas'));">aa</button>

    </body>
    </html>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当我将脚本元素放在头部以从URL加载它时,我的Javascript不起作用

来自分类Dev

服务器发送事件:JavaScript事件不起作用

来自分类Dev

调用我的Javascript函数不起作用

来自分类Dev

按钮上的Javascript验证不起作用

来自分类Dev

JavaScript计时器不起作用

来自分类Dev

Javascript颜色迭代器不起作用?

来自分类Dev

Javascript计数器不起作用

来自分类Dev

Javascript:not选择器不起作用

来自分类Dev

JavaScript Prime 检查器不起作用

来自分类Dev

当我从Dreamweaver进行浏览器预览时,javascript行为不起作用,

来自分类Dev

从javascript打印iframe在终端服务器上的IE中不起作用

来自分类Dev

我的 javascript 计算器不起作用

来自分类Dev

我的 javascript 计算器不起作用

来自分类Dev

当由javascript产生的元素激活时,javascript不起作用

来自分类Dev

javascript!=不起作用

来自分类Dev

JavaScript在我的浏览器中不起作用,但在CodePen中起作用

来自分类Dev

放在远程服务器上时,CSS 文件不起作用

来自分类Dev

JavaScript:当我尝试使用 DOM 时,我的 for 循环似乎不起作用

来自分类Dev

我的 JavaScript 不起作用。我怎么解决这个问题?

来自分类Dev

Azure移动服务javascript SDK在Firefox中不起作用

来自分类Dev

当我单击iframe时,JavaScript和Angular 10 KeyCode事件不起作用

来自分类Dev

为什么我的涉及if语句的JavaScript计算不起作用?

来自分类Dev

为什么我的Javascript修剪功能不起作用?

来自分类Dev

为什么我的dropzone JavaScript表单不起作用?

来自分类Dev

为什么我的JavaScript变量不起作用?

来自分类Dev

HTML / JavaScript:为什么我的按钮不起作用?

来自分类Dev

为什么我的JavaScript switch语句不起作用?

来自分类Dev

CSS和gsap JavaScript在我的文件中不起作用

来自分类Dev

我的回显包含javascript变量不起作用

Related 相关文章

  1. 1

    当我将脚本元素放在头部以从URL加载它时,我的Javascript不起作用

  2. 2

    服务器发送事件:JavaScript事件不起作用

  3. 3

    调用我的Javascript函数不起作用

  4. 4

    按钮上的Javascript验证不起作用

  5. 5

    JavaScript计时器不起作用

  6. 6

    Javascript颜色迭代器不起作用?

  7. 7

    Javascript计数器不起作用

  8. 8

    Javascript:not选择器不起作用

  9. 9

    JavaScript Prime 检查器不起作用

  10. 10

    当我从Dreamweaver进行浏览器预览时,javascript行为不起作用,

  11. 11

    从javascript打印iframe在终端服务器上的IE中不起作用

  12. 12

    我的 javascript 计算器不起作用

  13. 13

    我的 javascript 计算器不起作用

  14. 14

    当由javascript产生的元素激活时,javascript不起作用

  15. 15

    javascript!=不起作用

  16. 16

    JavaScript在我的浏览器中不起作用,但在CodePen中起作用

  17. 17

    放在远程服务器上时,CSS 文件不起作用

  18. 18

    JavaScript:当我尝试使用 DOM 时,我的 for 循环似乎不起作用

  19. 19

    我的 JavaScript 不起作用。我怎么解决这个问题?

  20. 20

    Azure移动服务javascript SDK在Firefox中不起作用

  21. 21

    当我单击iframe时,JavaScript和Angular 10 KeyCode事件不起作用

  22. 22

    为什么我的涉及if语句的JavaScript计算不起作用?

  23. 23

    为什么我的Javascript修剪功能不起作用?

  24. 24

    为什么我的dropzone JavaScript表单不起作用?

  25. 25

    为什么我的JavaScript变量不起作用?

  26. 26

    HTML / JavaScript:为什么我的按钮不起作用?

  27. 27

    为什么我的JavaScript switch语句不起作用?

  28. 28

    CSS和gsap JavaScript在我的文件中不起作用

  29. 29

    我的回显包含javascript变量不起作用

热门标签

归档