Когда я сделал расширение для загрузки Flash-игр, я не знал о contentSettings, все, что я делал, это открывал страницу при установке, которая подсказывала пользователю добавить разрешение вручную (нажмите кнопку, а затем вставьте что-нибудь встраница настроек Flash - chrome: // settings / content / flash).
Для копирования URL-адреса расширения Chrome в буфер обмена используется clipboard.js .
IЯ думаю, вы могли бы справиться с задачей намного лучше, чем я, и, вероятно, вы могли бы также сохранить в chrome.storage то, что пользователь делал или не переходил на страницу настроек флэш-памяти, чтобы вы могли контролировать альтернативный контент в вашем всплывающем окне.
//background.js
...
chrome.runtime.onInstalled.addListener(function(details) {
if (details.reason == 'install') {
chrome.tabs.create({active:true, url:'firstinstall/firstinstall.html'});
}
}
...
//firstinstall.html
...
<h3>There is just one thing you need to do to set this thing up</h3>
<p id="p1">When you click the button, <code id="ex"></code> will be copied to your clipboard</p>
<p id="p2">A new tab will open that will go to Chrome's flash settings page</p>
<p id="p3">All you need to do is <strong>click Add (next to Allow), paste(<code>Cmd+v</code>) in the URL and click Add</strong></p>
<br>
<label id="btn" class="btn" data-clipboard-target="#ex">Click me</label>
<br><br>
<h4>And that's it!</h4>
<p>Click the extension icon in the toolbar to get started</p>
<script src="../libraries/clipboard.min.js"></script>
<script src="firstinstall.js"></script>
//firstinstall.js
var z = document.querySelector('#ex');
z.innerText = chrome.runtime.getURL('/')
new ClipboardJS('.btn');
var y = document.querySelector('.btn');
y.addEventListener('click', function() {
chrome.tabs.create({active: true, url: 'chrome://settings/content/flash'});
}, false);