[英]Copy Data from webpage chrome extension
我正在嘗試從網頁中復制一些數據,而我正在使用
window.getSelection().toString();
在大多數情況下都可以正常工作,但是如果有框架或精美網站,或者嘗試從Google hangout(在gmail內)進行復制,則不會復制該內容,因此我也嘗試了document.getSelection,但沒有運氣。 有人知道我們可以從網頁復制數據的任何其他方式嗎? 我的完整代碼是這樣
chrome.tabs.executeScript(tab.id, {code: 'var dataToSend;dataToSend= window.getSelection().toString(); ' +'chrome.runtime.sendMessage({ text: dataToSend });'});
任何幫助,不勝感激。
更新添加了一些最少的代碼來重新創建問題background.js
function genericOnClick(info, tab)
{
chrome.tabs.executeScript(tab.id, {
code: 'var dataToSend;dataToSend=\"\";dataToSend= window.getSelection().toString(); ' +
'chrome.runtime.sendMessage({ text: dataToSend });'
});
chrome.runtime.onMessage.addListener(function (msg) {
if (msg.text !== undefined) {
alert(msg.text);
}
});
}
var title = "My Menu";
chrome.contextMenus.create({"title": title, "contexts":["selection"],"onclick": genericOnClick});
manifest.json
{
"name" : "Test Copy",
"version" : "0.1",
"manifest_version" : 2,
"permissions" : [
"contextMenus",
"tabs",
"activeTab"
],
"background" : {
"scripts" : ["background.js"]
},
"content_scripts" : [{
"matches" : ["http://*/*", "https://*/*"],
"js" : ["background.js"],
"run_at" : "document_end",
"all_frames" : true
}]
}
它適用於大多數網站,不適用於帶有http://help.autodesk.com/cloudhelp/2015/ENU/Maya-Tech-Docs/CommandsPython/
chrome.tabs.query({
"active": true,
"currentWindow": true
}, function (tabs) {
chrome.tabs.sendMessage(tabs[0].id, {
"functiontoInvoke": "getSelectedDataFromPage"
});
});
chrome.runtime.onMessage.addListener(function (msg) {
if (msg.selText !== undefined && msg.selText != "") {
copyToNext(msg.selText);
}
});
從我的后台腳本到我發送的content_script以及我的內容腳本window.getSelection都可以工作,因為我們可以添加all_frame true,從而在任何地方都可以工作。
從Chrome 43開始,基於文檔 ,開發人員現在可以隨時使用'document.execCommand('copy')'和'document.execComand('cut')'以編程方式觸發復制和剪切操作。
您的應用程序/擴展名必須聲明剪貼板寫: https : //developer.chrome.com/extensions/permissions
操作完“ window.selection”以指向要復制的數據后,可以調用“ document.execCommand('copy')' 。
以下是有關操作方法的完整指南的鏈接: https : //developers.google.com/web/updates/2015/04/cut-and-copy-commands
注意 :復制是每個瀏覽器的安全限制。 如果允許任何網站獲取數據,這是一個安全漏洞。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.