0

Я пытаюсь получить события touchmove для регистрации с помощью простого веб-приложения, написанного с помощью службы html-приложений Google Apps, чтобы я мог создавать простые веб-приложения, которые функционируют на ipad, как а также на рабочем столе.Touchmove не работает с Google Apps-скриптами html-служба

Все, что я сделать, это первая загрузка веб-страницы, которая работает, как ожидалось:

function doGet() { 
    return HtmlService.createHtmlOutputFromFile('test page'); 
} 

Затем я создал простой холст на HTML странице:

<html> 
<canvas id="canvas" width="200" height="200" style="border:1px solid #000000;"> 
</canvas> 
    <script> 
    var canvas=document.getElementById("canvas"); 
    var ctx=canvas.getContext("2d"); 
    ctx.font = "bold 12px sans-serif"; 
    ctx.fillStyle="black"; 
    ctx.fillText("TEST",50,50); 
    canvas.addEventListener("touchmove",testme,false); 

    function testme(e) { 
    e.preventDefault(); 
    alert("testme"); 
    } 


</script> 
</html> 

Это только Lastest вариант Я пытался. Привязка «click» или «mousedown» или «mousemove» работает в этом примере на рабочем столе. Тем не менее, попытка с помощью «touchstart» или «touchmove» не делает ничего на ipad. Я тестировал с Chrome и Safari на ipad.

Я также попытался добавить что-то вроде:

document.addEventListener("touchmove",doPreventDefault,false); 

И есть простая функция, которая вызывает preventDefault(), но это не помогло.

Я делаю что-то не так, или мне нужно что-то делать, потому что это служба html-скриптов Google Apps?

Я теперь пытался с JQuery (просто прочитать о том, как это сделать), но это все еще, кажется, не работает прямо на IPad:

<html> 

<head> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
    </head> 

<body> 
<p>Test</p> 
<br><br> 
</body> 
<canvas id="canvas" width="200" height="200" style="border:1px solid #000000;"> 
</canvas> 
    <script> 
    $(document).ready(function() { 
    $("#canvas").bind('touchstart',function(e) { 
    alert("Hello world!"); 
    }); 
    $("p").mousedown(stuff); 
    $('#canvas').touchmove(onMove); 
}); 

    var canvas=document.getElementById("canvas"); 
    var ctx=canvas.getContext("2d"); 
    ctx.font = "bold 12px sans-serif"; 
    ctx.fillStyle="black"; 
    ctx.fillText("TEST",50,50); 

    function onMove(e) { 
    alert("testing"); 
    } 


    function stuff(e) { 
    alert("Stuff"); 
    } 

</script> 
</html> 

Событие MouseDown работает отлично, и это событие работает с прикосновением - по сути, кажется, что mousedown и mouseup коррелируют работу с касаниями на ipad. Но mousemove не работает, и он не прикасается, не прикасается и не прикасается. Я попытался с привязкой и более непосредственно, как показано выше.

Есть ли что-то, что я делаю неправильно, чтобы сделать эту работу?

ответ

1

Вы можете добавить запрос функции on the Caja issue tracker, чтобы добавить их в белый список. В настоящее время они не входят в белый список.

+0

Я предполагаю, что это означает, что в настоящее время это невозможно сделать? – user1760685

+0

Да, хотя это может быть очень простое решение. Стоит подать запрос на функцию –

+0

Я сделал запрос. – user1760685

0

Прочтите документы htmlservice. Вы не можете манипулировать dom, если вы не используете caja-совместимый способ, как jquery.

+1

Спасибо за ваш ответ, но я немного новичок в этом. Я перелистывал документы, но, возможно, я не понимаю часть, которая уместна или пропустила ее. Не могли бы вы указать мне на соответствующий раздел, может быть? – user1760685

+0

Я только что сделал новую попытку с jquery после прочтения на нем. Я добавил свой новый код выше. – user1760685

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

  • Нет связанных вопросов^_^