Skip to content

Failed to construct 'Worker' #84

Description

@Ahaochan

Hi! I want to convert <canvas> tag to <img> tag. I want to get gif from canvas.
I use Greasemonkey to inject My javascript.

like this Pixiv Canvas

Greasemonkey must be declare require js in @require.
I try to declare gif.worker.js in @require. But it is fail.
I try to use CDN js,
But has a error msg Failed to construct 'Worker': Script at 'https://cdn.bootcss.com/gif.js/0.2.0/gif.worker.js' cannot be accessed from origin 'https://www.pixiv.net'.

// ==UserScript==
// @name 	Pixiv Plus
// @namespace   https://github.com/Ahaochan/Tampermonkey
// @version     0.0.9
// @description pixiv
// @author      Ahaochan
// @include     http*://www.pixiv.net*
// @match       http://www.pixiv.net/
// @supportURL  https://github.com/Ahaochan/Tampermonkey
// @require     https://code.jquery.com/jquery-2.2.4.min.js
// @require     https://cdn.bootcss.com/gif.js/0.2.0/gif.js
// @run-at      document-end
// ==/UserScript==
            var gif = new GIF({
                workers: 2,
                quality: 10,
                // use CDN js
                workerScript: 'https://cdn.bootcss.com/gif.js/0.2.0/gif.worker.js'
            });
            var $palyer = $('div.player');

            setInterval(function () {
                var $canvas = $palyer.find('canvas');
                if($canvas.length <= 0){
                    return ;
                }
                gif.addFrame($canvas.get(0), {delay: 200});
                console.log("test1");
                gif.on('finished', function(blob) {
                    console.log("test2");
                    var url = URL.createObjectURL(blob);
                    console.log("test:"+url);
                    $palyer.append('<img src="'+url+'"/>');
                    console.log("test3");
                });
                console.log("test4");
                gif.render();
                console.log("test5");
                $canvas.remove();
            }, 1000);

How I resolve it ? Thank!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions