Я использую сценарий содержимого для управления данными в DOM. Я успешно использовал document.execCommand('copy'); на всплывающей странице.
Сейчас я ищу способ заставить его работать над сценарием контента. Я проверил ограничения для скриптов содержимого здесь, но я не понимаю, ограничено ли управление буфером обмена или нет. Я также проверил ответы здесь - в stackoverflow, но кажется, что большинство из них неясны, а некоторые - несколько лет назад, поэтому могли быть изменения.
Даже если он ограничен, возможно ли какое-то обходное решение?
Спасибо!
Я публикую текущий сценарий, который у меня есть.
manifest.json
{
"name": "Page action by URL",
"version": "1.0",
"description": "Прибавка за обработка на данните от НБДН.",
"background": {
"scripts": ["background.js"],
"persistent": false
},
"page_action" :
{
"default_icon" : "icon-19.png",
"default_title" : "Приложение за НБД за PHP"
},
"permissions" : [
"clipboardWrite",
"clipboardRead",
"declarativeContent",
"activeTab",
"tabs",
"https://nbd.grao.government.bg/graoappshort/*"
],
"icons" : {
"48" : "icon-48.png",
"128" : "icon-128.png"
},
"manifest_version": 2
}
фон.js
chrome.runtime.onInstalled.addListener(function() {
// Replace all rules ...
chrome.declarativeContent.onPageChanged.removeRules(undefined, function() {
// With a new rule ...
chrome.declarativeContent.onPageChanged.addRules([
{
conditions: [
new chrome.declarativeContent.PageStateMatcher({
pageUrl: { urlContains: 'nbd.grao.government.bg/graoappshort/' },
})
],
actions: [ new chrome.declarativeContent.ShowPageAction() ]
}
]);
});
});
chrome.pageAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(null, {file: 'page-editor.js'});
chrome.tabs.insertCSS(null, {file: "style-inject.css"});
});
и функция внутри page-editor.js
function(){
var copyFrom = document.createElement("textarea");
copyFrom.textContent = PoleIME.value;
document.body.appendChild(copyFrom);
copyFrom.focus();
document.execCommand('SelectAll');
document.execCommand('Copy');
//document.body.removeChild(copyFrom);
}
tab.id
вместоnull
. - person Xan   schedule 02.09.2014PoleIME
? Он содержится в вашемpage-editor.js
или в собственном скрипте страницы? - person Xan   schedule 02.09.2014