2

我为客户创建了一个自定义产品配置器,该客户使用 html2canvas 在自定义产品后生成产品图像。它以前工作得很好,但现在我意识到它正在尝试调用:html2canvas.appspot.com 并返回 404 错误。这是我的代码:

// JavaScript Document
$('#addToCart').live('click', function(event) {
    event.preventDefault();
    var target = $('.customstole');
    html2canvas(target, {
        onrendered: function(canvas) {
            var data = canvas.toDataURL();

            alert(data);
            $("#dataUrl").val(data);
            // data is the Base64-encoded image passed to a hidden input
            $('form#stoleAddForm').submit();
        }
    }); 
}); 

我的问题是……我如何修改此代码,使其根本不调用 html2canvas.appspot.com。我在堆栈上阅读了很多内容并进行了很多谷歌搜索,我听说因为我的图像和所有内容都在我的页面上,所以我不需要“代理”网址。但是我尝试添加代理:false,代理:'',和代理:未定义,它仍然不断向那里发出调用。

如果您想看到它的实际效果并触发它或其他任何东西:http ://stoles.com/stoles/page/customStole

用户名是:alex 密码是:superman

如果单击“添加到购物车”,您会看到它在 firebug 的 JS 窗格中引发 404 错误。

我对此感到茫然,因此不胜感激。

4

1 回答 1

4

我阅读了 html2canvas 的来源,确实如您所说。如果您不需要代理,则必须禁用此选项,因为它默认为http://html2canvas.appspot.com/

尝试这个:

// JavaScript Document
$('#addToCart').live('click', function(event) {
    event.preventDefault();
    var target = $('.customstole');
    html2canvas(target, {
        onrendered: function(canvas) {
            var data = canvas.toDataURL();
            alert(data);
            $("#dataUrl").val(data);
            // data is the Base64-encoded image passed to a hidden input
            $('form#stoleAddForm').submit();
        },

        // disable the proxy feature
        proxy : false
    });
}); 

我已经使用萤火虫控制台对其进行了测试,它可以工作!(和萤火虫岩石!)

于 2013-01-18T09:54:02.773 回答