0

background.js numaranıza gönderin ve gönderin, bir div içinde belirli bir alanı yakalayacağım. Ben crop the image and send veya send image with position, width and height to cut istiyorum Belirli bir görünür sekmeyi

function main() 
{ 
    chrome.tabs.query({'active': true}, check_tab); 
} 
function check_tab(tabs) 
{ 
    for (i = 0; i < tabs.length; i++) { 
     var url = tabs[i].url; 
     if (-1 < url.indexOf("https://www.specificurl")) { 
      chrome.tabs.captureVisibleTab(null, {'format': "png"}, function(img){ 
       $.ajax({ 
        type: "POST", 
        url: "http://mywebsite.com/doSomething.php", 
        data: "img=" + img 
       }); 
      }); 
     } 
    } 
} 

gibi

Kodum görünüyor. İlk durumda mı, yoksa ikinci durumda mı, doğru bir şekilde kesilecek olan pozisyona, div genişliğine ve yüksekliğine erişmem gerekiyor. Web sayfasının kaynak kodunu chrome.tabs ile nasıl edinebilirim?

Teşekkür

cevap

1

, bu bir web sayfasında seçili alanı yakalamak için izin verir, temel fikir, mevcut sayfanın html almak var html = $('html').html(); veya

chrome.tabs.executeScript(tabs[0].id, {"code": "var html = document.documentElement.innerHTML;"}, function(html) { 
    console.log(html); 
}); 

document.documentElement.innerHTML bu open source project bir göz atın kullanmak için Resmi çekmek için tuval kullanır, daha sonra tuvali belirli bir konuma, genişliğe ve yüksekliğe göre kırpabilirsiniz.

+0

Benzer bir projeyle denedim ([html2canvas] (https://html2canvas.hertzen.com/)) ancak Flash ekranının ekran görüntüsünü yapmak istediğim için işe yaramıyor. Sorun, kodun chrome uzantısında olmasıdır, bunu yapamam 'html = $ (' html '). Html(); ' – Rodrigue

+0

@Rodrigue' Var html = $ ('html') kullanmak için. html(); 'bir [içerik betiği] kullanmanız gerekecek (https://developer.chrome.com/extensions/content_scripts) – dan

+1

@ dan75, Cevabı düzenledim, içerik komut dosyasını kullanabilir veya sadece programlama kullanabilirsin mevcut DOM'yi almak için enjeksiyon. –