chatgpt ye sordum şöyle bir cvp verdi. sanırım bunun sürümü 3.5 bile değil :) çok zor algılıyor.
document.addEventListener('paste', (event) => {
const clipboardData = event.clipboardData || window.clipboardData;
const pastedData = clipboardData.getData('text');
console.log(pastedData);
});
yarın işyerinde bakacağım nasıl yakalayabilirim.
şöyle ki farklı bir inputta olabilirim.
ortalığı karıştırmasın diye ben isimdeyken bile bassam javascript onu kod bölümüne aktarsa çok güzel olur.
sonuçta veri paste gibi geliyor. javascriptle nereden geldiğini nasıl bir obje vs. olduğunu nasıl görebilirim.
belki o şekilde klavyeden gelmediği için inputa aktarabilirim.
otomasyon yazılımlarında bu şekilde çalışıyor. nerede olduğun önemli degil direk belli bir inputa aktarıyor. ama onu c++ algılıyor.
muhtemelen javascriptte de bir çözümü vardır diye düşünüyorum.
@zeldiris1462
<script>
// SAĞ TUŞU DİNLİYORUZ
window.addEventListener('contextmenu', (event) => {
if(event.button === 2) { veriCek(); }
})
// TUŞA TIKLANDIYSA AJAXLA VERİYİ ÇEKİYORUZ
function veriCek() {
$.ajax({
type: "POST",
url: 'veri.php',
data: {AllData:"Bilgi"},
success: function (data) {
console.log(data); // tüm çektigin veri data tanımının içinde.
}
});
}
}
</script>
en basit haliyle bu.
php ile veri.php diye bir dosya oluşturup $_POST["AllData"] yı dinlemen gerek.
sorgu dogruysa mysql üzerinden aldıgın verileri.
echo ile yazdırırsan console u açtıgında tüm veri oraya yazılacaktır.
demek istediğiniz web sayfasında biri sağ tuşa basarsa
server kısmında mysql gibi bir database den istedigim veriyi nasıl çekerim? ve ekrana yazdırırım
bunu mu demek istediniz?
tek mantıklı yol en son butona tıkladıgında tüm veriyi analiz etmem.
birde adres gibi basit şeyleri session etmeni çok tavsiye etmiyorum. cookie daha mantıklı gerekirse şifrelersin.
her session sunucu belleginde bir byte a eş gelecek
bu projenin oldugu siteyi yarın 100.000 kişi ziyaret ederse her birinin adresi bellege yerleşecek yani ram ve zaman kaybı
muhtemelen tıkladığın eleman görülmesede diğer ikisinin üstünde kalıyor. backround color la bakabilirmisin. hepsine farklı renk ver.
soru çok güzel ama bende cevap yok :) umarım güzel cevaplar gelir
kullandığın curl kodlarını tam yazarsan daha hızlı cevap alabileceğini düşünüyorum.
fulltext ne bilmiyorum ama
veritabanını oluştururken verinin türüne göre seçmelisin
örnek : ad soyad gireceksen - char uygundur. çünkü bir isim 255 karakteri geçemez.
eğer çok büyük bir yazı girmeyeceksen varchar 8000 karaktere kadar veriyi içerisinde bulundurabilir
ama ben ürün ID si gibi sayısal küçük karamlar kullanacam dedigin bir tablo varsa da int senin için uygundur.
şuna dikkat etmeni öneririm! para birimi yada tarih gibi kavramlarla filtrelemeler yapacaksan.
tarih için date yada tam zaman dilimi izin datetime
para birimi içinde float uygundur.
daha detaylı bilgi için şu kaynak uygun gibi.
Sonunda istediğim gruplamayı bitirdim. birgün birine lazım olursa kodlar aşağıdadır.
var people = [
{
data: {
family: "3",
entertime: "2023-02-24 12:59:00",
}
},
{
data: {
family: "5",
entertime: "2023-02-24 12:11:01",
}
},
{
data: {
family: "6",
entertime: "2023-02-24 12:30:02",
}
},
{
data: {
family: "5",
entertime: "2023-02-24 12:41:00",
}
},
{
data: {
family: "17",
entertime: "2023-02-24 12:16:01",
}
},
{
data: {
family: "17",
entertime: "2023-02-24 12:41:01",
}
},
{
data: {
family: "8",
entertime: "2023-02-24 12:31:00",
}
},
{
data: {
family: "17",
entertime: "2023-02-24 12:17:03",
}
},
{
data: {
family: "15",
entertime: "2023-02-24 12:00:03",
}
},
];
var peopleTimeSort = people.sort((a, b) => a.data.entertime.localeCompare(b.data.entertime));
var peopleTemp = structuredClone(peopleTimeSort);
var peopleDel = structuredClone(peopleTemp);
var peopleGroup = [];
var peopleTempFamily = [];
[...peopleTemp].forEach( (n,i) => {
if (i === 0) {
peopleGroup.push(n);
delete peopleDel[i];
peopleTempFamily.push(n.data.family);
peopleDel.forEach( (nn,ii) => {
if(n.data.family === nn.data.family) {
peopleGroup.push(nn);
delete peopleDel[ii];
}
})
} else {
if (peopleTempFamily.indexOf(n.data.family) < 0) {
peopleGroup.push(n);
delete peopleDel[i];
peopleTempFamily.push(n.data.family);
peopleDel.forEach( (nn,ii) => {
if(n.data.family === nn.data.family) {
peopleGroup.push(nn);
delete peopleDel[ii];
}
})
}
}
});
console.log(peopleGroup);