Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP中拍摄网页的屏幕截图,并在模型弹出窗口中显示,然后将其提交到数据库中_Php_Jquery_Mysql - Fatal编程技术网

如何在PHP中拍摄网页的屏幕截图,并在模型弹出窗口中显示,然后将其提交到数据库中

如何在PHP中拍摄网页的屏幕截图,并在模型弹出窗口中显示,然后将其提交到数据库中,php,jquery,mysql,Php,Jquery,Mysql,1) 您可以使用HTML5和javaScript截图。这肯定会奏效。查看更多详细信息 2) 您也可以使用html2canvas下面是如何实现的简单示例。 JS HTML 你好,世界! 下载并包含在标题部分 <div id="capture" style="padding: 10px; background: #f5da55"> <h4 style="color: #000; ">Hello world!</h4> </div> //

1) 您可以使用
HTML5和javaScript
截图。这肯定会奏效。查看更多详细信息

2) 您也可以使用
html2canvas
下面是如何实现的简单示例。 JS

HTML


你好,世界!
下载并包含在标题部分

<div id="capture" style="padding: 10px; background: #f5da55">
    <h4 style="color: #000; ">Hello world!</h4>
</div>
//*
//*

PHP在服务器端运行,因此无法在浏览器中“截图”。检查我以前没有用过这个,但是看起来很适合你的需要。基本工作流程如下:捕获屏幕截图,以某种方式序列化它(如果您不想保存blob)(即使用base64),将其保存到您的数据库。我使用jquery进行了尝试,但它不起作用。请阅读。我们希望你能问一个关于你在这里写的代码的实际的、具体的问题automitacilly@mahendra1145检查演示链接,而不是新的选项卡,您可以在弹出窗口中显示图像。
(function (exports) {
    function urlsToAbsolute(nodeList) {
        if (!nodeList.length) {
            return [];
        }
        var attrName = 'href';
        if (nodeList[0].__proto__ === HTMLImageElement.prototype
        || nodeList[0].__proto__ === HTMLScriptElement.prototype) {
            attrName = 'src';
        }
        nodeList = [].map.call(nodeList, function (el, i) {
            var attr = el.getAttribute(attrName);
            if (!attr) {
                return;
            }
            var absURL = /^(https?|data):/i.test(attr);
            if (absURL) {
                return el;
            } else {
                return el;
            }
        });
        return nodeList;
    }

    function screenshotPage() {
        urlsToAbsolute(document.images);
        urlsToAbsolute(document.querySelectorAll("link[rel='stylesheet']"));
        var screenshot = document.documentElement.cloneNode(true);
        var b = document.createElement('base');
        b.href = document.location.protocol + '//' + location.host;
        var head = screenshot.querySelector('head');
        head.insertBefore(b, head.firstChild);
        screenshot.style.pointerEvents = 'none';
        screenshot.style.overflow = 'hidden';
        screenshot.style.webkitUserSelect = 'none';
        screenshot.style.mozUserSelect = 'none';
        screenshot.style.msUserSelect = 'none';
        screenshot.style.oUserSelect = 'none';
        screenshot.style.userSelect = 'none';
        screenshot.dataset.scrollX = window.scrollX;
        screenshot.dataset.scrollY = window.scrollY;
        var script = document.createElement('script');
        script.textContent = '(' + addOnPageLoad_.toString() + ')();';
        screenshot.querySelector('body').appendChild(script);
        var blob = new Blob([screenshot.outerHTML], {
            type: 'text/html'
        });
        return blob;
    }

    function addOnPageLoad_() {
        window.addEventListener('DOMContentLoaded', function (e) {
            var scrollX = document.documentElement.dataset.scrollX || 0;
            var scrollY = document.documentElement.dataset.scrollY || 0;
            window.scrollTo(scrollX, scrollY);
        });
    }

    function generate() {
        window.URL = window.URL || window.webkitURL;
        window.open(window.URL.createObjectURL(screenshotPage()));
    }
    exports.screenshotPage = screenshotPage;
    exports.generate = generate;
})(window);
  html2canvas(document.querySelector("#capture")).then(canvas => {
        document.body.appendChild(canvas)
    });
<div id="capture" style="padding: 10px; background: #f5da55">
    <h4 style="color: #000; ">Hello world!</h4>
</div>
//*
<script src="Scripts/jquer_latest_2.11_.min.js" type="text/javascript"></script>
<script src="Scripts/html2canvas.js" type="text/javascript"></script>
//*