Screenshot maken bij laden pagina

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Enrique Gervaso

Enrique Gervaso

12/01/2017 15:06:32
Quote Anchor link
Hoi,

Ik heb nu onderstaande code maar nu moet ik op een button klikken voordat een screenshot wordt gemaakt van een div. Wie weet hoe ik dit kan aanpassen zodat deze wordt gemaakt bij het laden van de pagina?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<script type="text/javascript">
    $(document).ready(function() {
        /*BEGIN DOWNLOAD HTML CONTENT AS IMAGE*/
        if ($("#image-canvas").length > 0) {
            $(".save-image").on('click', function() {
                $("#image-canvas").height($($(this).attr('data-print-area')).height());
                $("#image-canvas").width($($(this).attr('data-print-area')).width());
                $($(this).attr('data-print-area')).html2canvas({
                    onrendered: function(canvas) {
                        var formdata = {
                            image_code: canvas.toDataURL("image/png")
                        };
                        //console.log(formdata);
                        $.post("screenshot/saveimage.php", formdata, function(msg) {
                            console.log(msg);
                            window.location.href = msg;
                        });
                    }
                });
            });
        }
        /*END DOWNLOAD HTML CONTENT AS IMAGE*/
    });
</script>
Gewijzigd op 12/01/2017 18:57:27 door Enrique Gervaso
 
PHP hulp

PHP hulp

26/11/2024 22:48:12
 
Ozzie PHP

Ozzie PHP

12/01/2017 15:11:23
Quote Anchor link
Even uit nieuwsgierigheid ... bij het laden van een pagina weet je toch wat er in beeld staat? Waarom wil je daar een screenshot van maken?
 
Thomas van den Heuvel

Thomas van den Heuvel

12/01/2017 15:18:12
Quote Anchor link
hacking?
Dit is wss bedoeld om een initiële afbeelding op te slaan ofzo?

** KNIP **
Edit:
Laten we maar eerst afwachten wat de topicstarter wilt, voordat we met e.v.t. illegale praktijken gaan meewerken.
Gewijzigd op 12/01/2017 16:11:33 door - Ariën -
 
- Ariën  -
Beheerder

- Ariën -

12/01/2017 15:19:19
Quote Anchor link
Kan je je plannen wat meer verduidelijken?
Gewijzigd op 12/01/2017 15:55:35 door - Ariën -
 
Ozzie PHP

Ozzie PHP

12/01/2017 15:27:23
Quote Anchor link
@Thomas ... ik zou je uitleg even weghalen en pas plaatsen zodra duidelijk is waarom de TS dit wil.

Een initiële afbeelding op je eigen site hoef je niet op te slaan, want daarvan weet je al welke afbeelding dat is.
Gewijzigd op 12/01/2017 15:28:08 door Ozzie PHP
 
Thomas van den Heuvel

Thomas van den Heuvel

12/01/2017 15:37:40
Quote Anchor link
True, wat verduidelijking kan helpen. Maar ik kan mij zo voorstellen dat dit een canvas is waar je op tekent, en datgene wat je tekent wil je opslaan in stappen/versies. Het op eenzelfde wijze onthouden van de initiële stap lijkt mij handig. Ook al is dit misschien redundant.

EDIT: Anders moet je op een of andere manier programmatisch een uitzondering maken voor de eerste stap.
Gewijzigd op 12/01/2017 15:41:12 door Thomas van den Heuvel
 
Ward van der Put
Moderator

Ward van der Put

12/01/2017 15:40:42
Quote Anchor link
Ozzie PHP op 12/01/2017 15:27:23:
Een initiële afbeelding op je eigen site hoef je niet op te slaan, want daarvan weet je al welke afbeelding dat is.

De TS wil een afbeelding maken van de inhoud van een div, niet van een eigen afbeelding.
Dat is nu juist het (beveiligings)probleem…
 
Ozzie PHP

Ozzie PHP

12/01/2017 15:43:37
Quote Anchor link
@Ward

Mijn reactie is een reactie op de opmerking van Thomas.

Het lijkt me persoonlijk handig als Thomas zijn uitleg even verwijdert en dat we afwachten wat de TS te zeggen heeft. Zo lang niet duidelijk is of het hier wellicht om een frauduleuze handeling gaat, ligt de bal mijns inziens bij de TS.
 
- Ariën  -
Beheerder

- Ariën -

12/01/2017 15:58:53
Quote Anchor link
Ik stel voor om eerst de wachten op wat de topicstarter precies wil. Het klinkt mij namelijk ook bijzonder in de oren.
 
Enrique Gervaso

Enrique Gervaso

12/01/2017 18:26:25
Quote Anchor link
Zo dat zijn een aantal loze kreten zeg...

Reden dat ik dit wil doen is omdat ik een template builder aan het maken ben. Als de template klaar is en de HTML is gegenereerd dan wil ik een screenshot van het geheel automatisch opslaan en toevoegen als preview in de gallery.

Geen frauduleuze handelingen of whatever....

Iemand die een voorbeeld kan geven met bovenstaande code hoe ik dit moet doen? Ik krijg de on click functie niet weg en er wordt niets opgeslagen.
 
- Ariën  -
Beheerder

- Ariën -

12/01/2017 18:28:39
Quote Anchor link
Enrique Gervaso op 12/01/2017 18:26:25:
Zo dat zijn een aantal loze kreten zeg...
Dat had je natuurlijk kunnen voorkomen door natuurlijk direct uit te leggen wat je bedoeling was. Maar je punt is nu gelukkig duidelijk. Misschien is het wel handig om je code even netjes in te springen, want als ik haakjes onder elkaar zie, dan krijgt dat altijd een beetje de kriebels bij mij ;-).
Gewijzigd op 12/01/2017 18:34:36 door - Ariën -
 
Enrique Gervaso

Enrique Gervaso

12/01/2017 18:57:38
Quote Anchor link
done
 
Frank Nietbelangrijk

Frank Nietbelangrijk

12/01/2017 20:02:28
Quote Anchor link
Als je regel 5 en regel 20 disabled werkt het misschien al.

Toevoeging op 12/01/2017 20:18:46:

die Button .save-image heeft blijkbaar een attribuut 'data-print-area'. De waarde van dit attribuut verwijst blijkbaar naar een ander HTML element. Dit element heeft een bepaalde breedte en hoogte. Die heb je nodig om een screendump te maken. Als je de breedte en hoogte weet dan kun je het bijvoorbeeld zo oplossen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<script type="text/javascript">
function saveImage(w, h)
{
    $("#image-canvas").height(h);
    $("#image-canvas").width(w);
    $($(this).attr('data-print-area')).html2canvas({
        onrendered: function(canvas) {
            var formdata = {
                image_code: canvas.toDataURL("image/png");
            };
            //console.log(formdata);
            $.post("screenshot/saveimage.php", formdata, function(msg) {
                console.log(msg);
                window.location.href = msg;
            });
        }
    });
}
$(document).ready(function() {
    if ($("#image-canvas").length > 0) {
        saveImage(640, 480); <-- breedte, hoogte
    }
});
</script>
Gewijzigd op 12/01/2017 20:03:12 door Frank Nietbelangrijk
 
Thomas van den Heuvel

Thomas van den Heuvel

13/01/2017 01:27:57
Quote Anchor link
@mods thanks voor het op voorhand vernielen van mijn antwoord. Deze bleek toch relevant? Gelieve deze te herstellen.
Edit:
Dat kan via PM.
Gewijzigd op 13/01/2017 01:36:08 door - Ariën -
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.