javascript - sketch.js 仅在 iPhone 上刷新后才有效

标签 javascript jquery html ruby-on-rails

我对收到的错误感到非常困惑。很难描述和提供信息,但我尝试:

我把sketch.js Paintingtool在我的网站上。在 iPhone 上它不起作用,所以我搜索了解决方案。 Here我终于找到了它,并将其添加到代码中后,我刷新了页面,一切正常。

然后我添加了this code in my function what you see below.

现在我再次在 iPhone 上尝试,但没有成功。 当我刷新页面时,它可以正常工作。

在我的笔记本电脑上使用最新的 Chrome 浏览器时,一切都可以正常运行,无需刷新。

我不能在 Javascript 代码中结合 jQuery 吗?

这是我使用的代码:

<div id="test">
<canvas id="tools_sketch"></canvas>
    <script>
        (function() {

            var canvas = document.getElementById('tools_sketch'),
                        context = canvas.getContext('2d');  

            // resize the canvas to fill browser window dynamically
            window.addEventListener('resize', resizeCanvas, false);

            function resizeCanvas() {
                canvas.height = window.innerHeight;
                canvas.width = infobox.offsetWidth;

                $(function() {      
                            $('#tools_sketch').sketch();
                });
            }
            resizeCanvas(); 
        })();
        </script>
</div>

<div class="tools center">
    <a class="btn btn-primary" href="#tools_sketch" data-tool="marker">Pen</a>
    <a class="btn btn-primary" href="#tools_sketch" data-tool="eraser">Rubber</a>
    <a class="btn btn-primary" href="#tools_sketch" data-download="png">Send</a>
</div>

感谢您的阅读

编辑: 当我将官方 sketch.js 中的代码添加到服务器上的新文件并重置其他文件时,它可以在 iPhone 上运行。当我改变一条线时,它就断了。当我再次重置这条线时,它仍然损坏。天哪!

编辑2: 在 2008 年的 Firefox 3.0 上它可以工作,在 2008 年的 Safari 3.1 上也可以 -> 不是旧的浏览器问题

最佳答案

经过很长时间(近一个月)我的问题解决了。

出现这个问题的原因是我使用了turbolinks .

简单且非常容易的解决方案是将 Turbolinks gem 更改为 jQuery turbolinks .

现在可以毫无问题地工作了。

关于javascript - sketch.js 仅在 iPhone 上刷新后才有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23961466/

相关文章:

html - 将 <div> 或 <span> 放在 <button> 中在语义上是否不正确?

javascript - 允许用户添加表单输入字段: Why is append() only working once?

javascript - Webdriver 找不到 "new loaded element"的 xpath

javascript - 无法获取 google.co.in 中的 div 数量

javascript - 如何给选择器隐式范围

javascript - 向 html5 canvas 游戏添加计时器

javascript - 进度条倒计时不起作用

javascript - 按提交 html 后显示图像

jquery - 动画功能比其他功能完成

javascript - 如何使用 html 文档中的 javascript 动态寻址单词/字符串,然后对其进行标记?