Сохранить холст и всплывающее окно в новом окне HTML

0

Мой холст html 5 сохраняется на сервере через php. Он также появляется в новом окне, которое не является html. Новое окно содержит только png-изображение. Я хотел бы, чтобы это новое всплывающее окно могло быть доступно для социальных сетей. Я знаю об auth2.0 и настройке. Я не знаю, как получить мой png, созданный из сохраненного холста, на всплывающее окно на новой странице html, чтобы я мог добавить свои инструменты для социальных сетей. Я уверен, что это будет редактирование этой строки, window.open(testCanvas.toDataURL("images/png")).

function saveImage() {
cursor.visible = false; stage.update();
var canvasData = testCanvas.toDataURL("image/png");
window.open(testCanvas.toDataURL("images/png"));
var xmlHttpReq = false;       
if (window.XMLHttpRequest) {
ajax = new XMLHttpRequest();
cursor.visible = true; stage.update();
}

else if (window.ActiveXObject) {
ajax = new ActiveXObject("Microsoft.XMLHTTP");
}
ajax.open('POST', 'testSave.php', false);
ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
ajax.onreadystatechange = function() {
console.log(ajax.responseText);
}
ajax.send("imgData="+canvasData);
}
Теги:
html5-canvas

1 ответ

0

Новый пример без серверной части (с использованием localStorage)

На первой странице:

<input type="file" id="upfile" />
<script>
    $ = function(id) { return document.getElementById(id); };

    $('upfile').onchange = function(e) {
        var files = e.target.files;
        for (var i = 0; i < files.length; i++)
        {
            var f = files[i];
            if (! f.type.match('image.*'))
                continue;
            var reader = new FileReader();
            reader.onload = (function(filecontent) {
                return function(ev) {
                    var b64data = ev.target.result;
                    localStorage.setItem('img', b64data);
                    window.open('popup.html', 'popup', 'width=600,height=400');
                };
            })(f);
            reader.readAsDataURL(f);
        }
    };
</script>

На всплывающей странице:

<img src="" id="thepicture" />

<script>
window.onload = function() {
    document.getElementById('thepicture').src = localStorage.getItem('img');
};
</script>

Проверьте рабочую демонстрацию здесь

  • 0
    Это не определяет HTML-страницу для открытия, в которой я могу добавить инструменты. Кроме того, функция сохранения не работает.
  • 0
    Пол Рад, не могли бы вы объяснить немного больше?
Показать ещё 8 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню