簡體   English   中英

當我將其放在服務器上時,JavaScript無法正常工作

[英]JavaScript does not work when I put it on the server

我有一個代碼,當我從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>

將您的腳本標簽放入體內以首先加載

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

使用googleapis庫中的jQuery庫。 在body標簽末尾添加您的腳本標簽。

<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></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>
<script type="text/javascript" >
    var movimientos = new Array();
    var pulsado;
    function crearLienzo() { alert('hea');
    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>

</body>
</html>

這樣,它將隨處可見。 另外,由於腳本標簽包含在body標簽的末尾,因此它將在所有css和圖像文件加載后加載。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM