Я пытаюсь разработать простое расширение для Chrome для отображения страницы из домена Google с ограничением CSP, во всплывающем окне, открываемом при нажатии.Какой самый простой способ встроить страницу?
На странице, которую я пытаюсь внедрить, есть Политика безопасности контента (CSP), которая запрещает frame-ancestors
, поэтому <iframe>
страницы не будет работать.В частности, страница представляет собой боковую панель задач Google: https://tasks.google.com/embed/?origin=https://mail.google.com&fullWidth=1
Базовая версия расширения будет выглядеть следующим образом:
manifest.json
{
"manifest_version": 2,
"name": "Google Tasks",
"version": "1.0",
"description": "",
"browser_action": {
"default_icon": "images/tasks-19x19.png",
"default_title": "Google Tasks",
"default_popup": "popup.html"
},
"permissions": [
"contextMenus",
"notifications",
"tabs",
"http://tasks.google.com/",
"http://mail.google.com/"
]
}
всплывающее окно.html
<!DOCTYPE html>
<html>
<body>
<iframe src="https://tasks.google.com/embed/?origin=https://mail.google.com&fullWidth=1"></iframe>
</body>
</html>
Этот пример приводит к этой ошибке в консоли (из-за CSP)
Refused to display 'https://tasks.google.com/embed/?origin=https://mail.google.com&fullWidth=1' in a frame because an ancestor violates the following Content Security Policy directive: "frame-ancestors https://mail.google.com".
Я понимаю, что мог перехватить CSP ( как указано )и перезаписать свойство frame-ancestors, но мне интересно, есть ли лучший способ встроить эту страницу, которую я пытаюсь вставить?